scipy.stats.randint#

scipy.stats.randint = <scipy.stats._discrete_distns.randint_gen Objekt>[Quelle]#

Eine gleichmäßige diskrete Zufallsvariable.

Als Instanz der Klasse rv_discrete erbt randint von dieser eine Sammlung allgemeiner 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(low, high, loc=0, size=1, random_state=None)

Zufallsvariaten.

pmf(k, low, high, loc=0)

Wahrscheinlichkeitsmassenfunktion.

logpmf(k, low, high, loc=0)

Logarithmus der Wahrscheinlichkeitsmassenfunktion.

cdf(k, low, high, loc=0)

Kumulative Verteilungsfunktion.

logcdf(k, low, high, loc=0)

Logarithmus der kumulativen Verteilungsfunktion.

sf(k, low, high, loc=0)

Überlebensfunktion (auch definiert als 1 - cdf, aber sf ist manchmal genauer).

logsf(k, low, high, loc=0)

Logarithmus der Überlebensfunktion.

ppf(q, low, high, loc=0)

Perzentilpunktfunktion (Umkehrung von cdf — Perzentile).

isf(q, low, high, loc=0)

Umgekehrte Überlebensfunktion (Umkehrung von sf).

stats(low, high, loc=0, moments=’mv’)

Mittelwert(‚m‘), Varianz(‚v‘), Schiefe(‚s‘) und/oder Kurtosis(‚k‘).

entropy(low, high, loc=0)

(Differential-)Entropie der RV.

expect(func, args=(low, high), loc=0, lb=None, ub=None, conditional=False)

Erwartungswert einer Funktion (einer Variablen) bezüglich der Verteilung.

median(low, high, loc=0)

Median der Verteilung.

mean(low, high, loc=0)

Mittelwert der Verteilung.

var(low, high, loc=0)

Varianz der Verteilung.

std(low, high, loc=0)

Standardabweichung der Verteilung.

interval(confidence, low, high, loc=0)

Konfidenzintervall mit gleichen Flächen um den Median.

Hinweise

Die Wahrscheinlichkeitsmassenfunktion für randint ist

\[f(k) = \frac{1}{\texttt{high} - \texttt{low}}\]

für \(k \in \{\texttt{low}, \dots, \texttt{high} - 1\}\).

randint nimmt \(\texttt{low}\) und \(\texttt{high}\) als Formparameter.

Die obige Wahrscheinlichkeitsmassenfunktion ist in der „standardisierten“ Form definiert. Um die Verteilung zu verschieben, verwenden Sie den Parameter loc. Speziell ist randint.pmf(k, low, high, loc) identisch äquivalent zu randint.pmf(k - loc, low, high).

Beispiele

>>> import numpy as np
>>> from scipy.stats import randint
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots(1, 1)

Berechnen Sie die ersten vier Momente

>>> low, high = 7, 31
>>> mean, var, skew, kurt = randint.stats(low, high, moments='mvsk')

Anzeigen der Wahrscheinlichkeitsmassenfunktion (pmf)

>>> x = np.arange(low - 5, high + 5)
>>> ax.plot(x, randint.pmf(x, low, high), 'bo', ms=8, label='randint pmf')
>>> ax.vlines(x, 0, randint.pmf(x, low, high), 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 pmf anzeigen

>>> rv = randint(low, high)
>>> ax.vlines(x, 0, rv.pmf(x), colors='k', linestyles='-',
...           lw=1, label='frozen pmf')
>>> ax.legend(loc='lower center')
>>> plt.show()
../../_images/scipy-stats-randint-1_00_00.png

Überprüfen Sie die Beziehung zwischen der kumulativen Verteilungsfunktion (cdf) und ihrer Umkehrfunktion, der Perzentilpunktfunktion (ppf)

>>> q = np.arange(low, high)
>>> p = randint.cdf(q, low, high)
>>> np.allclose(q, randint.ppf(p, low, high))
True

Generieren Sie Zufallszahlen

>>> r = randint.rvs(low, high, size=1000)