Làm thế nào để tính khoảng tin cậy của chặn x trong hồi quy tuyến tính?


9

Do lỗi tiêu chuẩn của hồi quy tuyến tính thường được đưa ra cho biến phản hồi, tôi tự hỏi làm thế nào để có được khoảng tin cậy theo hướng khác - ví dụ: đối với chặn x. Tôi có thể hình dung nó có thể là gì, nhưng tôi chắc chắn phải có một cách đơn giản để làm điều này. Dưới đây là một ví dụ trong R về cách hình dung điều này:

set.seed(1)
x <- 1:10
a <- 20
b <- -2
y <- a + b*x + rnorm(length(x), mean=0, sd=1)

fit <- lm(y ~ x)
XINT <- -coef(fit)[1]/coef(fit)[2]

plot(y ~ x, xlim=c(0, XINT*1.1), ylim=c(-2,max(y)))
abline(h=0, lty=2, col=8); abline(fit, col=2)
points(XINT, 0, col=4, pch=4)
newdat <- data.frame(x=seq(-2,12,len=1000))

# CI
pred <- predict(fit, newdata=newdat, se.fit = TRUE) 
newdat$yplus <-pred$fit + 1.96*pred$se.fit 
newdat$yminus <-pred$fit - 1.96*pred$se.fit 
lines(yplus ~ x, newdat, col=2, lty=2)
lines(yminus ~ x, newdat, col=2, lty=2)

# approximate CI of XINT
lwr <- newdat$x[which.min((newdat$yminus-0)^2)]
upr <- newdat$x[which.min((newdat$yplus-0)^2)]
abline(v=c(lwr, upr), lty=3, col=4)

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


1
Bạn có thể bootstrap này : library(boot); sims <- boot(data.frame(x, y), function(d, i) { fit <- lm(y ~ x, data = d[i,]) -coef(fit)[1]/coef(fit)[2] }, R = 1e4); points(quantile(sims$t, c(0.025, 0.975)), c(0, 0)). Đối với các khoảng dự đoán ngược, tệp trợ giúp chemCal:::inverse.predictđưa ra tham chiếu sau đây cũng có thể giúp tạo ra một CI: Massart, LM, Vandenginste, BGM, Buydens, LMC, De Jong, S., Lewi, PJ, Smeyers-Verbeke, J. (1997 ) Sổ tay Hóa học và Định lượng: Phần A, tr. 200
Roland

1
Những gì bạn hiển thị trong biểu đồ không phải là CI cho phần chặn. Bạn hiển thị các điểm mà đường tin cậy dưới và trên của các dự đoán đi qua trục.
Roland

1
Thông thường trong một hồi quy tuyến tính có một mô hình mà nói một cái gì đó như thế này: do đó Y s được coi là ngẫu nhiên và x như là cố định. Điều đó có thể được chứng minh bằng cách nói rằng bạn đang tìm kiếm một phân phối có điều kiện cho x s. Trong thực tế nếu bạn lấy một mẫu mới, thường thì không chỉ Y s mà cả x s cũng thay đổi, cho thấy trong một số trường hợp, chúng cũng nên được coi là ngẫu nhiên. Tôi tự hỏi nếu điều này mang theo sự sở hữu của
Yi=α+βxi+εiwhere ε1,εni.i.d. N(0,σ2),
YxxYx
Michael Hardy


1
@AdrienRenaud - Dường như với tôi rằng câu trả lời của bạn quá đơn giản với các khía cạnh bất đối xứng mà tôi đã đề cập, và được nhấn mạnh bằng bài tập bootstrapping mà Roland minh họa. Nếu tôi không hỏi quá nhiều, có lẽ bạn có thể mở rộng về cách tiếp cận khả năng mà bạn đã đề cập.
Marc trong hộp

Câu trả lời:


8

Làm thế nào để tính khoảng tin cậy của chặn x trong hồi quy tuyến tính?

Asumptions

  • yi=α+βxi+εi
  • ϵ|XN(0,σ2In)
  • Phù hợp với sử dụng bình thường tối thiểu

3 thủ tục để tính khoảng tin cậy trên x-chặn

Taylor mở rộng đơn hàng đầu tiên

Y=aX+bσaσbabσab

aX+b=0X=ba.

σXX

(σXX)2=(σbb)2+(σaa)22σabab.

