선형 회귀 분석에서 x 절편의 신뢰 구간을 계산하는 방법은 무엇입니까?


9

선형 회귀의 표준 오차는 일반적으로 반응 변수에 대해 주어지기 때문에 다른 방향으로 신뢰 구간을 얻는 방법이 궁금합니다 (예 : 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)

여기에 이미지 설명을 입력하십시오


1
이것을 부트 스트랩 할 수 있습니다 : 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)). 역 예측 간격의 도움말 파일은 chemCal:::inverse.predictCI 참조에 도움이 될 수있는 다음 참조를 제공합니다. Massart, LM, Vandenginste, BGM, Buydens, LMC, De Jong, S., Lewi, PJ, Smeyers-Verbeke, J. (1997 ) 화학량 론 및 양도 법 핸드북 : Part A, p. 200
— 롤랜드

1
그래프에 표시되는 것은 절편의 CI가 아닙니다. 예측의 하한 및 상한 신뢰 선이 축을 교차하는 지점을 표시합니다.
— Roland

1
선형 회귀 분석에서 종종 다음과 같은 모델이 있습니다.
와이나는=α+β엑스나는+ε나는어디 ε1,…ε엔∼이드 엔(0,σ2),
그래서 와이s는 무작위로 취급되며 엑스고정. 조건부 분포를 찾고 있다고 말하면 정당화 될 수 있습니다.엑스에스. 실제로 새 샘플을 채취하면 일반적으로와이의뿐만 아니라 엑스이러한 상황은 어떤 상황에서는 무작위로 간주되어야한다는 것을 시사한다. 이것이 이것이 타당성을 지니고 있는지 궁금합니다.…
— Michael Hardy


1
@AdrienRenaud-내가 언급 한 비대칭 측면을 감안할 때 귀하의 답변은 지나치게 단순하고 Roland가 묘사 한 부트 스트랩 운동으로 강조 표시됩니다. 너무 많이 묻지 않으면 언급 한 가능성 접근법을 확장 할 수 있습니다.
— Marc in the box

답변:


9

선형 회귀 분석에서 x 절편의 신뢰 구간을 계산하는 방법은 무엇입니까?

가정

  • 단순 회귀 모형을 사용하십시오. 와이나는=α+β엑스나는+ε나는.
  • 회귀 변수에 오류가 정규 분포를 갖습니다. ϵ|엑스∼엔(0,σ2나는엔)
  • 보통 최소 제곱을 사용하여 맞춤

x 절편에 대한 신뢰 구간 계산을위한 3 가지 절차

1 차 테일러 확장

당신의 모델은 와이=ㅏ엑스+비 추정 표준 편차 σㅏ 과 σ비 의 위에 ㅏ 과 비 모수 및 추정 공분산 σㅏ비. 당신은 해결

ㅏ엑스+비=0⇔엑스=−비ㅏ.

그런 다음 표준 편차 σ엑스 의 위에 엑스 에 의해 주어진다 :

(σ엑스엑스)2=(σ비비)2+(σㅏㅏ)2−2σㅏ비ㅏ비.

MIB

선형 회귀 분석에서 x 절편의 신뢰 구간을 계산하는 방법 에서 상자의 Marc의 코드를 참조하십시오 . .

CAPITANI-POLLASTRI

CAPITANI-POLLASTRI는 두 개의 상관 정규 랜덤 변수의 비율에 대한 누적 분포 함수 및 밀도 함수를 제공합니다. 선형 회귀 분석에서 x 절편의 신뢰 구간을 계산하는 데 사용할 수 있습니다. 이 절차는 MIB의 결과와 거의 동일한 결과를 제공합니다.

실제로 보통 최소 제곱을 사용하고 오차의 정규성을 가정하면, β^∼엔(β,σ2(엑스티엑스)−1) (확인) 및 β^의 상관 관계가 있습니다 (확인 됨).

절차는 다음과 같습니다.

  • 에 대한 OLS 추정기 얻기 ㅏ 과 비.
  • 분산 공분산 행렬을 구하고 추출 σㅏ,σ비,σㅏ비=ρσㅏσ비.
  • 그 가정 ㅏ 과 비 이변 량 상관 정규 분포를 따르십시오. 엔(ㅏ,비,σㅏ,σ비,ρ). 그런 다음 밀도 함수 및 누적 분포 함수엑스나는엔티이자형아르 자형씨이자형피티=−비ㅏ CAPITANI-POLLASTRI에서 제공합니다.
  • 누적 분포 함수 사용 엑스나는엔티이자형아르 자형씨이자형피티=−비ㅏ 원하는 Quantile을 계산하고 신뢰 구간을 설정합니다.

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는 동등한 결과를 제공합니다.
  • 1 차 Taylor 확장은 다른 두 가지 방법과 크게 다릅니다.
  • MIB와 CAPITANI-POLLASTRI는 범위가 부족합니다. 68 % (95 %) ci는 시간의 실제 값 63 % (92 %)를 포함하는 것으로 밝혀졌습니다.
  • 1 차 Taylor 확장은 오버 커버로 어려움을 겪습니다. 68 % (95 %) ci는 시간의 실제 값 87 % (99 %)를 포함하는 것으로 밝혀졌습니다.

결론

x 절편 분포는 비대칭입니다. 비대칭 신뢰 구간을 정당화합니다. MIB와 CAPITANI-POLLASTRI는 동등한 결과를 제공합니다. CAPITANI-POLLASTRI는 훌륭한 이론적 근거를 가지고 있으며 MIB의 근거를 제공합니다. MIB 및 CAPITANI-POLLASTRI는 중간 범위의 언더 커버 리를 겪으며 신뢰 구간을 설정하는 데 사용할 수 있습니다.


이 멋진 답변에 감사드립니다. 이 방법은 x 절편의 표준 오차가 대칭이라는 것을 의미합니까? 내 그림의 예측 간격은 이것이 사실이 아니라는 것을 암시하며 다른 곳에서 이것을 참조했습니다.
— Marc in the 상자

예, 대칭 간격을 의미합니다. 비대칭 형을 원한다면 모델 매개 변수를 귀찮은 매개 변수로 취급하는 프로파일 가능성을 사용할 수 있습니다. 그러나 더 많은 일이 있습니다 :)
— Adrien Renaud

그 표현을 얻는 방법에 대해 더 자세히 설명해 주시겠습니까? (σ엑스/엑스)2?

@fcop 테일러 확장입니다. 한 번 봐 가지고 en.wikipedia.org/wiki/Propagation_of_uncertainty
— 아드 르노

2

잔차를 부트 스트랩하는 것이 좋습니다.

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

결과 플롯

그래프에 표시되는 것은 예측 신뢰 구간의 하한 / 상한이 축을 교차하는 지점입니다. 나는 이것이 절편의 신뢰 한계라고 생각하지는 않지만 대략적인 근사치 일 수 있습니다.


훌륭합니다-이것은 귀하의 의견의 예보다 이미 합리적으로 보입니다. 다시 감사합니다.
— Marc in the box
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.