14 votos

Relación entre la prueba de McNemar y la regresión logística condicional

Me interesa el modelado de los datos de respuesta binaria en observaciones emparejadas. Nuestro objetivo es hacer una inferencia sobre la eficacia de una intervención previa a la intervención en un grupo, ajustando potencialmente varias covariables y determinando si existe una modificación del efecto por parte de un grupo que recibió un entrenamiento particularmente diferente como parte de una intervención.

Dados los datos de la siguiente forma:

id phase resp
1  pre   1
1  post  0
2  pre   0
2  post  0
3  pre   1
3  post  0

Y un $2 \times 2$ cuadro de contingencia de la información de respuesta emparejada:

\begin {array}{cc|cc} & & \mbox y \\ & & \mbox y \mbox {Incorrecto} \\ \hline \mbox y \mbox {Correcto} & a & b& \\ & \mbox {Incorrecto} & c& d& \\ \end {\i1}{\b1}

Estamos interesados en la prueba de hipótesis: $ \mathcal {H}_0: \theta_c = 1$ .

La prueba de McNemar da: $Q = \frac {(b-c)^2}{b+c} \sim \chi ^2_1$ bajo $ \mathcal {H}_0$ (asintóticamente). Esto es intuitivo porque, bajo el nulo, esperaríamos una proporción igual de los pares discordantes ( $b$ y $c$ ) para favorecer un efecto positivo ( $b$ ) o un efecto negativo ( $c$ ). Con la probabilidad de definición de caso positivo definida $p = \frac {b}{b+c}$ y $n=b+c$ . Las probabilidades de observar una pareja discordante positiva es $ \frac {p}{1-p}= \frac {b}{c}$ .

Por otra parte, la regresión logística condicional utiliza un enfoque diferente para probar la misma hipótesis, al maximizar la probabilidad condicional:

$$ \mathcal {L}(X ; \beta ) = \prod_ {j=1}^n \frac { \exp ( \beta X_{j,2})}{ \exp ( \beta X_{j,1}) + \exp ( \beta X_{j,2})}$$

donde $ \exp ( \beta ) = \theta_c $ .

Entonces, ¿cuál es la relación entre estas pruebas? ¿Cómo se puede hacer una simple prueba de la tabla de contingencia presentada anteriormente? Mirando la calibración de los valores p de los enfoques de Clogit y McNemar bajo el nulo, ¡pensarías que no tienen ninguna relación!

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')

enter image description here

3voto

Camell Puntos 6

Lo siento, es un tema antiguo, me encontré con esto por casualidad.

Hay un error en su código para la prueba mcnemar. Prueba con:

n <- 100
do.one <- function(n) {
  id <- rep(1:n, each=2)
  case <- rep(0:1, times=n)
  rs <- rbinom(n*2, 1, 0.5)
  c(
    'pclogit' = coef(summary(clogit(case ~ rs + strata(id))))[5],
    'pmctest' = mcnemar.test(table(rs[case == 0], rs[case == 1]))$p.value
  )
}

out <- replicate(1000, do.one(n))

enter image description here

2voto

James Murray Puntos 246

Hay dos modelos estadísticos que compiten entre sí. Modelo nº 1 (hipótesis nula, McNemar): probabilidad de correcto a incorrecto = probabilidad de incorrecto a correcto = 0,5 o su equivalente b=c. Modelo #2: probabilidad correcta a incorrecta < probabilidad de incorrecta a correcta o equivalente b > c. Para el modelo #2 utilizamos el método de máxima verosimilitud y la regresión logística para determinar los parámetros del modelo que representan el modelo 2. Los métodos estadísticos tienen un aspecto diferente porque cada método refleja un modelo diferente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X