Ich interessiere mich für die Modellierung von binären Antwortdaten in gepaarten Beobachtungen. Wir wollen Rückschlüsse auf die Wirksamkeit einer Prä-Post-Intervention in einer Gruppe ziehen, um möglicherweise mehrere Kovariaten auszugleichen und festzustellen, ob eine Gruppe, die im Rahmen einer Intervention ein besonders unterschiedliches Training erhalten hat, eine Effektmodifikation durchführt.
Angegebene Daten der folgenden Form:
id phase resp
1 pre 1
1 post 0
2 pre 0
2 post 0
3 pre 1
3 post 0
Und eine Kontingenztabelle mit gepaarten Antwortinformationen:
Uns interessiert der Hypothesentest: .
McNemar-Test ergibt: unterH0(asymptotisch). Dies ist intuitiv, da wir unter der Null erwarten würden, dass ein gleiches Verhältnis der nicht übereinstimmenden Paare (bundc) einen positiven Effekt (b) oder einen negativen Effekt (c)begünstigt. Mit der Wahrscheinlichkeit einer positiven Falldefinition istp=bdefiniert undn=b+c. Die Wahrscheinlichkeit, ein positives nicht übereinstimmendes Paar zu beobachten, istp .
Andererseits verwendet die bedingte logistische Regression einen anderen Ansatz, um dieselbe Hypothese zu testen, indem die bedingte Wahrscheinlichkeit maximiert wird:
wobei .
Wie hängen diese Tests zusammen? Wie kann man einen einfachen Test der oben dargestellten Kontingenztabelle durchführen? Wenn Sie die Kalibrierung von p-Werten aus Clogit und McNemars Ansätzen unter dem Nullpunkt betrachten, würden Sie denken, dass sie völlig unabhängig sind!
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
können Referenzen sein.