scipy.stats.
chi2_contingency
(observat, correction=True, lambda_=None)
testul Chi-pătrat al independenței variabilelor într-un tabel de urgență.
această funcție calculează statistica chi-pătrat și valoarea p pentru testul de hipoteză a independenței frecvențelor observate în tabelul de contingență observat. Frecvențele așteptate sunt calculatepe baza sumelor marginale în ipoteza Independenței; a se vedeascipy.stats.contingency.expected_freq
. Numărul de grade de libertate este (exprimat folosind funcții și atribute numpy):
dof = observed.size - sum(observed.shape) + observed.ndim - 1
parametrii observațiaray_like
tabelul de urgență. Tabelul conține frecvențele observate (adică numărul de apariții) în fiecare categorie. În tabelul bidimensionalcaz, tabelul este adesea descris ca un”tabel R x C”.
correctionbool, opțional
dacă este adevărat și gradele de libertate sunt 1, Aplicați corecția lui Yates pentru continuitate. Efectul corecției este de a ajusta fiecarevaloarea observată cu 0,5 față de valoarea așteptată corespunzătoare.
lambda_float sau str, opțional.
în mod implicit, statistica calculată în acest test este statistica Pearson ‘ schi-squared . lambda_ permite o statistică din familia divergență de putere theCressie-Read pentru a fi utilizate în schimb. A se vedeapower_divergence
pentru detalii.
returnează chi2float
statistica testului.
pfloat
valoarea p a testului
dofint
grade de libertate
expectedndarray, aceeași formă observată
frecvențele așteptate, pe baza sumelor marginale ale tabelului.
Note
Un ghid adesea citat pentru validitatea acestui calcul este că testul trebuie utilizat numai dacă frecvențele observate și așteptate în fiecare celulă sunt cel puțin 5.
acesta este un test pentru independența diferitelor categorii de apopulare. Testul este semnificativ numai atunci când dimensiuneaobservate este de două sau mai multe. Aplicarea testului la o dimensiune unidimensionalătabelul va avea întotdeauna rezultatul așteptat egal cu cel observat și statistica achi-pătrată egală cu 0.
această funcție nu se ocupă de matrice mascate, deoarece calcululnu are sens cu valori lipsă.
ca statistici.chisquare, această funcție calculează o statistică chi-pătrat; comoditatea pe care o oferă această funcție este de a afla frecvențele așteptate și gradele de libertate din tabelul de urgență dat.Dacă acestea ar fi fost deja cunoscute și dacă corecția lui Yates nu ar fi fostnecesare, s-ar putea folosi statistici.chisquare. Adică, dacă cineva apelează:
chi2, p, dof, ex = chi2_contingency(obs, correction=False)
atunci este adevărat următorul lucru:
(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)
argumentul lambda_ a fost adăugat în versiunea 0.13.0 a SciPy.
1
„tabel de urgență”,https://en.wikipedia.org/wiki/Contingency_table
2
„testul chi-pătrat al lui Pearson”,https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test
3
Cressie, N. and Read, T. R. C.,” Multinomial Goodness-of-FitTests”, J. Royal Stat. Soc. Seria B, Vol. 46, nr.3 (1984),pp. 440-464.
Exemple
un exemplu bidirecțional (2 x 3):
>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))
efectuați testul utilizând raportul log-probabilitate (adică „testul G”)în locul statisticii chi-pătrat a lui Pearson.
>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)
un exemplu cu patru căi (2 x 2 x 2 x 2):