scipy.Stats.chi2_contingency¶

scipy.stats.chi2_contingency(beobachtet, correction=True, lambda_=None)¶

Chi-Quadrat-Test der Unabhängigkeit von Variablen in einer Kontingenztabelle.

Diese Funktion berechnet die Chi-Quadrat-Statistik und den p-Wert für den hypothetischen Unabhängigkeitstest der beobachteten Häufigkeiten in der beobachteten Kontingenztabelle. Die erwarteten Häufigkeiten werden basierend auf den Grenzsummen unter der Annahme der Unabhängigkeit berechnet; siehescipy.stats.contingency.expected_freq. Die Anzahl der Freiheitsgrade ist (ausgedrückt mit Numpy-Funktionen und Attributen):

dof = observed.size - sum(observed.shape) + observed.ndim - 1

Parameter observedarray_like

Die Kontingenztabelle. Die Tabelle enthält die beobachteten Häufigkeiten (d. h. die Anzahl der Vorkommen) in jeder Kategorie. Im zweidimensionalen Fall wird die Tabelle oft als „R x C-Tabelle“ bezeichnet.

correctionbool, optional

Wenn True und der Freiheitsgrad 1 ist, wenden Sie Yates‘ correctionfor continuity an. Der Effekt der Korrektur besteht darin, jeden beobachteten Wert um 0,5 auf den entsprechenden erwarteten Wert anzupassen.

lambda_float oder str, optional.

Standardmäßig ist die in diesem Test berechnete Statistik Pearson’sch-Quadrat-Statistik . lambda_ ermöglicht stattdessen die Verwendung einer Statistik aus der Familie der Pressie-Read power divergence. Siehepower_divergence für Details.

Gibt chi2float

Die Teststatistik zurück.

pfloat

Der p-Wert des Tests

dofint

Freiheitsgrade

expectedndarray, gleiche Form wie beobachtet

Die erwarteten Häufigkeiten, basierend auf den Randsummen der Tabelle.

Anmerkungen

Eine oft zitierte Richtlinie für die Gültigkeit dieser Berechnung ist, dass der Test nur verwendet werden sollte, wenn die beobachteten und erwarteten Frequenzen in jeder Zelle mindestens 5 betragen.

Dies ist ein Test für die Unabhängigkeit verschiedener Kategorien von Apopulationen. Der Test ist nur dann sinnvoll, wenn die Dimension vonbeobachtet ist zwei oder mehr. Die Anwendung des Tests auf eine eindimensionale Tabelle führt immer zu erwartet gleich beobachtet und Achi-Quadrat-Statistik gleich 0.

Diese Funktion behandelt keine maskierten Arrays, da die Berechnung bei fehlenden Werten keinen Sinn ergibt.

Wie Statistiken.chisquare, diese Funktion berechnet eine Chi-Quadrat-Statistik;Die Bequemlichkeit, die diese Funktion bietet, besteht darin, die erwarteten Frequenzen und Freiheitsgrade aus der gegebenen Kontingenztabelle herauszufinden.Wenn diese bereits bekannt wären und wenn die Yates-Korrektur nicht erforderlich wäre, könnte man Statistiken verwenden.chisquare. Das heißt, wenn man aufruft:

chi2, p, dof, ex = chi2_contingency(obs, correction=False)

dann ist Folgendes wahr:

(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)

Das Argument lambda_ wurde in Version 0.13.0 von scipy hinzugefügt.

1

„Kontingenztabelle“,https://en.wikipedia.org/wiki/Contingency_table

2

„Pearsons Chi-Quadrat-Test“,https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test

3

Cressie, N. und Read, T. R. C., „Multinomiale Güte-der-FitTests“, J. Royal Stat. Soc. Reihe B, Vol. 46, Nr. 3 (1984), S. 440-464.

Beispiele

Ein Zwei-Wege-Beispiel (2 x 3):

>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))

Führen Sie den Test mit dem Log-Likelihood-Verhältnis (dh dem „G-Test“)anstelle von Pearsons Chi-Quadrat-Statistik durch.

>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)

Ein Vier-Wege-Beispiel (2 x 2 x 2 x 2):

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.