scipy.stats.moyal#
- scipy.stats.moyal = <scipy.stats._continuous_distns.moyal_gen object>[Quelle]#
Eine kontinuierliche Zufallsvariable vom Moyal-Typ.
Als Instanz der Klasse
rv_continuouserbt das Objektmoyaleine Sammlung allgemeiner Methoden (siehe unten für die vollständige Liste) und ergänzt diese um spezifische Details für diese spezielle Verteilung.Methoden
rvs(loc=0, scale=1, size=1, random_state=None)
Zufallsvariaten.
pdf(x, loc=0, scale=1)
Wahrscheinlichkeitsdichtefunktion.
logpdf(x, loc=0, scale=1)
Logarithmus der Wahrscheinlichkeitsdichtefunktion.
cdf(x, loc=0, scale=1)
Kumulative Verteilungsfunktion.
logcdf(x, loc=0, scale=1)
Logarithmus der kumulativen Verteilungsfunktion.
sf(x, loc=0, scale=1)
Überlebensfunktion (auch definiert als
1 - cdf, aber sf ist manchmal genauer).logsf(x, loc=0, scale=1)
Logarithmus der Überlebensfunktion.
ppf(q, loc=0, scale=1)
Perzentilpunktfunktion (Umkehrung von
cdf— Perzentile).isf(q, loc=0, scale=1)
Umgekehrte Überlebensfunktion (Umkehrung von
sf).moment(order, loc=0, scale=1)
Nichtzentrales Moment der angegebenen Ordnung.
stats(loc=0, scale=1, moments=’mv’)
Mittelwert(‚m‘), Varianz(‚v‘), Schiefe(‚s‘) und/oder Kurtosis(‚k‘).
entropy(loc=0, scale=1)
(Differential-)Entropie der RV.
fit(data)
Parameterschätzungen für generische Daten. Siehe scipy.stats.rv_continuous.fit für eine detaillierte Dokumentation der Schlüsselwortargumente.
expect(func, args=(), loc=0, scale=1, lb=None, ub=None, conditional=False, **kwds)
Erwartungswert einer Funktion (einer Variablen) bezüglich der Verteilung.
median(loc=0, scale=1)
Median der Verteilung.
mean(loc=0, scale=1)
Mittelwert der Verteilung.
var(loc=0, scale=1)
Varianz der Verteilung.
std(loc=0, scale=1)
Standardabweichung der Verteilung.
interval(confidence, loc=0, scale=1)
Konfidenzintervall mit gleichen Flächen um den Median.
Hinweise
Die Wahrscheinlichkeitsdichtefunktion für
moyalist\[f(x) = \exp(-(x + \exp(-x))/2) / \sqrt{2\pi}\]für eine reelle Zahl \(x\).
Die obige Wahrscheinlichkeitsdichte ist in der "standardisierten" Form definiert. Um die Verteilung zu verschieben und/oder zu skalieren, verwenden Sie die Parameter
locundscale. Speziell istmoyal.pdf(x, loc, scale)identisch gleichmoyal.pdf(y) / scalemity = (x - loc) / scale. Beachten Sie, dass das Verschieben des Ortes einer Verteilung diese nicht zu einer "nicht-zentralen" Verteilung macht; nicht-zentrale Verallgemeinerungen einiger Verteilungen sind in separaten Klassen verfügbar.Diese Verteilung ist nützlich in der Hochenergiephysik und der Strahlungsdetektion. Sie beschreibt den Energieverlust eines geladenen relativistischen Teilchens aufgrund von Ionisation des Mediums [1]. Sie bietet auch eine Annäherung an die Landau-Verteilung. Eine eingehende Beschreibung finden Sie unter [2]. Weitere Beschreibungen finden Sie unter [3].
Referenzen
[1]J.E. Moyal, „XXX. Theory of ionization fluctuations“, The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science, Bd. 46, 263-280, (1955). DOI:10.1080/14786440308521076 (gated)
[2]G. Cordeiro et al., „The beta Moyal: a useful skew distribution“, International Journal of Research and Reviews in Applied Sciences, Bd. 10, 171-192, (2012). http://www.arpapress.com/Volumes/Vol10Issue2/IJRRAS_10_2_02.pdf
[3]C. Walck, „Handbook on Statistical Distributions for Experimentalists; International Report SUF-PFY/96-01“, Kapitel 26, Universität Stockholm: Stockholm, Schweden, (2007). http://www.stat.rice.edu/~dobelman/textfiles/DistributionsHandbook.pdf
Hinzugefügt in Version 1.1.0.
Beispiele
>>> import numpy as np >>> from scipy.stats import moyal >>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots(1, 1)
Ermitteln Sie den Träger (Support)
>>> lb, ub = moyal.support()
Berechnen Sie die ersten vier Momente
>>> mean, var, skew, kurt = moyal.stats(moments='mvsk')
Zeigen Sie die Wahrscheinlichkeitsdichtefunktion (
pdf) an>>> x = np.linspace(moyal.ppf(0.01), ... moyal.ppf(0.99), 100) >>> ax.plot(x, moyal.pdf(x), ... 'r-', lw=5, alpha=0.6, label='moyal pdf')
Alternativ kann das Verteilungsobjekt (als Funktion) aufgerufen werden, um die Form-, Orts- und Skalierungsparameter festzulegen. Dies gibt ein „eingefrorenes“ RV-Objekt zurück, das die angegebenen Parameter beibehält.
Frieren Sie die Verteilung ein und zeigen Sie die eingefrorene
pdfan>>> rv = moyal() >>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf')
Überprüfen Sie die Genauigkeit von
cdfundppf>>> vals = moyal.ppf([0.001, 0.5, 0.999]) >>> np.allclose([0.001, 0.5, 0.999], moyal.cdf(vals)) True
Generieren Sie Zufallszahlen
>>> r = moyal.rvs(size=1000)
Und vergleichen Sie das Histogramm
>>> ax.hist(r, density=True, bins='auto', histtype='stepfilled', alpha=0.2) >>> ax.set_xlim([x[0], x[-1]]) >>> ax.legend(loc='best', frameon=False) >>> plt.show()