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_result
FitResult Ein Objekt, das die Ergebnisse der Anpassung der Verteilung an die Daten enthält.
Siehe auch
kstestDer 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_minist 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 – wirdandersonwahrscheinlich eine Fehlermeldung ausgeben. In diesem Fall sollten Sie einen benutzerdefinierten Güte-der-Anpassung-Test mitscipy.stats.monte_carlo_testin 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.