scipy.stats.
chi2_contingency
(megfigyelt, correction=True, lambda_ = None) 6
a változók függetlenségének khi-négyzet alakú tesztje egy készenléti táblázatban.
Ez a függvény kiszámítja a khi-négyzet statisztikát és a p-értéket a megfigyelt frekvenciák függetlenségének hipotézisvizsgálatához a megfigyelt kontingenciatáblázatban. A várható frekvenciákat kiszámítjáka függetlenség feltételezése alapján a marginális összegek alapján; lásdscipy.stats.contingency.expected_freq
. A szabadság fokainak száma (numpy függvényekkel és attribútumokkal kifejezve):
dof = observed.size - sum(observed.shape) + observed.ndim - 1
paraméterek observedarray_like
a készenléti táblázat. A táblázat az egyes kategóriákban megfigyelt gyakoriságokat(azaz előfordulások számát) tartalmazza. A kétdimenziósesetben a táblázatot gyakran “R x C táblázatnak”nevezik.
correctionbool, opcionális
Ha igaz, és a szabadság foka 1, alkalmazza Yates korrekcióját a folytonosság érdekében. A korrekció hatása mindegyik beállításaa megfigyelt értéket 0,5-rel a megfelelő várható érték felé.
lambda_float vagy str, opcionális.
alapértelmezés szerint az ebben a tesztben kiszámított statisztika Pearson ‘ Schi-négyzet statisztika . lambda_ lehetővé teszi a statisztika a theCressie-Read teljesítmény divergencia család kell használni helyette. Lásdpower_divergence
a részletekért.
visszaadja chi2float
a vizsgálati statisztika.
pfloat
a teszt p-értéke
dofint
szabadságfokok
expectedndarray, ugyanolyan alakú, mint a megfigyelt
a várható frekvenciák, a táblázat marginális összegei alapján.
Megjegyzések
a számítás érvényességére vonatkozóan gyakran idézett iránymutatás az, hogy a vizsgálatot csak akkor szabad alkalmazni, ha az egyes cellákban megfigyelt és várt gyakoriság legalább 5.
Ez az apopuláció különböző kategóriáinak függetlenségének tesztje. A teszt csak akkor értelmes, ha a dimenzióa megfigyelt Kettő vagy több. Ha a tesztet egydimenzióstáblára alkalmazzuk, mindig a várt egyenlő lesz a megfigyeltekkel, az achi-négyzet statisztika pedig 0-val egyenlő.
Ez a funkció nem kezeli a maszkolt tömböket, mert a számításnincs értelme a hiányzó értékekkel.
mint a statisztika.chisquare, ez a függvény kiszámítja a chi-négyzet statisztikát;a kényelem ez a funkció biztosítja, hogy kitaláljuk a várható frekvenciákat és a szabadság fokát az adott készenléti táblából.Ha ezek már ismertek voltak, és ha a Yates korrekciója nem volt szükség, akkor statisztikákat használhatunk.chisquare. Azaz, ha valaki felhívja:
chi2, p, dof, ex = chi2_contingency(obs, correction=False)
akkor a következő igaz:
(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)
a lambda_ argumentumot hozzáadtuk a 0.13.0 verzióhoz scipy.
1
“készenléti táblázat”,https://en.wikipedia.org/wiki/Contingency_table
2
“Pearson chi-négyzet tesztje”,https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test
3
Cressie, N. and Read, T. R. C., “multinomiális jóság-of-FitTests”, J. Royal Stat. Soc. B Sorozat, Vol. 46, 3. szám (1984), 440-464.
példák
kétirányú példa (2 x 3):
>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))
végezze el a tesztet a log-valószínűség arány (azaz a “G-teszt”)helyett Pearson khi-négyzet statisztikája.
>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)
négyirányú példa (2 x 2 x 2 x 2):