scipy.statistique.chi2_contingency¶

scipy.stats.chi2_contingency(observé, correction= True, lambda_=None)¶

Test du Chi carré de l’indépendance des variables dans une table de contingence.

Cette fonction calcule la statistique du chi carré et la valeur de p pour le test d’hypothèse de l’indépendance des fréquences observées dans la table de contingence observée. Les fréquences attendues sont calculées sur la base des sommes marginales sous l’hypothèse de l’indépendance ; voir scipy.stats.contingency.expected_freq. Le nombre de degrés de liberté est (exprimé à l’aide de fonctions et d’attributs numpy):

dof = observed.size - sum(observed.shape) + observed.ndim - 1

Paramètres observedarray_like

Le tableau de contingence. Le tableau contient les fréquences observées (c’est-à-dire le nombre d’occurrences) dans chaque catégorie. Dans le cas bidimensionnel, la table est souvent décrite comme une « table R x C ».

correctionbool, optionnel

Si True et que les degrés de liberté sont 1, appliquez la correction de Yates pour la continuité. L’effet de la correction est d’ajuster chaquevaleur observée de 0,5 vers la valeur attendue correspondante.

lambda_float ou str, facultatif.

Par défaut, la statistique calculée dans ce test est la statistique au carré de Pearson. lambda_ permet d’utiliser à la place une statistique de la famille de divergence de puissance en lecture rapide. Voir power_divergence pour plus de détails.

Renvoie chi2float

La statistique de test.

pfloat

La valeur p du test

dofint

Degrés de liberté

attendu, même forme que les fréquences observées

attendues, sur la base des sommes marginales du tableau.

Notes

Une directive souvent citée pour la validité de ce calcul est que le test ne doit être utilisé que si les fréquences observées et attendues dans chaque cellule sont d’au moins 5.

Ceci est un test pour l’indépendance des différentes catégories d’apopulation. Le test n’a de sens que lorsque la dimension deobservée est de deux ou plus. L’application du test à une table unidimensionnelle entraînera toujours une statistique attendue égale à observée et une statistique achi-carrée égale à 0.

Cette fonction ne gère pas les tableaux masqués, car le calcul n’a pas de sens avec des valeurs manquantes.

J’aime les statistiques.chisquare, cette fonction calcule une statistique du chi carré; la commodité de cette fonction est de déterminer les fréquences et les degrés de liberté attendus de la table de contingence donnée.Si ceux-ci étaient déjà connus, et si la correction de Yates n’était pas requise, on pourrait utiliser des statistiques.chisquare. Autrement dit, si l’on appelle :

chi2, p, dof, ex = chi2_contingency(obs, correction=False)

alors ce qui suit est vrai:

(chi2, p) == stats.chisquare(obs.ravel(), f_exp=ex.ravel(), ddof=obs.size - 1 - dof)

L’argument lambda_ a été ajouté dans la version 0.13.0 de scipy .

1

« Tableau de contingence », https://en.wikipedia.org/wiki/Contingency_table

2

« Test du chi carré de Pearson », https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test

3

Cressie, N. et Read, T. R. C., « Bonté multinomiale des ajustés », J. Royal Stat. Soc. Série B, Vol. 46, no 3 (1984), p. 440 à 464.

Exemples

Un exemple bidirectionnel (2 x 3):

>>> from scipy.stats import chi2_contingency>>> obs = np.array(, ])>>> chi2_contingency(obs)(2.7777777777777777, 0.24935220877729619, 2, array(, ]))

Effectuez le test en utilisant le rapport de log-vraisemblance (c’est-à-dire le « test G ») au lieu de la statistique du chi carré de Pearson.

>>> g, p, dof, expctd = chi2_contingency(obs, lambda_="log-likelihood")>>> g, p(2.7688587616781319, 0.25046668010954165)

Un exemple à quatre voies (2 x 2 x 2 x 2) :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.