Ước tính tỷ lệ rủi ro được điều chỉnh trong dữ liệu nhị phân sử dụng hồi quy Poisson


9

Tôi quan tâm đến việc ước tính tỷ lệ rủi ro được điều chỉnh, tương tự như cách người ta ước tính tỷ lệ chênh lệch được điều chỉnh bằng phương pháp hồi quy logistic. Một số tài liệu (ví dụ: điều này ) chỉ ra rằng sử dụng hồi quy Poisson với lỗi tiêu chuẩn Huber-White là một cách dựa trên mô hình để thực hiện việc này

Tôi chưa tìm thấy tài liệu về cách điều chỉnh các đồng biến liên tục ảnh hưởng đến điều này. Mô phỏng đơn giản sau đây chứng minh rằng vấn đề này không đơn giản như vậy:

arr <- function(BLR,RR,p,n,nr,ce)
{
   B = rep(0,nr)
   for(i in 1:nr){
   b <- runif(n)<p 
   x <- rnorm(n)
   pr <- exp( log(BLR) + log(RR)*b + ce*x)
   y <- runif(n)<pr
   model <- glm(y ~ b + x, family=poisson)
   B[i] <- coef(model)[2]
   }
   return( mean( exp(B), na.rm=TRUE )  )
}

set.seed(1234)
arr(.3, 2, .5, 200, 100, 0)
[1] 1.992103
arr(.3, 2, .5, 200, 100, .1)
[1] 1.980366
arr(.3, 2, .5, 200, 100, 1)
[1] 1.566326 

Trong trường hợp này, tỷ lệ rủi ro thực sự là 2, được phục hồi đáng tin cậy khi hiệu ứng đồng biến nhỏ. Nhưng, khi hiệu ứng đồng biến lớn, điều này sẽ bị biến dạng. Tôi giả sử điều này phát sinh bởi vì hiệu ứng hiệp biến có thể đẩy lên trên giới hạn trên (1) và điều này làm ô nhiễm dự toán.

Tôi đã xem nhưng chưa tìm thấy tài liệu nào về việc điều chỉnh các hiệp phương sai liên tục trong ước tính tỷ lệ rủi ro được điều chỉnh. Tôi biết các bài viết sau trên trang web này:

nhưng họ không trả lời câu hỏi của tôi Có bất kỳ giấy tờ về điều này? Có bất kỳ cảnh báo được biết nên được thực hiện?



Ngoài ra, thống kê Q & A này.stackexchange.com/questions/18595/ cấp có thể giúp đỡ.
mdewey

Câu trả lời:


1

Tôi không biết liệu bạn có còn cần câu trả lời cho câu hỏi này không, nhưng tôi có một vấn đề tương tự trong đó tôi muốn sử dụng hồi quy Poisson. Khi chạy mã của bạn, tôi thấy rằng nếu tôi thiết lập mô hình là

model <- glm(y ~ b + x, family=binomial(logit)

thay vì mô hình hồi quy Poisson của bạn, kết quả tương tự xảy ra: OR ước tính là ~ 1,5 khi ce tiếp cận 1. Vì vậy, tôi không chắc chắn rằng ví dụ của bạn cung cấp thông tin về một vấn đề có thể xảy ra khi sử dụng hồi quy Poisson cho kết quả nhị phân.


1
Vấn đề với việc phù hợp với mô hình logit, trong khi nó không dẫn đến rủi ro dự đoán lớn hơn 1, là tỷ lệ chênh lệch là một ước tính sai lệch của tỷ lệ rủi ro và sự thiên vị tăng lên đáng kể khi kết quả trở nên phổ biến hơn. Bạn có thể chỉ định binomial(link=log)để thực sự phù hợp với một mô hình rủi ro tương đối, nhưng nó hiếm khi hội tụ vì kết quả quá dự đoán.
AdamO

1

Tôi thấy rằng việc sử dụng khả năng tối đa trực tiếp với hàm xác suất phù hợp sẽ cải thiện đáng kể việc ước tính rủi ro tương đối. Bạn có thể trực tiếp chỉ định hàm rủi ro bị cắt ngắn làm tỷ lệ dự đoán cho quy trình.

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

Thông thường chúng tôi sử dụng Hessian để tạo các TCTD cho ước tính. Tôi chưa khám phá khả năng sử dụng ma trận "B" (thịt) trong lỗi Huber White và sử dụng các rủi ro được trang bị để lấy ma trận "A" (bánh mì) ... nhưng tôi nghi ngờ nó có thể hoạt động! Khả thi hơn, bạn có thể sử dụng bootstrap để thu được các lỗi mô hình mạnh mẽ đối với mối quan hệ sai lệch trung bình sai chính tả.

## the negative log likelihood for truncated risk function
negLogLik <- function(best, X, y) { 
  pest <- pmin(1, exp(X %*% best))
  -sum(dpois(x = y, lambda = pest, log=TRUE))
}

set.seed(100)

sim <- replicate(100, {
  n <- 200
  X <- cbind(1, 'b'=rbinom(n, 1, 0.5), 'x'=rnorm(n))
  btrue <- c(log(0.3), log(2), 1)
  ptrue <- pmin(1, exp(X %*% matrix(btrue)))
  y <- rbinom(n, 1, ptrue) ## or just take y=ptrue for immediate results
  nlm(f = logLik, p = c(log(mean(y)),0,0), X=X, y=y)$estimate
})

rowMeans(exp(sim))

Cung cấp:

> rowMeans(exp(sim))
[1] 0.3002813 2.0680780 3.0888280

Hệ số trung bình cung cấp cho bạn những gì bạn muốn.

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.