scipy.stats.
chi2_contingency
(pozorované, korekce=True, lambda_=None)¶
Chi-square test nezávislosti proměnných v kontingenční tabulce.
tato funkce vypočítá statistiku chí-kvadrát a hodnotu p pro test nezávislosti pozorovaných frekvencí v pozorované tabulce kontingencí. Očekávané frekvence jsou vypočteny na základě okrajových součtů za předpokladu nezávislosti; vizscipy.stats.contingency.expected_freq
. Počet stupňů svobody je (vyjádřeno pomocí numpy funkce a atributy):
dof = observed.size - sum(observed.shape) + observed.ndim - 1
Parametry observedarray_like
kontingenční tabulce. Tabulka obsahuje pozorované frekvence (tj. počet výskytů) v každé kategorii. V dvojrozměrném případě je tabulka často popisována jako „tabulka R X C“.
correctionbool, volitelné
Pokud je pravda, a stupně volnosti je 1, Použijte yatesovu korekci pro kontinuitu. Účinek korekce je upravit každýpozorovaná hodnota o 0,5 směrem k odpovídající očekávané hodnotě.
lambda_float nebo str, volitelné.
ve výchozím nastavení je statistika vypočtená v tomto testu Pearsonovou statistikou . lambda_ umožňuje místo toho použít statistiku z rodiny divergence power divergence. Vizpower_divergence
podrobnosti.
vrátí chi2float
statistiku testu.
pfloat
p-hodnota testu
dofint
Stupně volnosti.
expectedndarray, stejný tvar jako pozorován
očekávané frekvence, na základě mezní částky stolu.
Poznámky
často citovaný pokyn pro platnost tohoto výpočtu je, že test by měl být použit pouze v případě, že pozorované a očekávané frequenciesin každé buňky jsou alespoň 5.
Jedná se o test nezávislosti různých kategorií apopulace. Test má smysl pouze tehdy, když rozměr pozorovaného je dva nebo více. Použití testu na jednorozměrnétabulka bude mít vždy za následek očekávanou rovnu pozorované a Achi-kvadrát statistiku rovnou 0.
tato funkce nezpracovává maskovaná pole, protože výpočetnemá smysl s chybějícími hodnotami.
jako statistiky.chisquare, tato funkce vypočítá chí-kvadrát statistiku; pohodlí, které tato funkce poskytuje, je zjistit očekávané frekvence a stupně volnosti z dané pohotovostní tabulky.Pokud by to bylo již známo a pokud by nebyla korekce Yatesovépožadováno, bylo by možné použít statistiky.chisquare. To znamená, že pokud jeden hovorů:
chi2, p, dof, ex = chi2_contingency(obs, correction=False)
pak platí následující:
(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)
lambda_ argument byl přidán ve verzi 0.13.0 scipy.
1
„Pohotovostní stolu“,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. a Číst, T. R. C., „Multinomické Goodness-of-FitTests“, J. Královská Stat. SOC. Série B, Vol. 46, č. 3 (1984), s. 440-464.
Příklady
obousměrný příklad (2 x 3):
>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))
Provedení testu pomocí log-likelihood ratio (tj. „G-test“)namísto Pearsonova chí-kvadrát statistika.
>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)
čtyřcestný příklad (2 x 2 x 2 x 2):