Estou interessado na modelagem de dados de resposta binária em observações emparelhadas. Nosso objetivo é fazer inferência sobre a eficácia de uma intervenção pré-pós em um grupo, potencialmente ajustando-se a várias covariáveis e determinando se há modificação de efeito por um grupo que recebeu treinamento particularmente diferente como parte de uma intervenção.
Dados fornecidos do seguinte formulário:
id phase resp
1 pre 1
1 post 0
2 pre 0
2 post 0
3 pre 1
3 post 0
E uma tabela de contingência de informações de resposta emparelhadas:
Estamos interessados no teste de hipótese: .
O teste de McNemar fornece: em (assintoticamente). Este é intuitivo porque, sob a hipótese nula, seria de esperar que uma proporção igual dos pares discordantes ( b e c ) estar favorecendo um efeito positivo ( b ) ou um efeito negativo ( c ). Com a probabilidade de definição de caso positivo definido p = \ frac {b} {b + c} e n = b + c . As chances de observar um par discordante positivo é \ frac {p} {1-p} = \ frac {b} {c} .
Por outro lado, a regressão logística condicional usa uma abordagem diferente para testar a mesma hipótese, maximizando a probabilidade condicional:
onde .
Então, qual é a relação entre esses testes? Como alguém pode fazer um teste simples da tabela de contingência apresentada anteriormente? Olhando para a calibração dos valores-p das abordagens de clogit e McNemar sob o nulo, você pensaria que eles eram completamente independentes!
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
podem ser referências.