Tại sao khoảng tin cậy Bayes trong hồi quy đa thức này bị sai lệch trong khi khoảng tin cậy là chính xác?


9

Hãy xem xét cốt truyện dưới đây trong đó tôi mô phỏng dữ liệu như sau. Chúng tôi xem xét một kết quả nhị phân mà xác suất thực sự là 1 được biểu thị bằng đường màu đen. Mối quan hệ chức năng giữa hiệp phương trình và là đa thức bậc 3 với liên kết logistic (vì vậy nó không tuyến tính theo cách hai chiều).yobsxp(yobs=1|x)

Đường màu xanh là hồi quy logistic GLM phù hợp trong đó được giới thiệu là đa thức bậc 3. Các đường màu lục nét đứt là khoảng tin cậy 95% xung quanh dự đoán , trong đó các hệ số hồi quy được trang bị. Tôi đã sử dụng và cho điều này.xp(yobs=1|x,β^)β^R glmpredict.glm

Tương tự, dòng pruple là giá trị trung bình của hậu thế với khoảng tin cậy 95% cho của mô hình hồi quy logistic Bayes sử dụng đồng phục trước. Tôi đã sử dụng gói có chức năng này (cài đặt cung cấp cho đồng phục không chính xác trước).p(yobs=1|x,β)MCMCpackMCMClogitB0=0

Các chấm đỏ biểu thị các quan sát trong tập dữ liệu mà , các chấm đen là các quan sát với . Lưu ý rằng như phổ biến trong phân loại / phân tích rời rạc nhưng không quan sát thấy .yobs=1yobs=0yp(yobs=1|x)

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

Một số điều có thể được nhìn thấy:

  1. Tôi mô phỏng trên mục đích rằng là thưa thớt trên tay trái. Tôi muốn rằng sự tự tin và khoảng tin cậy sẽ được mở rộng ở đây do thiếu thông tin (quan sát).x
  2. Cả hai dự đoán đều thiên về phía bên trái. Sự thiên vị này được gây ra bởi bốn điểm màu đỏ biểu thị quan sát, điều này cho thấy sai rằng hình thức chức năng thực sự sẽ xuất hiện ở đây. Thuật toán không đủ thông tin để kết luận dạng chức năng thực sự bị uốn cong xuống.yobs=1
  3. Khoảng tin cậy sẽ rộng hơn như mong đợi, trong khi khoảng tin cậy thì không . Trong thực tế, khoảng tin cậy bao quanh không gian tham số hoàn chỉnh, do đó cần phải thiếu thông tin.

Có vẻ như khoảng tin cậy là sai / quá lạc quan ở đây đối với một phần của . Đó thực sự là hành vi không mong muốn cho khoảng tin cậy bị thu hẹp khi thông tin trở nên thưa thớt hoặc hoàn toàn không có. Thông thường đây không phải là cách một khoảng tin cậy phản ứng. Ai đó có thể giải thích:x

  1. Lý do cho điều này là gì?
  2. Những bước tôi có thể thực hiện để đi đến một khoảng đáng tin cậy tốt hơn? (nghĩa là, một trong đó có ít nhất là dạng chức năng thực sự, hoặc tốt hơn là rộng bằng khoảng tin cậy)

Mã để có được các khoảng dự đoán trong đồ họa được in ở đây:

fit <- glm(y_obs ~ x + I(x^2) + I(x^3), data=data, family=binomial)
x_pred <- seq(0, 1, by=0.01)
pred <- predict(fit, newdata = data.frame(x=x_pred), se.fit = T)
plot(plogis(pred$fit), type='l')
matlines(plogis(pred$fit + pred$se.fit %o% c(-1.96,1.96)), type='l', col='black', lty=2)


library(MCMCpack)
mcmcfit <- MCMClogit(y_obs ~ x + I(x^2) + I(x^3), data=data, family=binomial)
gibbs_samps <- as.mcmc(mcmcfit)
x_pred_dm <- model.matrix(~ x + I(x^2) + I(x^3), data=data.frame('x'=x_pred))
gibbs_preds <- apply(gibbs_samps, 1, `%*%`, t(x_pred_dm))
gibbs_pis <- plogis(apply(gibbs_preds, 1, quantile, c(0.025, 0.975)))
matlines(t(gibbs_pis), col='red', lty=2)

Truy cập dữ liệu : https://pastebin.com/1H2iXiew cảm ơn @DeltaIV và @AdamO


Nếu ai đó có thể giải thích cho tôi cách chia sẻ bảng với dữ liệu, tôi có thể làm như vậy.
tomka

Bạn có thể sử dụng dputtrên khung dữ liệu chứa dữ liệu và sau đó bao gồm dputđầu ra dưới dạng mã trong bài đăng của bạn.
DeltaIV

1
@tomka ơi tôi hiểu rồi. Tôi không bị mù màu nhưng rất khó để tôi thấy sự khác biệt màu xanh lá cây / xanh dương!
AdamO

1
@AdamO hy vọng điều này tốt hơn
tomka

Câu trả lời:


6

