Comparaison de deux proportions appariées : le test de Mac Nemar

La comparaison de proportions observées sur deux séries de données indépendantes peut être réalisée par un test z pour proportion ou un test du Chi2.

Néanmoins, il existe des situations dans lesquelles les deux séries comparées ne sont pas indépendantes, mais appariées. Cela arrive par exemple lorsqu’on administre successivement deux médicaments aux mêmes sujets, et que la réponse observée est de type binaire (succès/échec).
Ou encore lorsque l’on fait déguster aux même sujets deux boissons différentes (thé et café par exemple) et qu’on leur demande s’ils l’apprécient (oui / non).

Dans cette situation de non indépendance, mais d’appariement des données, les proportions (de succès pour chacun des traitement, ou de satisfaction pour chacune des boisson, par exemple), doivent être comparées à l’aide du test de Mac Nemar, qui est dérivé du test du Chi2.

Situation

maginons, par exemple, que selon un plan expérience en cross over deux somnifères (A et B) sont administrés aux 100 mêmes sujets. L’ordre d’administration est déterminé par randomisation. Ainsi, 50 sujets reçoivent le traitement A puis le traitement B, et 50 autres sujets reçoivent le traitement B puis le traitement A. Au final, les 100 sujets reçoivent bien les deux traitements.Le délai entre les deux prises est tel que l’effet éventuel du premier somnifère a totalement disparu. La réponse au traitement, c’est-à-dire, l’amélioration de l’endormissement est codé de façon binaire : positive ou négative.Nous souhaitons comparer les proportions de réponses positives des traitements A et B.Les 100 paires de réponses obtenues pourraient être celles-ci :

Elles peuvent également être présentées sous cette forme-là :

Ainsi les proportions observées de réponses positives aux traitements A
et B sont :

 

\[p_A=\frac{45+15}{100}=60\%\]
\[p_B=\frac{45+5}{100}=50\%\]

Le test classique de comparaison de deux proportions (z test ou test du chi2) n’est pas adapté à cette situation de non indépendance, car on peut supposer qu’il existe un lien entre la réponse au somnifère A et au somnifère B chez un même malade.

De plus, le test classique ne prend pas en compte les paires discordantes A+/B- et A-/B+.

Le test statistique adapté à cette situation de comparaison de deux proportions appariées est le test de Mac Nemar.

Hypothèses du test de Mac Nemar

Les hypothèses sont :\[H_0 : \pi_1=\pi_2\] \[H_1: \pi_1\neq\pi_2\]ou \[H_1: \pi_1 > \pi_2\] ou \[H_1: \pi_1 < \pi_2\]

Principe du test de Mac Nemar

Le test de Mac Nemar est justement basé sur les paires discordantes A+/B- et A-/B+. Le principe est de dire que si l’hypothèse nulle est vraie, alors le nombre de paires discordantes A+/B- doit être égal au nombre de paires discordantes A-/B+ , et que ce
nombre doit être égal à la moitié du nombre total de paires discordantes.

En formalisant les données comme ceci :

Si l’hypothèse nulle est vraie nous devrions observer : \[c = b = \frac{(c+b)}{2}\]

Le test de Mac Nemar, qui est un test  dérivé du test du Chi2, revient donc à calculer la somme des écarts au carré entre le nombre de chaque type de paires discordantes et son nombre théorique attendu.

Au final sa statistique est :\[\chi^2 = \frac{(b-\frac{b+c}{2})^2}{\frac{b+c}{2}}+\frac{(c-\frac{b+c}{2})^2}{\frac{b+c}{2}}\]Qui se simplifie en :\[\chi^2 = \frac{(c-b)^2}{c+b}\]

Conditions d'application du test de Mac Nemar

Le test de Mac Nemar peut être appliqué si le nombre de paires discordantes  ≥ 10 (Dagnelie P. Inférence statistique à une et à deux dimensions. Statistique théorique et appliquée, Tome 2. Bruxelles : De Boeck et Larcier, 2006).

Réalisation du test de Mac Nemar

tc_mac <- matrix(c(45,5, 15, 35), nc=2, byrow = TRUE)
colnames(tc_mac) <- c("A+", "A-")
rownames(tc_mac) <- c("B+", "B-")
tc_mac

    ##    A+ A-
    ## B+ 45  5
    ## B- 15 35

mcnemar.test(tc_mac, correct=FALSE)

    ## 
    ##  McNemar's Chi-squared test
    ## 
    ## data:  tc_mac
    ## McNemar's chi-squared = 5, df = 1, p-value = 0.02535 

