R

如何計算線性回歸中 x 截距的置信區間?

  • July 1, 2016

由於通常為響應變量給出線性回歸的標準誤差,我想知道如何獲得另一個方向的置信區間 - 例如對於 x 截距。我能夠想像它可能是什麼,但我確信必須有一種簡單的方法來做到這一點。以下是 R 中如何可視化的示例:

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)

在此處輸入圖像描述

如何計算線性回歸中 x 截距的置信區間?

假設

  • 使用簡單回歸模型.
  • 誤差具有以回歸量為條件的正態分佈
  • 使用普通最小二乘擬合

計算 x 截距置信區間的 3 個程序

一階泰勒展開

你的模型是估計標準差和在和參數和估計協方差. 你解決

那麼標準差在是(誰)給的:

MIB

請參閱框中的 Marc 代碼如何計算線性回歸中 x 截距的置信區間?.

卡皮塔尼-波拉斯特里

CAPITANI-POLLASTRI 為兩個相關的正態隨機變量的比率提供累積分佈函數和密度函數。它可用於計算線性回歸中 x 截距的置信區間。此過程給出(幾乎)與 MIB 相同的結果。

實際上,使用普通最小二乘並假設誤差的正態性,(已驗證)和是相關的(已驗證)。

程序如下:

  • 獲取 OLS 估計器和.
  • 得到方差-協方差矩陣並提取,.
  • 假使,假設和遵循雙變量相關正態分佈,. 然後是密度函數和累積分佈函數由 CAPITANI-POLLASTRI 提供。
  • 使用的累積分佈函數計算所需的分位數並設置置信區間。

3種程序的比較

使用以下數據配置對過程進行比較:

  • x <- 1:10
  • 一個 <- 20
  • b <- -2
  • y <- a + b*x + rnorm(長度(x),平均值=0,sd=1)

使用 3 種方法生成和分析 10000 個不同的樣本。用於生成和分析的代碼 (R) 可以在以下位置找到:https ://github.com/adrienrenaud/stackExchange/blob/master/crossValidated/q221630/answer.ipynb

  • MIB 和 CAPITANI-POLLASTRI 給出了相同的結果。
  • 一階泰勒展開與其他兩種方法顯著不同。
  • MIB 和 CAPITANI-POLLASTRI 存在覆蓋不足的問題。發現 68% (95%) ci 包含 63% (92%) 時間的真值。
  • 一階泰勒展開式存在過度覆蓋。發現 68% (95%) 的 ci 包含 87% (99%) 的真實值。

結論

x 截距分佈是不對稱的。它證明了不對稱的置信區間是合理的。MIB 和 CAPITANI-POLLASTRI 給出了相同的結果。CAPITANI-POLLASTRI 有一個很好的理論依據,它為 MIB 提供了依據。MIB 和 CAPITANI-POLLASTRI 存在適度的覆蓋不足,可用於設置置信區間。

引用自:https://stats.stackexchange.com/questions/221630

comments powered by Disqus