Đối với mô hình frequentist, phương sai của các phóng đại dự đoán theo tỷ lệ với bình phương khoảng cách từ trọng tâm của . Phương pháp tính toán các khoảng dự đoán của bạn cho GLM Bayes sử dụng các lượng tử theo kinh nghiệm dựa trên đường cong xác suất được trang bị, nhưng không tính đến đòn bẩy củaXXX

GLM thường xuyên nhị thức không khác với GLM có liên kết nhận dạng ngoại trừ phương sai tỷ lệ với giá trị trung bình.

Lưu ý rằng bất kỳ biểu diễn đa thức nào của xác suất logit đều dẫn đến dự đoán rủi ro hội tụ về 0 là và 1 là hoặc ngược lại, tùy thuộc vào dấu hiệu của thuật ngữ thứ tự đa thức cao nhất .X XX

Đối với dự đoán thường xuyên, độ lệch bình phương (đòn bẩy) tăng tỷ lệ thuận trong phương sai dự đoán chi phối xu hướng này. Đây là lý do tại sao tốc độ hội tụ đến các khoảng dự đoán xấp xỉ bằng [0, 1] nhanh hơn tốc độ hội tụ logit đa thức bậc ba với xác suất 0 hoặc 1 số ít.

Điều này không phải là như vậy đối với các lượng tử được trang bị sau của Bayes. Không có sử dụng rõ ràng độ lệch bình phương, vì vậy chúng tôi chỉ đơn giản dựa vào tỷ lệ chi phối 0 hoặc 1 xu hướng để xây dựng các khoảng dự đoán dài hạn.

Này được thực hiện rõ ràng bằng cách ngoại suy rất xa ngoài vào những thái cực của .X

Sử dụng mã tôi đã cung cấp ở trên, chúng tôi nhận được:

> x_pred_dom <- model.matrix(~ x + I(x^2) + I(x^3), data=data.frame('x'=c(1000)))
> gibbs_preds <- plogis(apply(gibbs_samps[1000:10000, ], 1, `%*%`, t(x_pred_dom))) # a bunch of 0/1s basically past machine precision
> prop.table(table(gibbs_preds))
gibbs_preds
         0          1 
0.97733585 0.02266415 
> 

Vì vậy, 97,75% thời gian, thuật ngữ đa thức thứ ba là âm. Điều này có thể kiểm chứng được từ các mẫu Gibbs:

> prop.table(table(gibbs_samps[, 4]< 0))

 FALSE   TRUE 
0.0225 0.9775 

Do đó xác suất dự đoán hội tụ về 0 khi chuyển sang vô cùng. Nếu chúng ta kiểm tra các SE của mô hình Bayes, chúng ta thấy ước tính của đa thức thứ ba là -185,25 với se 108,81 có nghĩa là 1,70 SD từ 0, vì vậy sử dụng luật xác suất thông thường, nó sẽ giảm xuống dưới 0 95,5% thời gian ( không phải là một dự đoán khác biệt khủng khiếp dựa trên 10.000 lần lặp). Chỉ là một cách khác để hiểu hiện tượng này.X

Mặt khác, sự phù hợp thường xuyên thổi lên đến 0,1 như mong đợi:

freq <- predict(fit, newdata = data.frame(x=1000), se.fit=T)
plogis(freq$fit + c(-1.96, 1.96) %o% freq$se.fit)

cho:

> plogis(freq$fit + c(-1.96, 1.96) %o% freq$se.fit)
     [,1]
[1,]    0
[2,]    1

Tuy nhiên: không phải mô hình Bayes quá tự tin vào các khu vực của dữ liệu mà nó không thấy ví dụ nào? Tôi biết hậu thế Bayes hoặc phân phối dự đoán thường có hành vi rất khác nhau (nghĩa là giống như khoảng thời gian conf.). Tôi nghi ngờ có một số tác động của trước. Nếu bạn thao tác trong bạn chỉ định độ chính xác của trước bình thường và có thể quan sát khá nhiều tác động đến khoảng tin cậy. xB0MCMClogit
tomka

@tomka Tôi không biết trả lời chính xác như thế nào, vì nó có vẻ tiếp tuyến với câu hỏi trong tầm tay. Điều quan trọng nhất là chỉ ra rằng các phương pháp tính PI này không thực sự có thể so sánh được, đặc biệt là khi chúng liên quan đến phép ngoại suy. Tất nhiên, với suy luận Bayes, nếu bạn sử dụng thông tin trước, bạn sẽ đạt được hiệu quả khi ưu tiên là đúng và mất khi ưu tiên sai.
AdamO

Chỉ để cho bạn biết rằng tôi vẫn đang suy nghĩ về câu trả lời của bạn. Tôi vẫn cảm thấy kỳ lạ là hậu thế không phản ứng với sự thưa thớt bằng cách mở rộng. Tôi tin rằng đối với các linh mục khác, một hành vi tốt hơn trong khu vực thưa thớt có thể đạt được. Tôi không thể xác định chính xác điều này vào lúc này; Tôi có lẽ sẽ tăng cường câu hỏi với một ví dụ trong đó khoảng đáng tin cậy hoạt động theo cách tôi mong đợi, ngay cả trong trường hợp ngoại suy (cụ thể là tôi đang nghĩ về hồi quy tuyến tính Bayes bình thường, đặc biệt). Khi tôi làm tôi sẽ cho bạn biết.
tomka
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.