Test du χ² (Khi2, Chi2)

En langage R

L'essentiel de cette page !    

Le χ² (synonymes χ2, Chi2, Khi2, Chi², Khi²) permet de comparer des répartitions d'effectifs. 

    On distingue :

L'ensemble de ces tests peuvent être réalisés avec la commande chisq.test() de R.

Attention, le test de Khi² ne marche pas pour les petits effectifs : 80% des effectifs doivent dépasser 5 individus. Le mieux est peut-être de renoncer à ce test pour le test-G, moins connu mais meilleur, et adapté autant aux petits échantillons qu'aux grands. Suivre la page d'aide au G-test.

On notera que lorsqu'un lien a été établi entre deux variables, il reste à déterminer la nature du lien (est-ce les hommes qui ont un grand salaire ou les femmes), cela pourra être fait par l'AFC.

Remarque :  à l'issu de tout Khi², le graphique adapté un diagramme d'erreur avec intervalles de confiance sur proportions.


 Consulter l'aide ici pour voir comment faire.


1- Khi² de conformité ou d'adéquation - faire une correspondance entre théorie et observation

            Définition du khi² de conformité

    Le Khi2 de conformité permet de savoir si il y a correspondance entre la théorie et une répartition observée. Le test du Khi-deux permet donc de voir si un échantillon est conforme à la théorie ou s'il en diffère significativement.

            Exemple de khi² de conformité

On effectue un croisement en génétique. 

En théorie, on devrait observer dans la descendance : 75% d'individus à yeux rouges et 25% à yeux blancs.

On observe en réalité sur une génération de 39 individus : 32 individus à yeux rouges et 7 à yeux blancs (Tab 1).

Ainsi, si on avait eu un effectif conforme à la théorie de 39 individus, on aurait dû observer la répartition suivante (Tab 2).

Objectif du test de Khi2 de conformité : vérifier si les les résultats que l'on observe diffèrent significativement de ce que la théorie laissait envisager.


Si l'hypothèse nulle est rejetée, alors on a un cas particulier de génétique qu'il faudra élucider.

# Descendance observée

descendance <- c(7,32)

# probabilités théoriques : d'un point de vue théorique, on devrait avoir 3/4 et 1/4 soit 75 et 25%

proba <- c(0.25,0.75)

# Réalisation du test de khi-deux

chisq.test(descendance,p=proba)

# On récupère la valeur du Khi2 1.03 et aussi la probabilité d'avoir une telle situation p=0.3 ==> Plus de 30%  de situation où l'hypothèse serait rejetée à tort. Événement similaire à H0.

Ainsi, la p-value ici nous permet d'en déduire que les résultats observés sont conformes à la théorie.

Ou du moins, on ne peut affirmer qu'ils ne sont pas conformes à la théorie.

2- Khi² d'indépendance

            Définition du khi² d'indépendance

    Le Khi2 de conformité permet de savoir si il y a correspondance entre la théorie et une répartition observée. Le test du Khi-deux permet donc de voir si un échantillon est conforme à la théorie ou s'il en diffère significativement.

Le Khi2 d'indépendance permet de savoir si il y a indépendance entre 2 critères susceptibles de créer une différence de répartition.


            Exemple de khi² d'indépendance

Prenons un exemple cité en 2013 dans Wikipedia.

Intéressons-nous aux salaires des hommes et des femmes. Imaginons que l'on a demandé à 290 hommes et 285 femmes leurs salaires (Tab 3).


Objectif du Khi-deux : vérifier si les hommes et les femmes ont effectivement le même salaire (hypothèse nulle H0) ou si, au contraire, leurs salaires diffèrent.

# Créations des vecteurs correspondant aux 2 catégories :

hommes = c(50,70,110,60)

femmes = c(80,75,100,30)

# Création d'une matrice comparative :

tableau = matrix(c(hommes, femmes),2,4,byrow=T) # (2 : nombre de lignes et 4 nombres de colonnes (tranches salariales))

# Réalisation du test khi-deux - les résultats sont sauvegardés dans "khi_test"

khi_test = chisq.test(tableau)

khi_test # affiche le résultat du test

Ainsi, la p-value ici est de 0.0005 : il y a donc un lien statistique entre le sexe et la tranche salariale car la p-value est très petite.

3- Khi² d'homogénéité

        Définition du khi² d'indépendance

Le khi2 d'homogénéité est un khi d'indépendance. Il est seulement réalisé dans un but différent.    

Le Khi2 d'homogénéité permet de vérifier que les répartitions de différents effectifs sont équivalentes.

    Ce test repose ainsi sur 2 hypothèses :

            Exemple de khi² d'homogénéité

Prenons un exemple cité ici

Imaginons 3 populations d'étudiant dont nous étudions le taux d'admission chez 3 groupes d'étudiants sur lesquels 3 pédagogies ont été testées.

Objectif du Khi-deux : vérifier s'il y a une différence entre les 3 pédagogies.



# Créations des vecteurs correspondant aux 2 catégories :

pédago1 = c(51, 29)

pédago2 = c(38, 12)

pédago3 = c(86, 34)

# Création d'une matrice comparative :

tableau = matrix(c(pédago1,pédago2,pédago3),3,2,byrow=T) # (3 : nombre de lignes et 2 nombres de colonnes)

# autre écriture de la ligne précédente 

tableau = rbind(pédago1,pédago2,pédago3)

# Réalisation du test khi-deux - les résultats sont sauvegardés dans "khi_test"

khi_test = chisq.test(tableau)

khi_test # affiche le résultat du test

Ainsi, la p-value ici est de 0.2859 ==> La probabilité d'obtenir ainsi de telles différences de répartition entre les 3 effectifs est ainsi de 28.59%. Cela n'implique donc pas de différence particulière.

4- La fonction chisq.test de R

Mots clefs : réaliser un test de khi2 avec le logiciel R project - effectuer un test de Chi2 avec le logiciel R project - faire un test de χ² avec le logiciel R project.

    La commande chisq.test permet de réaliser l'ensemble des tests de χ² .

    Cette commande renvoie des valeurs qui permettent de valider ou non l'hypothèse nulle (cf. ci-dessus Khi2 de conformité et d'indépendance).

    Elle permet aussi de récupérer des informations complémentaires à un test  :

khi_test # si je tape khi_test (dans cet exemple) : je vais récupérer différentes valeurs

#résultats attendus/théoriques

khi_test$expected

# résultats observés

khi_test$observed

# différence entre résultats attendus et observés

khi_test$residual

Exercice pour s'entraîner

Exercice : Faire un test de khi²