통계 공부 중 차후 필요 시 참고하기 위해 간단히 내용 정리를 보관하는 용도이다. 이 글을 읽으시는 분들에겐 친절하거나 상세한 설명은 아니니 양해해 주시고, 통계학/R 공부하시는 분들에게 적게나마 도움이 되면 좋겠다 😀
(단순)선형회귀모형에서 새로운 X값에 대한 예측을 수행할 때, 구간 추정을 위해 interval 매개변수를 사용한 코드이다.
> pred.frame <- data.frame(X = seq(3.5, 14.5, 0.2)) > #C-1. 구간으로-주어진 X의 Y평균(기댓값)에 대한 신뢰구간(신뢰대) 추정 > pc <- predict(market.lm, int = "confi", newdata = pred.frame) > #C-2. 구간으로-주어진 X값의 Y값 예측구간(예측대) 추정 > pp <- predict(market.lm, int = "predi", newdata = pred.frame) > > #C-1/2의 구간 추정식(아래설며에서 다룸)에서 SE부분의 식이 다름, 예측대가 MSE만큼 더 큼 > head(pc) fit lwr upr 1 7.852079 5.855247 9.848911 2 8.282014 6.344903 10.219125 3 8.711949 6.834076 10.589821 4 9.141883 7.322721 10.961046 5 9.571818 7.810782 11.332854 6 10.001753 8.298202 11.705304 > head(pp, 6) fit lwr upr 1 7.852079 3.885278 11.81888 2 8.282014 4.344937 12.21909 3 8.711949 4.803678 12.62022 4 9.141883 5.261481 13.02229 5 9.571818 5.718324 13.42531 6 10.001753 6.174188 13.82932 |
predict() 함수는 주어진 새로운 변수(X)에 대한 예측을 수행한 결과를 예측값(fit – 점추정값에 해당)으로 출력한다. 추가로 int[erval] 매개변수를 지정하면 구간의 하한/상한값(lwr, upr, 구간추정값)으로 출력한다. 여기서 int[erval] 매개변수의 값이 “confidence” 일 때와 “prediction” 일 때가 구간 범위값이 달라지는 것을 볼 수 있다. 비교해 보면 “prediction”이 더 커지는 것으로 보여진다. 왜 그럴까? 무엇이 다른걸까? 그게 의문이었다.
역시 친절한 설명을 찾기는 어려웠다, 적어도 이제 통계학 전공 2학년인 나에게는 그렇다^^ 스터디 때도 질문이 나올 것이고, 언젠가 또 중요하게 필요해 질 것이기에 이해한 부분까지만 정리해서 요약해둔다. 아직 식이 어떻게 유도되었는지까지 이해하지는 못했지만(그건 석사나 박사코스간다면^^) 현 시점에 나에게 필요한 것은 어떻게 값이 나온 것인지 뭐가 다른지만 알아도 목표는 달성된다.
P.S: 사실 지난 학기에 공부한 “통계학 개론”이나 이전에 공부한 R에서 나름 이해를 해 두었고 코드로 다 기록해두었는데 다시 보니 이해가 안되어서다^^;
우선 학술적인 의미로 간단히 표현하면 interval 매개변수의 “c”는 “주어진 X값에 대한 Y의 평균(기대값)에 대한 신뢰구간(신뢰대, 95% 수준)”을 도출하고, “p”는 “주어진 X에서 하나의 예측값 Y가 속하는 예측구간(예측대)”를 도출하는 것이다.
그런데 predict()는 어짜피 새로운 X값에 대한 예측을 수행하고 그 결과 예측된 Y값을 도출하는 것이니 기본적으로 점추정값(fit)은 동일하다. 다만 구간 추정 시 사용되는 신뢰구간에 포함되는 표준오차(SE) 부분의 식이 약간 다르다. SE가 다르다는 것은 결국 분산이 다른다는 것.
신뢰구간인 “c”에서의 분산은 다음과 같다,
반면 예측구간인 “p” 는 위 분산에서 을 더한 크기의 분산을 갖는다고 한다 즉, 식이 다음과 같다.
따라서, “p” 일 때 신뢰구간의 범위가 더 넓은 것이며 결과에 차이가 난다. 그래프를 보면 좀 더 보기 편하지만 지면상 생략한다.
참조문헌:
- 회귀모형 / 방송통신대학교
- R을 활용한 선형회귀분석 / 교우사
끝.