Ici, la p value est < 0.05, l’hypothèse nulle d’égalité des proportions est rejetée. De ce fait, on conclut que la proportion de réponses positives au somnifère A est significativement différente (supérieure) de la proportion de réponses positives au somnifère B.

Remarque 1: une correction dite de “continuité” peut être appliquée si les conditions de validité ne sont pas parfaitement remplies, en utilisant l’argument correct=TRUE.

Remarque 2: La fonction mcnemar.test ne permet pas de tester l’hypothèse alternative unilatérale. Si besoin, il est nécessaire de passer par la fonction exact2x2(), du package exact2x2.

Remarque 3 : si nous avions comparé les proportions avec un test classique pour échantillon indépendant, aucune différence n’aurait été mise en évidence ! Le test de Mac Nemar est plus puissant que le simple test du Chi2.


prop.test(c(60, 50),c(100,100), correct=FALSE)
 
    ## 
    ##  2-sample test for equality of proportions without continuity
    ##  correction
    ## 
    ## data:  c(60, 50) out of c(100, 100)
    ## X-squared = 2.0202, df = 1, p-value = 0.1552
    ## alternative hypothesis: two.sided
    ## 95 percent confidence interval:
    ##  -0.03719748  0.23719748
    ## sample estimates:
    ## prop 1 prop 2 
    ##    0.6    0.5 

Conclusion

J’espère que cet article, en plus de celui consacré au test de Student apparié, vous aura sensibilisé à l’analyse statistique des données appariées.

Et comme vous avez pu le constater, la comparaison des séries appariées, que cela soit en termes de moyennes, ou de proportions, est très facilement réalisable avec le logiciel R !

Si cet article vous a plu, ou vous a été utile, et si vous le souhaitez, vous pouvez soutenir ce blog en faisant un don sur sa page Tipeee 🙏

Image par Suxu de Pixabay

14 réponses

  1. Mais je m’interroge…
    Ce test semble se limiter à 2 proportions. Mais que faire si il y a plus, par exemple si chaque patient a testé 3 somnifères ?
    Le chi² aura-t-il un autre équivalent ?

    1. Bonjour Antoine,

      dans cette situation, il faut utiliser un glm à effet mixte (GLMM). J’essaierai de faire un article, merci pour la suggestion.
      Bonne continuation

  2. Bonjour et merci pour cet article. Si on veut ensuite obtenir l’OR pour une série appariée en plus du test de Mac Nemar, faut-il adapter la fonction twoby2?

  3. Bonjour, Je cherche à comparer des pourcentages entre 2 échantillons appariés.
    J’ai essayé le test de Mcnemar sur R mais j’obtiens l’erreur suivante : McNemar’s chi-squared = NaN, df = 10, p-value = N
    La variable qui est testée avant/après traitement est un score codé de 0 à 5.
    Il semblerait que ce test ne puisse pas être réalisé si présence de “0” ou ex aequo entre les individus comme c’est le cas.

    Auriez vous une alternative à ce test avec laquelle je pourrais comparer mes 2 échantillons?
    Merci pour votre aide et pour l’article!

    1. Bonjour Fabien,

      le test de mac nemar permet de comparer deux proportions appariées. Comme vous souhaitez comparer des scores, je pense que vous devez employer le text de Wilcoxon apparié, avec la fonction wilcox.test() et en ajoutant l’argument paired =TRUE.
      Bonne continuation.

  4. Bonjour, merci pour cet article.
    Que faire si chaque variable contient 3 modalités ? Par exemple : un test réalisé à M0 avec les modalités “non”, “ne sait pas”, “oui” et la même chose à M12 ? Et on veut comparer M0 et M12

      1. Bonjour Claire,

        Merci beaucoup pour votre réponse ! Je suis ne suis pas certaine que ce test convienne car il concerne les variables dichotomiques, lorsqu’on compare plus que 2 variables. Or, ici j’ai 2 variables avec 3 modalités … Je vais continuer de chercher ! Merci,

        Bonne continuation

    1. Bonjour,

      la seule condition que je connaisse concerne le nombre de paires discordantes (et si elles sont moins de 10, on emploi une correction).
      Dans tous les cas avec un effectif inférieur à 10, la puissance du test (capacité à mettre en évidence une différence) sera faible.
      Bonne continuation.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bonjour !

vous venez souvent ?

Identifiez-vous pour avoir accès à toutes les fontionnalités !

Aide mémoire off'R ;)

Enregistrez vous pour recevoir gratuitement mes fiches “aide mémoire” (ou cheat sheets) qui vous permettront de réaliser facilement les principales analyses biostatistiques avec le logiciel R et pour être informés des mises à jour du site.