scipy.stats.

anderson#

scipy.stats.anderson(x, dist='norm')[Quelle]#

Anderson-Darling-Test für Daten, die aus einer bestimmten Verteilung stammen.

Der Anderson-Darling-Test prüft die Nullhypothese, dass eine Stichprobe aus einer Grundgesamtheit stammt, die einer bestimmten Verteilung folgt. Für den Anderson-Darling-Test hängen die kritischen Werte davon ab, gegen welche Verteilung getestet wird. Diese Funktion funktioniert für die Verteilungen Normal, Exponential, Logistisch, Weibull_min oder Gumbel (Extremwert Typ I).

Parameter:
xarray_like

Array von Stichprobendaten.

dist{‘norm’, ‘expon’, ‘logistic’, ‘gumbel’, ‘gumbel_l’, ‘gumbel_r’, ‘extreme1’, ‘weibull_min’}, optional

Der Typ der zu testenden Verteilung. Standard ist ‘norm’. Die Namen ‘extreme1’, ‘gumbel_l’ und ‘gumbel’ sind Synonyme für dieselbe Verteilung.

Rückgabe:
resultAndersonResult

Ein Objekt mit den folgenden Attributen

statisticfloat

Die Anderson-Darling-Teststatistik.

critical_valueslist

Die kritischen Werte für diese Verteilung.

significance_levellist

Die Signifikanzniveaus für die entsprechenden kritischen Werte in Prozent. Die Funktion gibt kritische Werte für unterschiedliche Signifikanzniveaus zurück, abhängig von der getesteten Verteilung.

fit_resultFitResult

Ein Objekt, das die Ergebnisse der Anpassung der Verteilung an die Daten enthält.

Siehe auch

kstest

Der Kolmogorov-Smirnov-Test auf Güte der Anpassung.

Hinweise

Die angegebenen kritischen Werte gelten für die folgenden Signifikanzniveaus

Normal/Exponential

15%, 10%, 5%, 2.5%, 1%

Logistisch

25%, 10%, 5%, 2.5%, 1%, 0.5%

Gumbel_l / Gumbel_r

25%, 10%, 5%, 2.5%, 1%

weibull_min

50%, 25%, 15%, 10%, 5%, 2.5%, 1%, 0.5%

Wenn die zurückgegebene Statistik größer ist als diese kritischen Werte für das entsprechende Signifikanzniveau, kann die Nullhypothese, dass die Daten aus der gewählten Verteilung stammen, verworfen werden. Die zurückgegebene Statistik wird in den Referenzen als ‘A2’ bezeichnet.

Für weibull_min ist die Maximum-Likelihood-Schätzung bekanntermaßen anspruchsvoll. Wenn der Test erfolgreich verläuft, sind die Bedingungen erster Ordnung für eine Maximum-Likelihood-Schätzung verifiziert und die kritischen Werte entsprechen relativ gut den Signifikanzniveaus, vorausgesetzt, die Stichprobe ist ausreichend groß (>10 Beobachtungen [7]). Bei manchen Daten – insbesondere bei Daten ohne linken Ausreißer – wird anderson wahrscheinlich eine Fehlermeldung ausgeben. In diesem Fall sollten Sie einen benutzerdefinierten Güte-der-Anpassung-Test mit scipy.stats.monte_carlo_test in Betracht ziehen.

Referenzen

[2]

Stephens, M. A. (1974). EDF Statistics for Goodness of Fit and Some Comparisons, Journal of the American Statistical Association, Vol. 69, pp. 730-737.

[3]

Stephens, M. A. (1976). Asymptotic Results for Goodness-of-Fit Statistics with Unknown Parameters, Annals of Statistics, Vol. 4, pp. 357-369.

[4]

Stephens, M. A. (1977). Goodness of Fit for the Extreme Value Distribution, Biometrika, Vol. 64, pp. 583-588.

[5]

Stephens, M. A. (1977). Goodness of Fit with Special Reference to Tests for Exponentiality , Technical Report No. 262, Department of Statistics, Stanford University, Stanford, CA.

[6]

Stephens, M. A. (1979). Tests of Fit for the Logistic Distribution Based on the Empirical Distribution Function, Biometrika, Vol. 66, pp. 591-595.

[7]

Richard A. Lockhart und Michael A. Stephens „Estimation and Tests of Fit for the Three-Parameter Weibull Distribution“ Journal of the Royal Statistical Society.Series B(Methodological) Vol. 56, No. 3 (1994), pp. 491-500, Tabelle 0.

Beispiele

Testen Sie die Nullhypothese, dass eine Zufallsstichprobe aus einer Normalverteilung (mit unbekanntem Mittelwert und unbekannter Standardabweichung) gezogen wurde.

>>> import numpy as np
>>> from scipy.stats import anderson
>>> rng = np.random.default_rng()
>>> data = rng.random(size=35)
>>> res = anderson(data)
>>> res.statistic
0.8398018749744764
>>> res.critical_values
array([0.527, 0.6  , 0.719, 0.839, 0.998])
>>> res.significance_level
array([15. , 10. ,  5. ,  2.5,  1. ])

Der Wert der Statistik überschreitet (knapp) den kritischen Wert, der einem Signifikanzniveau von 2,5% zugeordnet ist, sodass die Nullhypothese bei einem Signifikanzniveau von 2,5%, aber nicht bei einem Signifikanzniveau von 1% verworfen werden kann.