scipy.stats.nchypergeom_wallenius#
- scipy.stats.nchypergeom_wallenius = <scipy.stats._discrete_distns.nchypergeom_wallenius_gen Objekt>[Quelle]#
Eine diskrete Zufallsvariable der nichtzentralen hypergeometrischen Verteilung nach Wallenius.
Die nichtzentrale hypergeometrische Verteilung nach Wallenius modelliert das Ziehen von Objekten zweier Typen aus einer Urne. M ist die Gesamtzahl der Objekte, n ist die Anzahl der Objekte vom Typ I und odds ist das Chancenverhältnis: die Chancen, ein Objekt vom Typ I anstelle eines Objekts vom Typ II auszuwählen, wenn nur ein Objekt jedes Typs vorhanden ist. Die Zufallsvariable repräsentiert die Anzahl der gezogenen Objekte vom Typ I, wenn wir eine vordefinierte Anzahl von N Objekten nacheinander aus einer Urne ziehen.
Als Instanz der Klasse
rv_discreteerbtnchypergeom_walleniusvon ihr eine Sammlung allgemeiner Methoden (siehe unten für die vollständige Liste) und vervollständigt diese mit Details, die für diese spezielle Verteilung spezifisch sind.Methoden
rvs(M, n, N, odds, loc=0, size=1, random_state=None)
Zufallsvariaten.
pmf(k, M, n, N, odds, loc=0)
Wahrscheinlichkeitsmassenfunktion.
logpmf(k, M, n, N, odds, loc=0)
Logarithmus der Wahrscheinlichkeitsmassenfunktion.
cdf(k, M, n, N, odds, loc=0)
Kumulative Verteilungsfunktion.
logcdf(k, M, n, N, odds, loc=0)
Logarithmus der kumulativen Verteilungsfunktion.
sf(k, M, n, N, odds, loc=0)
Überlebensfunktion (auch definiert als
1 - cdf, aber sf ist manchmal genauer).logsf(k, M, n, N, odds, loc=0)
Logarithmus der Überlebensfunktion.
ppf(q, M, n, N, odds, loc=0)
Perzentilpunktfunktion (Umkehrung von
cdf— Perzentile).isf(q, M, n, N, odds, loc=0)
Umgekehrte Überlebensfunktion (Umkehrung von
sf).stats(M, n, N, odds, loc=0, moments=’mv’)
Mittelwert(‚m‘), Varianz(‚v‘), Schiefe(‚s‘) und/oder Kurtosis(‚k‘).
entropy(M, n, N, odds, loc=0)
(Differential-)Entropie der RV.
expect(func, args=(M, n, N, odds), loc=0, lb=None, ub=None, conditional=False)
Erwartungswert einer Funktion (einer Variablen) bezüglich der Verteilung.
median(M, n, N, odds, loc=0)
Median der Verteilung.
mean(M, n, N, odds, loc=0)
Mittelwert der Verteilung.
var(M, n, N, odds, loc=0)
Varianz der Verteilung.
std(M, n, N, odds, loc=0)
Standardabweichung der Verteilung.
interval(confidence, M, n, N, odds, loc=0)
Konfidenzintervall mit gleichen Flächen um den Median.
Siehe auch
Hinweise
Lassen Sie die mathematischen Symbole \(N\), \(n\) und \(M\) mit den Parametern N, n und M (jeweils) wie oben definiert korrespondieren.
Die Wahrscheinlichkeitsmassenfunktion ist definiert als
\[p(x; N, n, M) = \binom{n}{x} \binom{M - n}{N-x} \int_0^1 \left(1-t^{\omega/D}\right)^x\left(1-t^{1/D}\right)^{N-x} dt\]für \(x \in [x_l, x_u]\), \(M \in {\mathbb N}\), \(n \in [0, M]\), \(N \in [0, M]\), \(\omega > 0\), wobei \(x_l = \max(0, N - (M - n))\), \(x_u = \min(N, n)\),
\[D = \omega(n - x) + ((M - n)-(N-x)),\]und die Binomialkoeffizienten sind definiert als
\[\binom{n}{k} \equiv \frac{n!}{k! (n - k)!}.\]nchypergeom_walleniusverwendet das BiasedUrn-Paket von Agner Fog mit Erlaubnis zur Verteilung unter der Lizenz von SciPy.Die zur Bezeichnung der Formparameter (N, n und M) verwendeten Symbole sind nicht universell akzeptiert; sie wurden gewählt, um mit
hypergeomkonsistent zu sein.Beachten Sie, dass die nichtzentrale hypergeometrische Verteilung nach Wallenius sich von der nichtzentralen hypergeometrischen Verteilung nach Fisher unterscheidet, welche das Ziehen einer Handvoll Objekte gleichzeitig aus der Urne modelliert und danach feststellt, dass N Objekte gezogen wurden. Wenn das Chancenverhältnis eins ist, reduzieren sich jedoch beide Verteilungen auf die gewöhnliche hypergeometrische Verteilung.
Die obige Wahrscheinlichkeitsmassenfunktion ist in der "standardisierten" Form definiert. Zur Verschiebung der Verteilung verwenden Sie den Parameter
loc. Insbesondere istnchypergeom_wallenius.pmf(k, M, n, N, odds, loc)identisch äquivalent zunchypergeom_wallenius.pmf(k - loc, M, n, N, odds).Referenzen
[1]Agner Fog, "Biased Urn Theory". https://cran.r-project.org/web/packages/BiasedUrn/vignettes/UrnTheory.pdf
[2]„Wallenius’ noncentral hypergeometric distribution“, Wikipedia, https://en.wikipedia.org/wiki/Wallenius’_noncentral_hypergeometric_distribution
Beispiele
>>> import numpy as np >>> from scipy.stats import nchypergeom_wallenius >>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots(1, 1)
Ermitteln Sie den Träger (Support)
>>> M, n, N, odds = 140, 80, 60, 0.5 >>> lb, ub = nchypergeom_wallenius.support(M, n, N, odds)
Berechnen Sie die ersten vier Momente
>>> mean, var, skew, kurt = nchypergeom_wallenius.stats(M, n, N, odds, moments='mvsk')
Anzeigen der Wahrscheinlichkeitsmassenfunktion (
pmf)>>> x = np.arange(nchypergeom_wallenius.ppf(0.01, M, n, N, odds), ... nchypergeom_wallenius.ppf(0.99, M, n, N, odds)) >>> ax.plot(x, nchypergeom_wallenius.pmf(x, M, n, N, odds), 'bo', ms=8, label='nchypergeom_wallenius pmf') >>> ax.vlines(x, 0, nchypergeom_wallenius.pmf(x, M, n, N, odds), colors='b', lw=5, alpha=0.5)
Alternativ kann das Verteilungsobjekt (als Funktion) aufgerufen werden, um die Form und den Ort festzulegen. Dies gibt ein „eingefrorenes“ RV-Objekt zurück, das die angegebenen Parameter beibehält.
Die Verteilung einfrieren und die eingefrorene
pmfanzeigen>>> rv = nchypergeom_wallenius(M, n, N, odds) >>> ax.vlines(x, 0, rv.pmf(x), colors='k', linestyles='-', lw=1, ... label='frozen pmf') >>> ax.legend(loc='best', frameon=False) >>> plt.show()
Überprüfen Sie die Genauigkeit von
cdfundppf>>> prob = nchypergeom_wallenius.cdf(x, M, n, N, odds) >>> np.allclose(x, nchypergeom_wallenius.ppf(prob, M, n, N, odds)) True
Generieren Sie Zufallszahlen
>>> r = nchypergeom_wallenius.rvs(M, n, N, odds, size=1000)