Je m'intéresse à la modélisation des données de réponse binaire dans les observations appariées. Nous visons à faire l'inférence sur l'efficacité d'une intervention pré-post dans un groupe, en ajustant potentiellement pour plusieurs covariables et en déterminant s'il y a modification de l'effet par un groupe qui a reçu une formation particulièrement différente dans le cadre d'une intervention.
Compte tenu des données de la forme suivante:
id phase resp
1 pre 1
1 post 0
2 pre 0
2 post 0
3 pre 1
3 post 0
Et un tableau de contingence des informations de réponse appariées:
Nous nous intéressons au test d'hypothèse: .
Le test de McNemar donne: sousH0(asymptotiquement). Ceci est intuitif car, sous le zéro, nous nous attendrions à ce qu'une proportion égale des paires discordantes (betc) favorise un effet positif (b) ou un effet négatif (c). Avec la probabilité de définition de cas positive définiep=b etn=b+c. La probabilité d'observer une paire discordante positive est dep .
En revanche, la régression logistique conditionnelle utilise une approche différente pour tester la même hypothèse, en maximisant la vraisemblance conditionnelle:
où .
Alors, quelle est la relation entre ces tests? Comment faire un simple test du tableau de contingence présenté précédemment? En regardant l'étalonnage des valeurs de p à partir des approches de clogit et de McNemar sous le zéro, vous penseriez qu'elles n'étaient absolument pas liées!
library(survival)
n <- 100
do.one <- function(n) {
id <- rep(1:n, each=2)
ph <- rep(0:1, times=n)
rs <- rbinom(n*2, 1, 0.5)
c(
'pclogit' = coef(summary(clogit(rs ~ ph + strata(id))))[5],
'pmctest' = mcnemar.test(table(ph,rs))$p.value
)
}
out <- replicate(1000, do.one(n))
plot(t(out), main='Calibration plot of pvalues for McNemar and Clogit tests',
xlab='p-value McNemar', ylab='p-value conditional logistic regression')
exact2x2
peuvent être des références.