scipy.stats.Mixture.

sample#

Mischung.sample(form=(), *, rng=None, methode=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

Pseudo- oder quasi-zufälliger Generatorzustand. Wenn rng None ist, wird ein neuer numpy.random.Generator mit 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 zur Verwendung von Scrambling konfiguriert ist, und form nicht leer ist, dann ist jeder Slice entlang der nullten Achse des Ergebnisses eine „quasi-unabhängige“ Sequenz mit geringer Diskretion; das heißt, es sind unterschiedliche 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 Sequenzen mit geringer Diskretion.

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)