skewtest#
- scipy.stats.skewtest(a, axis=0, nan_policy='propagate', alternative='two-sided', *, keepdims=False)[Quelle]#
Test, ob die Schiefe von der Normalverteilung abweicht.
Diese Funktion testet die Nullhypothese, dass die Schiefe der Grundgesamtheit, aus der die Stichprobe gezogen wurde, gleich der einer entsprechenden Normalverteilung ist.
- Parameter:
- aArray
Die zu testenden Daten. Muss mindestens acht Beobachtungen enthalten.
- axisint oder None, Standard: 0
Wenn es sich um eine ganze Zahl handelt, ist dies die Achse des Eingabearrays, entlang der die Statistik berechnet wird. Die Statistik jedes Achsen-Slices (z. B. Zeile) der Eingabe erscheint dann in einem entsprechenden Element der Ausgabe. Wenn
None, wird die Eingabe vor der Berechnung der Statistik geglättet.- nan_policy{‘propagate’, ‘omit’, ‘raise’}
Definiert, wie Eingabe-NaNs behandelt werden.
propagate: Wenn ein NaN in der Achsen-Slice (z. B. Zeile) vorhanden ist, entlang der die Statistik berechnet wird, wird der entsprechende Eintrag der Ausgabe NaN sein.omit: NaNs werden bei der Berechnung weggelassen. Wenn im Achsen-Slice, entlang dem die Statistik berechnet wird, nicht genügend Daten verbleiben, wird der entsprechende Eintrag der Ausgabe NaN sein.raise: Wenn ein NaN vorhanden ist, wird einValueErrorausgelöst.
- alternative{‘zweiseitig’, ‘kleiner’, ‘größer’}, optional
Definiert die Alternativhypothese. Standard ist ‘zweiseitig’. Folgende Optionen sind verfügbar
‘zweiseitig’: die Schiefe der der Stichprobe zugrundeliegenden Verteilung unterscheidet sich von der der Normalverteilung (d. h. 0)
‘kleiner’: die Schiefe der der Stichprobe zugrundeliegenden Verteilung ist kleiner als die der Normalverteilung
‘größer’: die Schiefe der der Stichprobe zugrundeliegenden Verteilung ist größer als die der Normalverteilung
Hinzugefügt in Version 1.7.0.
- keepdimsbool, Standard: False
Wenn dies auf True gesetzt ist, bleiben die reduzierten Achsen im Ergebnis als Dimensionen mit der Größe eins erhalten. Mit dieser Option wird das Ergebnis korrekt gegen das Eingabearray gestreut (broadcasted).
- Rückgabe:
- statisticfloat
Der berechnete z-Wert für diesen Test.
- pvaluefloat
Der p-Wert für den Hypothesentest.
Siehe auch
- Schiefetest
Erweitertes Beispiel
Hinweise
Die Stichprobengröße muss mindestens 8 betragen.
Seit SciPy 1.9 werden
np.matrix-Eingaben (für neuen Code nicht empfohlen) vor der Berechnung innp.ndarraykonvertiert. In diesem Fall ist die Ausgabe eine Skalar- odernp.ndarraymit geeigneter Form anstelle eines 2D-np.matrix. Ebenso werden, während maskierte Elemente von Masked Arrays ignoriert werden, die Ausgabe eine Skalar- odernp.ndarrayanstelle eines Masked Arrays mitmask=Falsesein.skewtestbietet neben NumPy experimentelle Unterstützung für Backends, die dem Python Array API Standard entsprechen. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie die UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy, PyTorch, JAX oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
⚠️ kein JIT
⚠️ kein JIT
Dask
⚠️ berechnet Graph
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Referenzen
[1]R. B. D’Agostino, A. J. Belanger und R. B. D’Agostino Jr., „A suggestion for using powerful and informative tests of normality“, American Statistician 44, S. 316-321, 1990.
Beispiele
>>> from scipy.stats import skewtest >>> skewtest([1, 2, 3, 4, 5, 6, 7, 8]) SkewtestResult(statistic=1.0108048609177787, pvalue=0.3121098361421897) >>> skewtest([2, 8, 0, 4, 1, 9, 9, 0]) SkewtestResult(statistic=0.44626385374196975, pvalue=0.6554066631275459) >>> skewtest([1, 2, 3, 4, 5, 6, 7, 8000]) SkewtestResult(statistic=3.571773510360407, pvalue=0.0003545719905823133) >>> skewtest([100, 100, 100, 100, 100, 100, 100, 101]) SkewtestResult(statistic=3.5717766638478072, pvalue=0.000354567720281634) >>> skewtest([1, 2, 3, 4, 5, 6, 7, 8], alternative='less') SkewtestResult(statistic=1.0108048609177787, pvalue=0.8439450819289052) >>> skewtest([1, 2, 3, 4, 5, 6, 7, 8], alternative='greater') SkewtestResult(statistic=1.0108048609177787, pvalue=0.15605491807109484)
Ein detaillierteres Beispiel finden Sie unter Schiefe-Test.