brunnermunzel#
- scipy.stats.brunnermunzel(x, y, alternative='two-sided', distribution='t', nan_policy='propagate', *, axis=0, keepdims=False)[Quellcode]#
Berechnet den Brunner-Munzel-Test für die Stichproben x und y.
Der Brunner-Munzel-Test ist ein nichtparametrischer Test der Nullhypothese, dass bei paarweiser Entnahme von Werten aus beiden Gruppen die Wahrscheinlichkeit, in beiden Gruppen große Werte zu erhalten, gleich ist. Im Gegensatz zum Wilcoxon-Mann-Whitney-U-Test erfordert dieser keine Annahme der Äquivarianz der beiden Gruppen. Beachten Sie, dass dies nicht davon ausgeht, dass die Verteilungen gleich sind. Dieser Test arbeitet mit zwei unabhängigen Stichproben, die unterschiedliche Größen haben können.
- Parameter:
- x, yarray_like
Array von Stichproben, sollte eindimensional sein.
- alternative{‘zweiseitig’, ‘kleiner’, ‘größer’}, optional
Definiert die alternative Hypothese. Die folgenden Optionen sind verfügbar (Standard ist ‚two-sided‘)
‘two-sided’
‘less’: einseitig
‘greater’: einseitig
- distribution{‘t’, ‘normal’}, optional
Definiert, wie der p-Wert ermittelt wird. Folgende Optionen sind verfügbar (Standard ist ‘t’)
‘t’: p-Wert mittels t-Verteilung ermitteln
‘normal’: p-Wert mittels Standardnormalverteilung ermitteln.
- 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.
- 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.- 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 Brunner-Munzer W-Statistik.
- pvaluefloat
p-Wert unter Annahme einer t-Verteilung. Einseitig oder zweiseitig, abhängig von der Wahl von alternative und distribution.
Siehe auch
mannwhitneyuMann-Whitney-Rangtest für zwei Stichproben.
Hinweise
Brunner und Munzel empfehlen die Schätzung des p-Wertes mittels t-Verteilung, wenn die Datengröße 50 oder kleiner ist. Wenn die Größe kleiner als 10 ist, wäre es besser, den permuted Brunner Munzel Test zu verwenden (siehe [2]).
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
[1]Brunner, E. und Munzel, U. „The nonparametric Benhrens-Fisher problem: Asymptotic theory and a small-sample approximation“. Biometrical Journal. Bd. 42 (2000): 17-25.
[2]Neubert, K. und Brunner, E. „A studentized permutation test for the non-parametric Behrens-Fisher problem“. Computational Statistics and Data Analysis. Bd. 51 (2007): 5192-5204.
Beispiele
>>> from scipy import stats >>> x1 = [1,2,1,1,1,1,1,1,1,1,2,4,1,1] >>> x2 = [3,3,4,3,1,2,3,1,1,5,4] >>> w, p_value = stats.brunnermunzel(x1, x2) >>> w 3.1374674823029505 >>> p_value 0.0057862086661515377