[회귀모형] 2강. 추정, 검정, 가중회귀

단순회귀모형의 기본 가정

회귀분석을 제대로 하기 위해서는 몇 가지 기본적인 가정을 충족해야 합니다.
이는 분석 결과의 신뢰성을 확보하기 위해 꼭 필요한 과정입니다.

  1. 선형성(Linearity) : 설명변수 X와 반응변수 Y는 선형 관계를 가져야 한다

  2. 등분산성(Equal Variance) : 오차의 분산이 일정해야 한다

  3. 독립성(Independence) : 오차끼리는 서로 독립이어야 한다

  4. 정규성(Normality) : 오차항은 정규분포를 따라야 한다

 

회귀계수의 신뢰구간 추정

회귀계수는 표본에서 얻은 값이므로, 이를 통해 모집단의 진짜 값이 어느 범위에 있을지 신뢰구간을 구해볼 수 있습니다.

신뢰구간 공식

신뢰구간은 아래 공식을 사용하여 계산합니다.

 

β^±tα/2,n2×표준오차\hat{\beta} \pm t_{\alpha/2, n-2} \times \text{표준오차}

여기서

  • β^\hat{\beta}

    : 회귀계수 추정값

  • tα/2,n2t_{\alpha/2, n-2}

    : 자유도 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에 영향을 미치는지 검정합니다.
귀무가설

H0:β1=0H_0 : \beta_1 = 0

vs

대립가설

H1:β10H_1 : \beta_1 \neq 0

t-통계량 계산공식

 

t=β^1표준오차t = \frac{\hat{\beta}_1}{\text{표준오차}}

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의 실제값에 대한 신뢰범위
 

β1\beta_1검정

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
다음 중 회귀계수

\beta_1의 유의성 검정을 위해 사용하는 값은 무엇인가요?

① Z-값
② F-값
③ t-값
④ p-값

정답: ③
해설: 회귀계수의 유의성 검정에는 t-검정을 이용합니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다