scipy.stats.Binomial.

sample#

Binomial.sample(shape=(), *, method=None, rng=None)[Quelle]#

Zufällige Stichprobe aus der Verteilung.

Parameter:
shapetuple von ints, Standard: ()

Die Form der zu ziehenden Stichprobe. Wenn die Parameter der Verteilung, die die Zufallsvariable zugrunde liegen, Arrays der Form param_shape sind, hat das Ausgabearray die Form shape + param_shape.

method{None, ‘formula’, ‘inverse_transform’}

Die Strategie zur Erzeugung der Stichprobe. Standardmäßig (None) wählt die Infrastruktur aus den folgenden Optionen, in der Reihenfolge der Priorität.

  • 'formula': eine spezifische Implementierung für die Verteilung

  • 'inverse_transform': Erzeugt eine gleichverteilte Stichprobe und gibt die inverse CDF für diese Argumente zurück.

Nicht alle method-Optionen sind für alle Verteilungen verfügbar. Wenn die ausgewählte method nicht verfügbar ist, wird ein NotImplementedError` ausgelöst.

rngnumpy.random.Generator oder scipy.stats.QMCEngine, optional

Zustand des Pseudo- oder Quasi-Zufallszahlengenerators. Wenn rng None ist, wird ein neuer numpy.random.Generator unter Verwendung von Entropie aus dem Betriebssystem erstellt. Typen außer numpy.random.Generator und scipy.stats.QMCEngine werden an numpy.random.default_rng übergeben, um einen Generator zu instanziieren.

Wenn rng eine Instanz von scipy.stats.QMCEngine ist, die für die Verwendung von Scrambling konfiguriert ist, und shape nicht leer ist, dann ist jeder Slice entlang der nullten Achse des Ergebnisses eine „quasi-unabhängige“ Folge mit geringer Diskrepanz; das heißt, es handelt sich um verschiedene Sequenzen, die für die meisten praktischen Zwecke als statistisch unabhängig behandelt werden können. Separate Aufrufe von sample erzeugen neue quasi-unabhängige Folgen mit geringer Diskrepanz.

Referenzen

[1]

Stichprobenentnahme (Statistik), Wikipedia, https://en.wikipedia.org/wiki/Sampling_(statistics)

Beispiele

Instanziieren Sie eine Verteilung mit den gewünschten Parametern

>>> import numpy as np
>>> from scipy import stats
>>> X = stats.Uniform(a=0., b=1.)

Erzeugt eine Pseudozufallsstichprobe

>>> x = X.sample((1000, 1))
>>> octiles = (np.arange(8) + 1) / 8
>>> np.count_nonzero(x <= octiles, axis=0)
array([ 148,  263,  387,  516,  636,  751,  865, 1000])  # may vary
>>> X = stats.Uniform(a=np.zeros((3, 1)), b=np.ones(2))
>>> X.a.shape,
(3, 2)
>>> x = X.sample(shape=(5, 4))
>>> x.shape
(5, 4, 3, 2)