scipy.stats.
chi2_contingency
(observert, korreksjon=Sant, lambda_=Ingen)¶
chi-kvadratisk test av uavhengighet av variabler i en beredskapstabell.
denne funksjonen beregner chi-kvadratstatistikken og p-verdien for hypotese-testen for uavhengighet av de observerte frekvensene i den observerte kontingenttabellen. De forventede frekvensene beregnes basert på marginale summer under forutsetning av uavhengighet; se scipy.stats.contingency.expected_freq
. Antall grader offreedom er (uttrykt ved hjelp av numpy funksjoner og attributter):
dof = observed.size - sum(observed.shape) + observed.ndim - 1
Parametere observedarray_like
beredskapstabellen. Tabellen inneholder de observerte frekvensene (dvs. antall forekomster) i hver kategori. I den todimensjonaletilfelle blir bordet ofte beskrevet som et «r x c-bord».
correctionbool, valgfritt
Hvis Sann, og frihetsgraden er 1, gjelder Yates ‘ correctionfor kontinuitet. Effekten av korreksjonen er å justere hverobservert verdi med 0,5 mot den tilsvarende forventede verdien.
lambda_float eller str, valgfritt.
Som standard er Statistikken beregnet i denne testen Pearson ‘ schi-squared statistikk . lambda_ tillater en statistikk fra theCressie-Les power divergence familien som skal brukes i stedet. Sepower_divergence
for detaljer.
returnerer chi2float
teststatistikken.
pfloat
p-verdien av testen
dofint
Frihetsgrader
expectedndarray, samme form som observert
de forventede frekvensene, basert på tabellens marginale summer.En ofte sitert retningslinje for gyldigheten av denne beregningen er dettesten skal bare brukes hvis de observerte og forventede frekvenseri hver celle er minst 5.
dette er en test for uavhengigheten av ulike kategorier av apopulasjon. Testen er bare meningsfylt når dimensjonen avobservert er to eller flere. Bruk av testen til en endimensjonaltabell vil alltid resultere i forventet lik observert og achi-kvadratisk statistikk lik 0.
denne funksjonen håndterer ikke maskerte arrays, fordi beregningengir ikke mening med manglende verdier.
som statistikk.chisquare, beregner denne funksjonen en chi-kvadrat statistikk;bekvemmeligheten denne funksjonen gir er å finne ut expectedfrequencies og frihetsgrader fra den gitte beredskapstabellen.Hvis disse allerede var kjent, og Hvis Yates ‘ korreksjon ikke varkreves, kunne man bruke statistikk.chisquare. Det vil si at hvis man kaller:
chi2, p, dof, ex = chi2_contingency(obs, correction=False)
så er følgende sant:
(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)
lambda_-argumentet ble lagt til i versjon 0.13.0 av scipy.
1
«Beredskapstabell»,https://en.wikipedia.org/wiki/Contingency_table
2
«Pearson’ s chi-squared test»,https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test
3
Cressie, N. Og Les, Trc,» Multinomial Godhet-av-FitTests», J. Royal Stat. Soc. Serie B, Vol. 46, nr. 3 (1984), s. 440-464.
Eksempler
et toveiseksempel (2 x 3):
>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))
Utfør testen med log-sannsynlighetsforholdet (dvs. «G-testen»)i stedet for Pearsons kjikvadrerte statistikk.
>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)
et fireveis eksempel (2 x 2 x 2 x 2):