scipy.stats.

fligner#

scipy.stats.fligner(*samples, center='median', proportiontocut=0.05, axis=0, nan_policy='propagate', keepdims=False)[Quellcode]#

Führt den Fligner-Killeen-Test auf Gleichheit der Varianzen durch.

Der Test nach Fligner prüft die Nullhypothese, dass alle Eingabestichproben aus Populationen mit gleichen Varianzen stammen. Der Test nach Fligner-Killeen ist verteilungsfrei, wenn die Populationen identisch sind [2].

Parameter:
stichprobe1, stichprobe2, …array_like

Arrays von Stichprobendaten. Sie müssen nicht die gleiche Länge haben.

center{‘mean’, ‘median’, ‘trimmed’}, optional

Schlüsselwortargument, das steuert, welche Funktion der Daten zur Berechnung der Teststatistik verwendet wird. Der Standardwert ist ‘median’.

proportiontocutfloat, optional

Wenn center ‘trimmed’ ist, gibt dies den Anteil der Datenpunkte an, die von beiden Enden abgeschnitten werden. (Siehe scipy.stats.trim_mean.) Standard ist 0.05.

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.

pvaluefloat

Der p-Wert für den Hypothesentest.

Siehe auch

bartlett

Ein parametrischer Test auf Gleichheit von k Varianzen bei normalverteilten Stichproben

levene

Ein robuster parametrischer Test auf Gleichheit von k Varianzen

Fligner-Killeen-Test für Varianzgleichheit

Erweitertes Beispiel

Hinweise

Wie beim Levene-Test gibt es drei Varianten des Fligner-Tests, die sich durch das Maß der zentralen Tendenz unterscheiden, das in der Teststatistik verwendet wird. Weitere Informationen finden Sie unter levene.

Conover et al. (1981) untersuchen viele der existierenden parametrischen und nichtparametrischen Tests anhand umfangreicher Simulationen und kommen zu dem Schluss, dass die von Fligner und Killeen (1976) und Levene (1960) vorgeschlagenen Tests hinsichtlich der Robustheit gegenüber Abweichungen von der Normalverteilung und der Trennschärfe überlegen zu sein scheinen [3].

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

[1]

Park, C. und Lindsay, B. G. (1999). Robust Scale Estimation and Hypothesis Testing based on Quadratic Inference Function. Technical Report #99-03, Center for Likelihood Studies, Pennsylvania State University. https://cecas.clemson.edu/~cspark/cv/paper/qif/draftqif2.pdf

[2]

Fligner, M.A. und Killeen, T.J. (1976). Distribution-free two-sample tests for scale. Journal of the American Statistical Association. 71(353), 210-213.

[3]

Park, C. und Lindsay, B. G. (1999). Robust Scale Estimation and Hypothesis Testing based on Quadratic Inference Function. Technical Report #99-03, Center for Likelihood Studies, Pennsylvania State University.

[4]

Conover, W. J., Johnson, M. E. und Johnson M. M. (1981). A comparative study of tests for homogeneity of variances, with applications to the outer continental shelf bidding data. Technometrics, 23(4), 351-361.

Beispiele

>>> import numpy as np
>>> from scipy import stats

Prüft, ob die Listen a, b und c aus Populationen mit gleichen Varianzen stammen.

>>> a = [8.88, 9.12, 9.04, 8.98, 9.00, 9.08, 9.01, 8.85, 9.06, 8.99]
>>> b = [8.88, 8.95, 9.29, 9.44, 9.15, 9.58, 8.36, 9.18, 8.67, 9.05]
>>> c = [8.95, 9.12, 8.95, 8.85, 9.03, 8.84, 9.07, 8.98, 8.86, 8.98]
>>> stat, p = stats.fligner(a, b, c)
>>> p
0.00450826080004775

Der kleine p-Wert deutet darauf hin, dass die Populationen keine gleichen Varianzen haben.

Dies ist nicht überraschend, da die Stichprobenvarianz von b deutlich größer ist als die von a und c.

>>> [np.var(x, ddof=1) for x in [a, b, c]]
[0.007054444444444413, 0.13073888888888888, 0.008890000000000002]

Für ein detaillierteres Beispiel siehe Fligner-Killeen-Test auf Gleichheit der Varianz.