scipy.stats.

friedmanchisquare#

scipy.stats.friedmanchisquare(*samples, axis=0, nan_policy='propagate', keepdims=False)[Quellcode]#

Berechnet den Friedman-Test für wiederholte Stichproben.

Der Friedman-Test testet die Nullhypothese, dass wiederholte Stichproben derselben Individuen dieselbe Verteilung aufweisen. Er wird oft verwendet, um die Konsistenz zwischen Stichproben zu testen, die auf verschiedene Weise erhalten wurden. Wenn beispielsweise zwei Sampling-Techniken auf denselben Satz von Individuen angewendet werden, kann der Friedman-Test verwendet werden, um festzustellen, ob die beiden Sampling-Techniken konsistent sind.

Parameter:
sample1, sample2, sample3…array_like

Arrays von Beobachtungen. Alle Arrays müssen die gleiche Anzahl von Elementen haben. Mindestens drei Stichproben müssen angegeben werden.

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 ein ValueError ausgelö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, korrigiert für Bindungen.

pvaluefloat

Der zugehörige p-Wert unter der Annahme, dass die Teststatistik einer Chi-Quadrat-Verteilung folgt.

Siehe auch

Friedman-Test für wiederholte Stichproben

Erweitertes Beispiel

Hinweise

Aufgrund der Annahme, dass die Teststatistik eine Chi-Quadrat-Verteilung hat, ist der p-Wert nur zuverlässig für n > 10 und mehr als 6 wiederholte Stichproben.

Seit SciPy 1.9 werden np.matrix-Eingaben (für neuen Code nicht empfohlen) vor der Berechnung in np.ndarray konvertiert. In diesem Fall ist die Ausgabe eine Skalar- oder np.ndarray mit geeigneter Form anstelle eines 2D-np.matrix. Ebenso werden, während maskierte Elemente von Masked Arrays ignoriert werden, die Ausgabe eine Skalar- oder np.ndarray anstelle eines Masked Arrays mit mask=False sein.

Referenzen

[2]

Demsar, J. (2006). Statistical comparisons of classifiers over multiple data sets. Journal of Machine Learning Research, 7, 1-30.

Beispiele

>>> import numpy as np
>>> rng = np.random.default_rng(seed=18)
>>> x = rng.random((6, 10))
>>> from scipy.stats import friedmanchisquare
>>> res = friedmanchisquare(x[0], x[1], x[2], x[3], x[4], x[5])
>>> res.statistic, res.pvalue
(11.428571428571416, 0.043514520866727614)

Der p-Wert ist kleiner als 0,05; wie oben erwähnt, sind die Ergebnisse jedoch möglicherweise nicht zuverlässig, da wir eine kleine Anzahl von wiederholten Stichproben haben.

Für ein detaillierteres Beispiel siehe Friedman-Test für wiederholte Stichproben.