불확실성이있는 데이터가 있다고 가정 해 봅시다. 예를 들면 다음과 같습니다.
X Y
1 10±4
2 50±3
3 80±7
4 105±1
5 120±9
불확실성의 특성은 예를 들어 반복 측정 또는 실험 또는 계측기 불확실성 일 수 있습니다.
나는 일반적으로 내가 할 것 인 R을 사용하여 곡선을 맞추고 싶습니다 lm
. 그러나 이것은 맞춤 계수의 불확실성과 결과적으로 예측 간격을 제공 할 때 데이터의 불확실성을 고려하지 않습니다. 문서를 보면 lm
페이지에 다음이 있습니다.
가중치는 서로 다른 관측치에 다른 분산이 있음을 나타내는 데 사용할 수 있습니다.
그래서 이것은 아마도 이것과 관련이 있다고 생각하게 만듭니다. 나는 그것을 수동으로하는 이론을 알고 있지만 lm
기능 으로 그렇게 할 수 있는지 궁금 합니다. 그렇지 않은 경우이를 수행 할 수있는 다른 기능 (또는 패키지)이 있습니까?
편집하다
일부 의견을 보면 여기에 몇 가지 설명이 있습니다. 이 예제를 보자 :
x <- 1:10
y <- c(131.4,227.1,245,331.2,386.9,464.9,476.3,512.2,510.8,532.9)
mod <- lm(y ~ x + I(x^2))
summary(mod)
나에게 준다 :
Residuals:
Min 1Q Median 3Q Max
-32.536 -8.022 0.087 7.666 26.358
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 39.8050 22.3210 1.783 0.11773
x 92.0311 9.3222 9.872 2.33e-05 ***
I(x^2) -4.2625 0.8259 -5.161 0.00131 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 18.98 on 7 degrees of freedom
Multiple R-squared: 0.986, Adjusted R-squared: 0.982
F-statistic: 246.7 on 2 and 7 DF, p-value: 3.237e-07
기본적으로 내 계수는 a = 39.8 ± 22.3, b = 92.0 ± 9.3, c = -4.3 ± 0.8입니다. 이제 각 데이터 포인트에 대해 오류가 20이라고 말합니다. 호출에 사용 weights = rep(20,10)
하고 lm
대신에 이것을 얻습니다.
Residual standard error: 84.87 on 7 degrees of freedom
그러나 계수의 표준 오차는 변하지 않습니다.
수동으로, 나는 행렬 대수를 사용하여 공분산 행렬을 계산하고 거기에 가중치 / 오류를 넣고 그것을 사용하여 신뢰 구간을 도출하는 방법을 알고 있습니다. lm 함수 자체 또는 다른 함수에서 수행하는 방법이 있습니까?
lm
정규화 된 분산을 가중치로 사용하고 모수 불확실성을 추정하기 위해 모형이 통계적으로 유효하다고 가정합니다. 이것이 사실이 아니라고 생각하면 (오류 막대가 너무 작거나 너무 크다) 불확실성 추정값을 신뢰해서는 안됩니다.
boot
R 의 패키지를 사용하여 부트 스트랩 할 수 있습니다 . 이후 부트 스트랩 된 데이터 세트에 대해 선형 회귀를 실행할 수 있습니다.