Зв'язок між тестом Макнемара та умовною логістичною регресією


14

Мене цікавить моделювання даних бінарних відповідей у ​​парних спостереженнях. Ми прагнемо зробити висновок про ефективність попереднього втручання в групі, потенційно коригуючи кілька коваріатів та визначивши, чи є модифікація ефекту групою, яка отримала особливо різну підготовку в рамках втручання.

Дані даних такої форми:

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

І таблиця на випадок на інформацію про парні відповіді:2×2

ПопередньоПравильноНеправильноОпублікуватиПравильноабНеправильноcг

Нас цікавить тест гіпотези: .Н0:θc=1

Тест Макнемара дає: приH0(асимптотично). Це інтуїтивно зрозуміло, оскільки, під нульовим значенням, ми очікуємо, що однакова частка розбіжних пар (bіc) буде сприяти позитивному ефекту (b) або негативному ефекту (c). З імовірністю визначення позитивного випадку визначеноp=bQ=(б-c)2б+cχ12Н0бcбc іn=b+c. Шанси на спостереження за позитивною незгідною парою -pp=бб+cн=б+c .p1-p=бc

З іншого боку, умовна логістична регресія використовує інший підхід для перевірки тієї ж гіпотези, максимізуючи умовну ймовірність:

L(Х;β)=j=1ндосвід(βХj,2)досвід(βХj,1)+досвід(βХj,2)

де .досвід(β)=θc

Отже, який зв’язок між цими тестами? Як можна зробити простий тест таблиці надзвичайних ситуацій, представленої раніше? Дивлячись на калібрування р-значень із клітору та підходів МакНемара під нуль, ви б могли подумати, що вони абсолютно не пов'язані!

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

введіть тут опис зображення


pб=pcаг/бc=1

Здається, я згадую, що можна параметризувати тест Мак-Немара як тест коефіцієнта шансів, тому мені цікаво, як можна було б виписати ймовірність (умовна ймовірність?) Для цього тесту.
AdamO

Я не впевнений, чи маєте ви на увазі точну версію тесту МакНемара. Бреслов і День (1980) , с. 164-166 і пакет exact2x2 може бути посиланням.
Рендел

Відповіді:


4

Вибачте, це стара проблема, я натрапив на це випадково.

У вашому коді є помилка для тесту mcnemar. Спробуйте:

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

введіть тут опис зображення


Оце Так! Дякую та вітаємо громаду. Просто для уточнення, МакНемар працює над розбіжними збірними парами (?) Чи такі пари випадають із засмічення? Я не бачу, як id бере участь у підрахунку результатів mcnemar. Можливо, генерування кореляції в цьому допоможе з'ясувати, що робить засмічення.
АдамО

2

Існує 2 конкуруючі статистичні моделі. Модель №1 (нульова гіпотеза, МакНемар): ймовірність правильна до неправильної = ймовірність неправильного виправлення = 0,5 або еквівалент b = c. Модель №2: ймовірність правильна до неправильної <ймовірність неправильної правильної або еквівалентної b> c. Для моделі №2 ми використовуємо метод максимальної ймовірності та логістичну регресію для визначення параметрів моделі, що представляють модель 2. Статистичні методи виглядають по-різному, оскільки кожен метод відображає іншу модель.


Ви кажете, що блокада - це не двосхилий тест?
AdamO
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.