scipy.stats.betabinom#
- scipy.stats.betabinom = <scipy.stats._discrete_distns.betabinom_gen Objekt>[Quellcode]#
Eine diskrete Beta-Binomial-Zufallsvariable.
Als Instanz der Klasse
rv_discreteerbt das Objektbetabinomdavon eine Sammlung generischer Methoden (siehe unten für die vollständige Liste) und vervollständigt sie mit Details, die für diese spezielle Verteilung spezifisch sind.Methoden
rvs(n, a, b, loc=0, size=1, random_state=None)
Zufallsvariaten.
pmf(k, n, a, b, loc=0)
Wahrscheinlichkeitsmassenfunktion.
logpmf(k, n, a, b, loc=0)
Logarithmus der Wahrscheinlichkeitsmassenfunktion.
cdf(k, n, a, b, loc=0)
Kumulative Verteilungsfunktion.
logcdf(k, n, a, b, loc=0)
Logarithmus der kumulativen Verteilungsfunktion.
sf(k, n, a, b, loc=0)
Überlebensfunktion (auch definiert als
1 - cdf, aber sf ist manchmal genauer).logsf(k, n, a, b, loc=0)
Logarithmus der Überlebensfunktion.
ppf(q, n, a, b, loc=0)
Perzentilpunktfunktion (Umkehrung von
cdf— Perzentile).isf(q, n, a, b, loc=0)
Umgekehrte Überlebensfunktion (Umkehrung von
sf).stats(n, a, b, loc=0, moments=’mv’)
Mittelwert(‚m‘), Varianz(‚v‘), Schiefe(‚s‘) und/oder Kurtosis(‚k‘).
entropy(n, a, b, loc=0)
(Differential-)Entropie der RV.
expect(func, args=(n, a, b), loc=0, lb=None, ub=None, conditional=False)
Erwartungswert einer Funktion (einer Variablen) bezüglich der Verteilung.
median(n, a, b, loc=0)
Median der Verteilung.
mean(n, a, b, loc=0)
Mittelwert der Verteilung.
var(n, a, b, loc=0)
Varianz der Verteilung.
std(n, a, b, loc=0)
Standardabweichung der Verteilung.
interval(confidence, n, a, b, loc=0)
Konfidenzintervall mit gleichen Flächen um den Median.
Hinweise
Die Beta-Binomial-Verteilung ist eine Binomialverteilung mit einer Erfolgswahrscheinlichkeit p, die einer Beta-Verteilung folgt.
Die Wahrscheinlichkeitsmassenfunktion für
betabinomist\[f(k) = \binom{n}{k} \frac{B(k + a, n - k + b)}{B(a, b)}\]für \(k \in \{0, 1, \dots, n\}\), \(n \geq 0\), \(a > 0\), \(b > 0\), wobei \(B(a, b)\) die Beta-Funktion ist.
betabinomverwendet \(n\), \(a\) und \(b\) als Formparameter.Die obige Wahrscheinlichkeitsmassenfunktion ist in der „standardisierten“ Form definiert. Um die Verteilung zu verschieben, verwenden Sie den Parameter
loc. Insbesondere istbetabinom.pmf(k, n, a, b, loc)identisch mitbetabinom.pmf(k - loc, n, a, b).Referenzen
Hinzugefügt in Version 1.4.0.
Beispiele
>>> import numpy as np >>> from scipy.stats import betabinom >>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots(1, 1)
Ermitteln Sie den Träger (Support)
>>> n, a, b = 5, 2.3, 0.63 >>> lb, ub = betabinom.support(n, a, b)
Berechnen Sie die ersten vier Momente
>>> mean, var, skew, kurt = betabinom.stats(n, a, b, moments='mvsk')
Anzeigen der Wahrscheinlichkeitsmassenfunktion (
pmf)>>> x = np.arange(betabinom.ppf(0.01, n, a, b), ... betabinom.ppf(0.99, n, a, b)) >>> ax.plot(x, betabinom.pmf(x, n, a, b), 'bo', ms=8, label='betabinom pmf') >>> ax.vlines(x, 0, betabinom.pmf(x, n, a, b), 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 = betabinom(n, a, b) >>> 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 = betabinom.cdf(x, n, a, b) >>> np.allclose(x, betabinom.ppf(prob, n, a, b)) True
Generieren Sie Zufallszahlen
>>> r = betabinom.rvs(n, a, b, size=1000)