McNemar'ın testi ve koşullu lojistik regresyon arasındaki ilişki


14

Eşleştirilmiş gözlemlerde ikili yanıt verilerinin modellenmesi ile ilgileniyorum. Bir gruba post-post müdahalenin etkinliği hakkında çıkarımda bulunmayı, çeşitli ortak değişkenler için potansiyel olarak ayarlama yapmayı ve müdahalenin bir parçası olarak özellikle farklı eğitim alan bir grup tarafından etki modifikasyonu olup olmadığını belirlemeyi amaçlıyoruz.

Aşağıdaki formdaki veriler:

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

Ve eşleştirilmiş yanıt bilgilerinin beklenmedik durum tablosu:2×2

PreCorrectIncorrectPostCorrectabIncorrectcd

Hipotez testiyle ilgileniyoruz: .H0:θc=1

McNemar'ın Testi: (asimptotik) altında . Bu sezgiseldir, çünkü sıfırın altında, uyumsuz çiftlerin ( ve ) eşit bir oranının olumlu bir etki ( ) veya olumsuz bir etki ( ) lehine olmasını beklerdik . Pozitif vaka tanımı olasılığı ile tanımlanan ve . Pozitif uyumsuz bir çifti gözlemleme olasılığı .Q=(bc)2b+cχ12H0bcbcp=bb+cn=b+cp1p=bc

Öte yandan, koşullu lojistik regresyon, koşullu olasılığı en üst düzeye çıkararak aynı hipotezi test etmek için farklı bir yaklaşım kullanır:

L(X;β)=j=1nexp(βXj,2)exp(βXj,1)+exp(βXj,2)

burada .exp(β)=θc

Peki, bu testler arasındaki ilişki nedir? Daha önce sunulan beklenmedik durum tablosunun basit bir testi nasıl yapılabilir? P-değerlerinin clogit ve McNemar'ın null altındaki yaklaşımlarından kalibrasyonuna bakıldığında, bunların tamamen ilgisiz olduğunu düşünürdünüz!

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

resim açıklamasını buraya girin


Bu ilginç! İki yöntemin teoriye göre benzer sonuçları olmalıdır. Soruyu doğru , testinin sıfır hipotezi iken, koşullu lojistik regresyon testinin sıfır hipotezi bir tabaka içindeki olasılık oranı . pb=pcad/bc=1
Randel

Bir McNemar'ın testi bir oran oranı testi olarak parametreleştirebilir hatırlamak gibi görünüyor, bu yüzden nasıl bu test için olasılık (koşullu olasılık?) Yazacağını merak ediyorum.
AdamO

McNemar'ın Testinin tam sürümünü kastettiğinizden emin değilim. Breslow ve Day (1980) , s. 164-166 ve paket exact2x2 referans olabilir.
Randel

Yanıtlar:


4

Üzgünüm, bu eski bir mesele, şans eseri bununla karşılaştım.

Kodunuzda mcnemar testi için bir hata var. Şunu deneyin:

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

resim açıklamasını buraya girin


Vaov! Teşekkürler ve topluluğa hoş geldiniz. Açıklığa kavuşturmak gerekirse, McNemar uyumsuz eşleşen çiftler (?) Üzerinde çalışıyor, bu çiftler tıkanmış mı? Mcnemar sonuçlarının hesaplanmasında kimliğin nasıl yer aldığını göremiyorum. Belki de bunlarda bir korelasyon oluşturmak, tıkanıklığın ne yaptığını açıklamaya yardımcı olacaktır.
AdamO

2

İki rakip istatistik modeli vardır. Model # 1 (sıfır hipotezi, McNemar): yanlıştan doğruluk olasılığı = yanlıştan düzeltme olasılığı = 0,5 veya eşdeğeri b = c. Model # 2: Yanlış doğru doğruluk <doğru yanlış düzeltme veya eşdeğer b> c. Model 2 için, model 2'yi temsil eden model parametrelerini belirlemek için maksimum olabilirlik yöntemi ve lojistik regresyon kullanıyoruz. Her yöntem farklı bir modeli yansıttığından istatistiksel yöntemler farklı görünüyor.


Tıkanmanın iki kuyruklu bir test olmadığını mı söylüyorsun?
AdamO
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.