scipy.stats.kstwobign#

scipy.stats.kstwobign = <scipy.stats._continuous_distns.kstwobign_gen object>[Quelle]#

Grenzverteilung der skalierten zweiseitigen Kolmogorov-Smirnov-Teststatistik.

Dies ist die asymptotische Verteilung der zweiseitigen Kolmogorov-Smirnov-Statistik \(\sqrt{n} D_n\), die den maximalen absoluten Abstand der theoretischen (kontinuierlichen) CDF von der empirischen CDF misst. (siehe kstest).

Als Instanz der Klasse rv_continuous erbt das Objekt kstwobign von dieser eine Sammlung allgemeiner Methoden (siehe unten für die vollständige Liste) und vervollständigt sie mit Details, die spezifisch für diese spezielle Verteilung sind.

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.

Siehe auch

ksone, kstwo, kstest

Hinweise

\(\sqrt{n} D_n\) ist gegeben durch

\[D_n = \text{sup}_x |F_n(x) - F(x)|\]

wobei \(F\) eine kontinuierliche CDF und \(F_n\) eine empirische CDF ist. kstwobign beschreibt die asymptotische Verteilung (d. h. den Grenzwert von \(\sqrt{n} D_n\)) unter der Nullhypothese des KS-Tests, dass die empirische CDF mit i.i.d. Zufallsvariaten mit CDF \(F\) übereinstimmt.

Die Wahrscheinlichkeitsdichte ist im „standardisierten“ Format definiert. Um die Verteilung zu verschieben und/oder zu skalieren, verwenden Sie die Parameter loc und scale. Insbesondere ist kstwobign.pdf(x, loc, scale) identisch äquivalent zu kstwobign.pdf(y) / scale mit y = (x - loc) / scale. Beachten Sie, dass das Verschieben des Ortes einer Verteilung keine „nichtzentrale“ Verteilung ergibt; nichtzentrale Verallgemeinerungen einiger Verteilungen sind in separaten Klassen verfügbar.

Referenzen

[1]

Feller, W. „On the Kolmogorov-Smirnov Limit Theorems for Empirical Distributions“, Ann. Math. Statist. Vol 19, 177-189 (1948).

Beispiele

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

Ermitteln Sie den Träger (Support)

>>> lb, ub = kstwobign.support()

Berechnen Sie die ersten vier Momente

>>> mean, var, skew, kurt = kstwobign.stats(moments='mvsk')

Zeigen Sie die Wahrscheinlichkeitsdichtefunktion (pdf) an

>>> x = np.linspace(kstwobign.ppf(0.01),
...                 kstwobign.ppf(0.99), 100)
>>> ax.plot(x, kstwobign.pdf(x),
...        'r-', lw=5, alpha=0.6, label='kstwobign 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 pdf an

>>> rv = kstwobign()
>>> ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf')

Überprüfen Sie die Genauigkeit von cdf und ppf

>>> vals = kstwobign.ppf([0.001, 0.5, 0.999])
>>> np.allclose([0.001, 0.5, 0.999], kstwobign.cdf(vals))
True

Generieren Sie Zufallszahlen

>>> r = kstwobign.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()
../../_images/scipy-stats-kstwobign-1.png