scipy.stats.
chi2_contingency
(observeret, korrektion=sand, lambda_=ingen) krit
Chi-firkantet test af uafhængighed af variabler i en beredskabstabel.
denne funktion beregner chi-kvadratisk statistik og p-værdi forhypotese test af uafhængighed af de observerede frekvenser i den observerede kontingenttabel. De forventede frekvenser beregnesbaseret på de marginale beløb under antagelse af uafhængighed; sescipy.stats.contingency.expected_freq
. Antallet af grader af frihed er (udtrykt ved hjælp af numpy-funktioner og attributter):
dof = observed.size - sum(observed.shape) + observed.ndim - 1
parametre observeredarray_like
beredskabstabellen. Tabellen indeholder de observerede frekvenser (dvs.antal forekomster) i hver kategori. I den todimensionelletilfælde beskrives bordet ofte som et”R C-bord”.
correctionbool, valgfri
Hvis det er sandt, og frihedsgraderne er 1, skal du anvende Yates’ correctionfor continuity. Effekten af korrektionen er at justere hverobserveret værdi med 0,5 mod den tilsvarende forventede værdi.
lambda_float eller str, valgfri.
som standard er statistikken beregnet i denne test Pearson ‘ Schi-kvadreret statistik . lambda_ tillader en statistik fra theCressie-Read magt divergens familie, der skal bruges i stedet. Sepower_divergence
for detaljer.
returnerer chi2float
teststatistikken.
pfloat
p-værdien af testen
dofint
frihedsgrader
forventetndarray, samme form som observeret
de forventede frekvenser, baseret på bordets marginale Summer.
noter
en ofte citeret retningslinje for gyldigheden af denne beregning er, at testen kun skal bruges, hvis de observerede og forventede frekvenseri hver celle er mindst 5.
dette er en test for uafhængigheden af forskellige kategorier af apopulation. Testen er kun meningsfuld, når dimensionen afobserveret er to eller flere. Anvendelse af testen på en endimensioneltabel vil altid resultere i forventet lig med observeret og achi-kvadrat statistik lig med 0.
denne funktion håndterer ikke maskerede arrays, fordi beregningengiver ikke mening med manglende værdier.
ligesom statistik.den bekvemmelighed, denne funktion giver, er at finde ud af de forventede frekvenser og frihedsgrader fra den givne beredskabstabel.Hvis disse allerede var kendt, og hvis Yates’ korrektion ikke varkrævet, kunne man bruge statistik.mejslet. Det vil sige, hvis man kalder:
chi2, p, dof, ex = chi2_contingency(obs, correction=False)
så er følgende sandt:
lambda_-argumentet blev tilføjet i version 0.13.0 af scipy.
1
“Beredskabstabel”,https://en.wikipedia.org/wiki/Contingency_table
2
“Pearson’ s chi-kvadreret test”,https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test
3
Cressie, N. and Read, T. R. C., “Multinomial Goodness-of-fittest”, J. Royal Stat. Soc. Serie B, Vol. 46, No. 3 (1984), s.440-464.
eksempler
et tovejseksempel (2 gange 3):
Udfør testen ved hjælp af log-sandsynlighedsforholdet (dvs.”G-testen”) i stedet for Pearsons chi-kvadrerede statistik.
>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)
et fire-vejs eksempel (2 gange 2 gange 2 gange 2):