
단순회귀모형의 기본 가정
회귀분석을 제대로 하기 위해서는 몇 가지 기본적인 가정을 충족해야 합니다.
이는 분석 결과의 신뢰성을 확보하기 위해 꼭 필요한 과정입니다.
-
선형성(Linearity) : 설명변수 X와 반응변수 Y는 선형 관계를 가져야 한다
-
등분산성(Equal Variance) : 오차의 분산이 일정해야 한다
-
독립성(Independence) : 오차끼리는 서로 독립이어야 한다
-
정규성(Normality) : 오차항은 정규분포를 따라야 한다
회귀계수의 신뢰구간 추정
회귀계수는 표본에서 얻은 값이므로, 이를 통해 모집단의 진짜 값이 어느 범위에 있을지 신뢰구간을 구해볼 수 있습니다.
신뢰구간 공식
신뢰구간은 아래 공식을 사용하여 계산합니다.
여기서
-
: 회귀계수 추정값
-
: 자유도 n-2 를 갖는 t분포의 임계값
-
표준오차는 회귀분석 결과에서
Std. Error
로 확인 가능
R 코드 예시
1
2
3
4
5
6
7
|
q.val = qt(0.975, 13) # 유의수준 0.05 → 0.975
q.val
# 기울기 β1 신뢰구간
2.1497 – q.val*0.1548
2.1497 + q.val*0.1548
|
cs |
결과 : [1.815, 2.484]
R의 qt()
함수는 t-분포의 분위수(quantile) 값을 계산하는 함수
즉, qt(0.975, 13)
는
자유도 13인 t-분포에서 상위 2.5% (혹은 하위 97.5%) 지점의 t값을 구하는 명령어입니다.
이 값은 양측 95% 신뢰구간을 계산할 때 사용하는 임계값이에요.
기댓값 신뢰구간과 예측값 신뢰구간
-
기댓값 신뢰구간(confidence interval) : 특정 X 값에서 Y의 평균값에 대한 신뢰구간
-
예측값 신뢰구간(prediction interval) : 특정 X 값에서 Y의 실제값에 대한 신뢰구간. 항상 기댓값 신뢰구간보다 넓습니다.
R 코드 예시
1
2
3
|
pred_frame = data.frame(X=seq(3.5, 14.5, 0.2))
pc = predict(market_lm, int=”c”, newdata=pred_frame)
pp = predict(market_lm, int=”p”, newdata=pred_frame)
|
cs |
-
int="c"
: 기댓값 신뢰구간 -
int="p"
: 예측값 신뢰구간
기울기의 검정
설명변수 X가 반응변수 Y에 영향을 미치는지 검정합니다.
귀무가설
vs
대립가설
t-통계량 계산공식
R 코드 예시
1
2
|
qt(0.975, 13) # 기각역 t값 확인
2*(1-pt(13.889, 13)) # p-value 계산
|
cs |
-
p-value가 0.05보다 작으면 귀무가설 기각 → 회귀계수 유의함
가중회귀(Weighted Regression)
관측값마다 신뢰도가 다를 때, 각 관측값에 가중치를 부여하여 회귀분석을 수행하는 방법입니다.
R 코드 예시
1
2
3
4
5
|
x = c(1,2,3,4,5)
y = c(2,3,5,8,7)
w = 1/x
w_lm = lm(y ~ x, weights=w)
summary(w_lm)
|
cs |
-
weights=w
옵션으로 가중치를 설정합니다.
분석사례 — 슈퍼마켓 자료
데이터 불러오기 및 산점도
회귀모형 적합 및 요약
잔차 확인 및 잔차도 그리기
예측값 신뢰구간 그리기
predict()
함수는 회귀모형(super_lm)으로 새로운 데이터나 기존 데이터의 예측값을 구하는 함수
interval = "predict"
옵션을 주면 예측값의 신뢰구간(fit
, lwr
, upr
)도 함께 계산
geom_point() : 산점도를 찍는 함수
stat_smooth(method = lm) : 산점도 위에 회귀선(직선)을 그려주는 함수
geom_line(aes(y=lwr), col = “coral2”, linetype = “dashed”) : 신뢰구간의 하한선(lwr
)을 선으로 그림
geom_line(aes(y=upr), col = “coral2”, linetype = “dashed”) : 신뢰구간의 상한선(upr
)을 선으로 그림
구분 | 의미 | 적용 위치 |
회귀선의 신뢰구간 (Confidence Interval) |
이 x값에서의 평균 y값이 있을 구간 | 회색 음영 영역 |
예측값의 신뢰구간 (Prediction Interval) |
이 x값에서의 새로운 y값이 나올 구간 | coral2 점선 |
중요 내용 정리
개념 | 설명 |
---|---|
신뢰구간 | 회귀계수 또는 예측값의 값이 포함될 범위 |
기댓값 신뢰구간 | 특정 X값에서 Y의 평균값에 대한 신뢰범위 |
예측값 신뢰구간 | 특정 X값에서 Y의 실제값에 대한 신뢰범위 |
검정 |
X가 Y에 유의한 영향을 미치는지 검정 |
가중회귀 | 관측값마다 신뢰도를 달리하여 회귀분석 수행 |
R 함수 | lm() , predict() , qt() , pt() , anova() , ggplot() |
함수 | 설명 | 예제 |
---|---|---|
dt(x, df) |
확률밀도함수 (PDF) 값 반환 | dt(2, df=10) → t=2일 때 밀도값 |
pt(q, df) |
누적분포함수 (CDF) 값 반환 | pt(2, df=10) → P(T ≤ 2) 확률 |
qt(p, df) |
누적확률 p에 해당하는 t값 (역함수) | qt(0.975, df=10) → 상위 2.5% t값 |
rt(n, df) |
랜덤으로 t-분포 값 n개 생성 | rt(5, df=10) → t분포에서 5개 값 |
객관식 예제문제 (정답 및 해설)
문제 1
다음 중 신뢰구간에 대한 설명으로 옳지 않은 것은 무엇인가요?
① 신뢰구간은 표본에서 계산한 값이다.
② 기댓값 신뢰구간은 예측값 신뢰구간보다 넓다.
③ 유의수준이 5%라면 신뢰수준은 95%이다.
④ 표본수가 늘어나면 신뢰구간 폭이 좁아진다.
정답: ②
해설: 기댓값 신뢰구간은 예측값 신뢰구간보다 좁습니다.
문제 2
가중회귀 분석에서 lm()
함수의 옵션으로 사용되는 것은 무엇인가요?
① weights=
② weighted=
③ weight=
④ wt=
정답: ①
해설: 가중치를 부여하려면 weights=
옵션을 사용합니다.
문제 3
다음 중 회귀계수
β1의 유의성 검정을 위해 사용하는 값은 무엇인가요?
① Z-값
② F-값
③ t-값
④ p-값
정답: ③
해설: 회귀계수의 유의성 검정에는 t-검정을 이용합니다.