Mối quan hệ giữa thử nghiệm của McNemar và hồi quy logistic có điều kiện


14

Tôi quan tâm đến việc mô hình hóa dữ liệu phản hồi nhị phân trong các quan sát được ghép nối. Chúng tôi hướng đến việc suy luận về hiệu quả của can thiệp trước bài trong một nhóm, có khả năng điều chỉnh cho một số hiệp phương sai và xác định xem có sự điều chỉnh hiệu quả của một nhóm được đào tạo đặc biệt khác như một phần của can thiệp hay không.

Cho dữ liệu theo mẫu sau:

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

Và một bảng dự phòng thông tin phản hồi được ghép nối:2×2

TrướcChính xácSaiBài đăngChính xácmộtbSaicd

Chúng tôi quan tâm đến việc kiểm tra giả thuyết: .H0:θc= =1

Thử nghiệm của McNemar đưa ra: trong (không có triệu chứng). Điều này là trực quan bởi vì, dưới giá trị null, chúng tôi sẽ mong đợi một tỷ lệ bằng nhau của các cặp bất hòa ( và ) sẽ ủng hộ hiệu ứng tích cực ( ) hoặc hiệu ứng tiêu cực ( ). Với xác suất xác định trường hợp dương được xác định và . Tỷ lệ quan sát một cặp đối nghịch tích cực là . H0bcbcp=bQ= =(b-c)2b+c~χ12H0bcbc n=b+cpp= =bb+cn= =b+cp1-p= =bc

Mặt khác, hồi quy logistic có điều kiện sử dụng một cách tiếp cận khác để kiểm tra cùng một giả thuyết, bằng cách tối đa hóa khả năng có điều kiện:

L(X;β)= =Πj= =1nđiểm kinh nghiệm(βXj,2)điểm kinh nghiệm(βXj,1)+điểm kinh nghiệm(βXj,2)

trong đó .điểm kinh nghiệm(β)= =θc

Vậy, mối quan hệ giữa các thử nghiệm này là gì? Làm thế nào người ta có thể làm một bài kiểm tra đơn giản của bảng dự phòng được trình bày trước đó? Nhìn vào việc hiệu chỉnh giá trị p từ các cách tiếp cận của clogit và McNemar dưới giá trị null, bạn sẽ nghĩ rằng chúng hoàn toàn không liên quan!

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

nhập mô tả hình ảnh ở đây


pb= =pcmộtd/bc= =1

Tôi dường như nhớ lại rằng người ta có thể tham số hóa bài kiểm tra của McNemar như một bài kiểm tra tỷ lệ chênh lệch, vì vậy tôi tự hỏi làm thế nào người ta có thể viết ra khả năng (khả năng có điều kiện?) Cho bài kiểm tra đó.
AdamO

Tôi không chắc nếu bạn muốn nói phiên bản chính xác của McNemar's Test. Breslow và ngày (1980) , tr. 164-166 và gói exact2x2 có thể là tài liệu tham khảo.
Randel

Câu trả lời:


4

Xin lỗi, đây là một vấn đề cũ, tôi tình cờ gặp vấn đề này.

Có một lỗi trong mã của bạn cho bài kiểm tra mcnemar. Hãy thử với:

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

nhập mô tả hình ảnh ở đây


Ồ Cảm ơn và chào mừng đến với cộng đồng. Chỉ cần làm rõ, McNemar hoạt động trên các cặp khớp nhau (?) Là những cặp như vậy bị loại ra khỏi guốc? Tôi không thấy id liên quan đến việc tính toán kết quả mcnemar như thế nào. Có lẽ tạo ra một mối tương quan trong những điều này sẽ giúp làm sáng tỏ những gì làm tắc nghẽn đang làm.
AdamO

2

Có 2 mô hình thống kê cạnh tranh. Mô hình # 1 (giả thuyết null, McNemar): xác suất đúng thành sai = xác suất không chính xác để sửa = 0,5 hoặc tương đương b = c. Mô hình # 2: xác suất đúng thành sai <xác suất không chính xác thành chính xác hoặc tương đương b> c. Đối với mô hình # 2, chúng tôi sử dụng phương pháp khả năng tối đa và hồi quy logistic để xác định các tham số mô hình đại diện cho mô hình 2. Các phương thức thống kê trông khác nhau vì mỗi phương thức phản ánh một mô hình khác nhau.


Bạn đang nói clogit không phải là một bài kiểm tra hai đuôi?
AdamO
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.