MIB

Xem mã từ Marc trong hộp tại Cách tính khoảng tin cậy của chặn x trong hồi quy tuyến tính? .

CAPITani-POLLASTRI

CAPITANI-POLLASTRI cung cấp Hàm phân phối tích lũy và Hàm mật độ cho tỷ lệ của hai biến ngẫu nhiên bình thường tương quan. Nó có thể được sử dụng để tính khoảng tin cậy của giao thoa x trong hồi quy tuyến tính. Quy trình này cho (gần như) kết quả giống hệt như kết quả từ MIB.

β^N(β,σ2(XTX)1)β^

Thủ tục như sau:

  • ab
  • σa,σb,σab=ρσaσb
  • abN(a,b,σa,σb,ρ)xintercept=ba
  • xintercept=ba

Comparaison của 3 thủ tục

Các thủ tục được so sánh bằng cách sử dụng cấu hình dữ liệu sau:

  • x <- 1:10
  • một <- 20
  • b <- -2
  • y <- a + b * x + rnorm (chiều dài (x), trung bình = 0, sd = 1)

10000 mẫu khác nhau được tạo và phân tích bằng 3 phương pháp. Mã (R) được sử dụng để tạo và phân tích có thể được tìm thấy tại: https://github.com/adrienrenaud/stackExchange/blob/master/crossValidated/q221630 quyết.ipynb

  • MIB và CAPITANI-POLLASTRI cho kết quả tương đương.
  • Thứ tự mở rộng Taylor khác biệt đáng kể so với hai phương pháp khác.
  • MIB và CAPITANI-POLLASTRI bị bảo hiểm dưới mức bảo hiểm. 68% (95%) ci được tìm thấy có chứa giá trị thực 63% (92%) của thời gian.
  • Taylor đầu tiên mở rộng bị bảo hiểm quá mức. 68% (95%) ci được tìm thấy có chứa giá trị thực 87% (99%) của thời gian.

Kết luận

Phân phối x-chặn là không đối xứng. Nó biện minh cho một khoảng tin cậy không đối xứng. MIB và CAPITANI-POLLASTRI cho kết quả tương đương. CAPITANI-POLLASTRI có một lý lẽ biện minh tốt đẹp và nó cung cấp căn cứ cho MIB. MIB và CAPITANI-POLLASTRI bị bảo hiểm dưới mức trung bình và có thể được sử dụng để đặt khoảng tin cậy.


Cảm ơn câu trả lời tốt đẹp này. Liệu phương pháp này có nghĩa là lỗi tiêu chuẩn của chặn x là đối xứng? Các khoảng dự đoán trong hình của tôi ngụ ý rằng đây không phải là trường hợp và tôi đã thấy tham chiếu đến điều này ở nơi khác.
Marc trong hộp

Vâng, nó có nghĩa là một khoảng đối xứng. Nếu bạn muốn một đối xứng không đối xứng, bạn có thể sử dụng khả năng hồ sơ coi các tham số mô hình của bạn là tham số phiền toái. Nhưng nó còn nhiều việc hơn :)
Adrien Renaud

(σX/X)2

@fcop Đó là bản mở rộng Taylor. Hãy xem en.wikipedia.org/wiki/Propagation_of_uncerturdy
Adrien Renaud

2

Tôi muốn giới thiệu bootstrapping phần dư:

library(boot)

set.seed(42)
sims <- boot(residuals(fit), function(r, i, d = data.frame(x, y), yhat = fitted(fit)) {

  d$y <- yhat + r[i]

  fitb <- lm(y ~ x, data = d)

  -coef(fitb)[1]/coef(fitb)[2]
}, R = 1e4)
lines(quantile(sims$t, c(0.025, 0.975)), c(0, 0), col = "blue")

kết quả cốt truyện

Những gì bạn hiển thị trong biểu đồ là các điểm trong đó giới hạn dưới / trên của dải tin cậy của các dự đoán vượt qua trục. Tôi không nghĩ rằng đây là những giới hạn tin cậy của đánh chặn, nhưng có lẽ chúng là một xấp xỉ thô.


Tuyệt vời - điều này đã có vẻ hợp lý hơn so với ví dụ từ nhận xét của bạn. Cảm ơn một lần nữa.
Marc trong hộp
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.