ranksums#
- scipy.stats.ranksums(x, y, alternative='two-sided', *, axis=0, nan_policy='propagate', keepdims=False)[Quelle]#
Berechnet die Wilcoxon-Rangsummen-Statistik für zwei Stichproben.
Der Wilcoxon-Rangsummen-Test prüft die Nullhypothese, dass zwei Messsätze aus derselben Verteilung stammen. Die Alternativhypothese besagt, dass Werte in einer Stichprobe eher größer sind als die Werte in der anderen Stichprobe.
Dieser Test sollte zum Vergleich zweier Stichproben aus kontinuierlichen Verteilungen verwendet werden. Er behandelt keine Gleichstände zwischen Messungen in x und y. Für die Behandlung von Gleichständen und eine optionale Stetigkeitskorrektur siehe
scipy.stats.mannwhitneyu.- Parameter:
- x,yarray_like
Die Daten aus den beiden Stichproben.
- alternative{‘zweiseitig’, ‘kleiner’, ‘größer’}, optional
Definiert die Alternativhypothese. Standard ist ‘zweiseitig’. Folgende Optionen sind verfügbar
‘two-sided’: eine der Verteilungen (unterliegend x oder y) ist stochastisch größer als die andere.
‘less’: die Verteilung unterliegend x ist stochastisch kleiner als die Verteilung unterliegend y.
‘greater’: die Verteilung unterliegend x ist stochastisch größer als die Verteilung unterliegend y.
Hinzugefügt in Version 1.7.0.
- 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.
- 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
Die Teststatistik unter der Annahme großer Stichproben, dass die Rangsummen-Statistik normalverteilt ist.
- pvaluefloat
Der p-Wert des Tests.
Hinweise
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.Referenzen
Beispiele
Wir können die Hypothese testen, dass zwei unabhängige Stichproben ungleicher Größe aus derselben Verteilung gezogen werden, indem wir die Wilcoxon-Rangsummen-Statistik berechnen.
>>> import numpy as np >>> from scipy.stats import ranksums >>> rng = np.random.default_rng() >>> sample1 = rng.uniform(-1, 1, 200) >>> sample2 = rng.uniform(-0.5, 1.5, 300) # a shifted distribution >>> ranksums(sample1, sample2) RanksumsResult(statistic=-7.887059, pvalue=3.09390448e-15) # may vary >>> ranksums(sample1, sample2, alternative='less') RanksumsResult(statistic=-7.750585297581713, pvalue=4.573497606342543e-15) # may vary >>> ranksums(sample1, sample2, alternative='greater') RanksumsResult(statistic=-7.750585297581713, pvalue=0.9999999999999954) # may vary
Der p-Wert von weniger als
0.05zeigt an, dass dieser Test die Hypothese auf dem 5%-Signifikanzniveau ablehnt.