7  다중선형회귀모형 (multiple linear regression model)

Acknowledgement: 본 절의 구성에는 다음 교재를 발췌하였다.

7.1 예제 (한치록 예제 10.2): 2년제 대학과 4년제 대학

  • 원출처: Wooldridge (2016)
  • 연구질문: 2년제 대학과 4년제 대학에 다닌 것이 노동의 생산성 (임금으로 측정)에 미치는 효과가 같은가?
  • 모형식:

log( wage )=β0+β1 jc+β2 univ +β3 exper +ϵ

  • jc: 2년제 대학(junior college) 이력
  • univ: 4년제 대학 이력
  • exper: 경력
data(twoyear, package="wooldridge")
dim(twoyear)
[1] 6763   23
names(twoyear)
 [1] "female"   "phsrank"  "BA"       "AA"       "black"    "hispanic"
 [7] "id"       "exper"    "jc"       "univ"     "lwage"    "stotal"  
[13] "smcity"   "medcity"  "submed"   "lgcity"   "sublg"    "vlgcity" 
[19] "subvlg"   "ne"       "nc"       "south"    "totcoll" 
## type "??twoyear" for the variable description
str(twoyear)
'data.frame':   6763 obs. of  23 variables:
 $ female  : int  1 1 1 1 1 0 0 0 0 0 ...
 $ phsrank : int  65 97 44 34 80 59 81 50 8 56 ...
 $ BA      : int  0 0 0 0 0 0 1 0 0 1 ...
 $ AA      : int  0 0 0 0 0 0 0 0 0 0 ...
 $ black   : int  0 0 0 0 0 0 0 1 0 1 ...
 $ hispanic: int  0 0 0 1 0 0 0 0 0 0 ...
 $ id      : num  19 93 96 119 132 156 163 188 199 200 ...
 $ exper   : int  161 119 81 39 141 165 127 161 138 64 ...
 $ jc      : num  0 0 0 0.267 0 ...
 $ univ    : num  0 7.03 0 0 0 ...
 $ lwage   : num  1.93 2.8 1.63 2.22 1.64 ...
 $ stotal  : num  -0.442 0 -1.357 -0.19 0 ...
 $ smcity  : int  0 1 0 1 0 1 1 0 1 0 ...
 $ medcity : int  0 0 0 0 0 0 0 0 0 0 ...
 $ submed  : int  0 0 0 0 0 0 0 0 0 0 ...
 $ lgcity  : int  0 0 0 0 0 0 0 1 0 0 ...
 $ sublg   : int  1 0 1 0 0 0 0 0 0 0 ...
 $ vlgcity : int  0 0 0 0 0 0 0 0 0 0 ...
 $ subvlg  : int  0 0 0 0 0 0 0 0 0 0 ...
 $ ne      : int  1 0 1 0 0 0 0 0 0 0 ...
 $ nc      : int  0 1 0 0 0 0 1 0 0 0 ...
 $ south   : int  0 0 0 0 1 1 0 1 0 1 ...
 $ totcoll : num  0 7.033 0 0.267 0 ...
 - attr(*, "time.stamp")= chr "25 Jun 2011 23:03"
model = lm(lwage ~ jc + univ + exper, data = twoyear)
summary(model)

Call:
lm(formula = lwage ~ jc + univ + exper, data = twoyear)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.10362 -0.28132  0.00551  0.28518  1.78167 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.4723256  0.0210602  69.910   <2e-16 ***
jc          0.0666967  0.0068288   9.767   <2e-16 ***
univ        0.0768762  0.0023087  33.298   <2e-16 ***
exper       0.0049442  0.0001575  31.397   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4301 on 6759 degrees of freedom
Multiple R-squared:  0.2224,    Adjusted R-squared:  0.2221 
F-statistic: 644.5 on 3 and 6759 DF,  p-value: < 2.2e-16

7.2 모형 가정

7.2.1 모집단 수준

  • 설명변수: X1,X2,,Xp
  • 반응변수: Y
  • X1=x1,X2=x2,,Xp=xp일 때의 Y의 조건부 기댓값이 xi(i=1,,p)들의 선형식이라고 가정한다. 여기서 β0,,βp는 알려지지 않았으나 고정된 실수 (모수) 이다.

(1)E[YX1=x1,X2=x2,,Xp=xp]=β0+β1x1+β2x2++βpXp

  • 동치 표현 (단, E(ε|X1=x1,,Xp=xp)=0 for all x1,,xp) (2)Y=β0+β1X1+β2X2++βpXp+ε

7.2.2 관찰자료 수준

  • 설명변수: Xi1,Xi2,,Xip, i=1,,n
  • 반응변수: Yi, i=,n

(3)Yi=β0+β1Xi1+β2Xi2++βpXip+εi,i=1,2,,n,

  • 위 식에서 εi는 오차를 나타내는 확률변수이다.
    • 가장 약하게는 E(εi|Xi1=xi1,,Xip=xip)=0 for all xij, i=1,,n, j=1,,p 가정이 필요하다.
    • 보통은 (단순선형회귀에서와 마찬가지로, 회귀계수 및 예측값에 대한 통계적 추론을 위해) 아래와 같이 정규성/등분산성/독립성을 가정한다.

εiiidN(0,σ2)

  • Xij (또는 xij): j번째 설명변수의 i번째 관찰값에 대응하는 확률변수). 이론적으로는 Xij들이 확률변수라고 가정하는 것이 가장 엄밀하나, Xij들이 nonrandom임을 가정하고 식을 유도하여도 이론적으로 지장이 없다.

7.2.3 계수의 해석

  • β0: Y절편 (intercept)

  • βj: YXj 간의 기울기. 다른 설명변수들의 값들이 고정되었을 때, Xj가 한단위만큼 차이나는 집단간의 Y 의 평균값은 βj 만큼 차이나게 된다. 즉 다음이 성립한다 (일반성을 잃지 않고 β1에 대하여만 적었다).

β1=E(Y|X1=x1,X2=x2,,Xp=xp)E(Y|X1=x1+1,X2=x2,,Xp=xp) x1,,xpR

  • 인과적 해석은 주의할 것: 물론 위 식은 “다른 설명변수들의 값들이 고정되었을 때 Xj 가 한 단위 증가하면 Y 의 평균값은 βj 만큼 변하게 된”’는 뜻처럼 보일 수도 있다. 특히 사회과학적 자료들에서는 설명변수들의 값이 같이 연동되어 움직이게 된다. 가령, X1를 한단위 증가시키면 다른 변수들도 따라서 움직이게 되므로, X1을 한단위 증가시킬 경우 β1만큼 증가하는 것이 아니다. 따라서 각 회귀계수 βj에 직접적으로 인과적인 의미를 붙여 해석하면 안된다.
    • 반대로 말하면, 회귀분석을 통하여 “X1의 영향 = β1”이 되도록 모델링하고 싶은 경우, 다른 변수들은 “X1을 변화시켜도 따라 변하지 않도록” 설계하여야 한다. 좀더 깊은 논의는 인과추론(causal inference) 분야에서 다룬다.
  • 상관계수를 이용한 해석: 만일 모든 변수가 표준화 되어있다면, βj=Corr(Y,Xj|X1,,Xj1,Xj+1,,Xp)이다. 즉 다른 변수들이 고정되었을 때의 조건부 상관계수이다.

7.2.4 행렬을 이용한 표현

회귀분석 문제에서 행렬표현은 손품을 줄이고, 추정량 계산작업에서 컴퓨터-효율적이고 의사소통-효율적인 표현을 가능케 한다.

  • 계수들의 벡터: β:=(β0,β1,,βp)T
  • i 번째 관측점에서의 설명변수들의 벡터: Xi=(1,Xi1,,Xip)T로 정의하자.
  • 식 (3)은 아래와 같이 재표현된다:

Yi=XiTβ+εi,i=1,2,,n.

  • 위 식을 i=1부터 i=n까지 일렬로 나열하면, 모든 관측점에서의 식을 하나의 행렬로 나타낼 수 있다:

Y=Xβ+ε

  • 여기서

Y=[Y1Y2Yn],X=[X1TX2TXnT]=[1X11X12X1p1X21X22X2p1Xn1Xn2Xnp],ε=[ε1ε2εn].

  • 이름들
    • Y: 반응벡터(response vector)
    • X: 계획행렬 또는 디자인행렬(design matrix), size는 n×(p+1)
    • ε: 오차벡터(error vector)
  • (예) 위 예제의 자료에서 처음 다섯 개만을 사용하여 행렬로 나타내어 보면,

[1.932.81.632.221.64]=[100161107.031191008110.267039100141][β0β1β2β3]+[ε1ε2ε3ε4ε5].

  • 재표현된 기본 모형 가정
    • E(ε)=0 (물론 X가 확률변수라라 가정하면 E[ε|X]=0)
    • E(Y)=Xβ
  • 오차항의 정규성/등분산성/독립성 가정이 추가된 경우,
    • εNn(0,σ2I)
    • YNn(β,σ2I)

7.3 최소제곱법을 이용한 회귀계수와 오차분산의 추정

7.3.1 최소제곱 해의 정의

β^=argminβRp+1[i=1n{YiXiTβ}2]=argminβRp+1[i=1n{Yi(β0+Xi1β1+Xi2β2++Xipβp)}2](4)=argminβRp+1(YXβ)T(YXβ)

7.3.2 최소제곱 해를 closed-form (대수적 표현이 가능한 형태)로 유도하기

  • (4)의 행렬표현에서 출발하자. 최소화의 목적함수를 S(β):=(YXβ)T(YXβ)라 하면,

Sβ=2XTY+2(XTX)β.

  • Sβ=0을 풀면, 그 해가 목적함수의 최솟값이 된다 ( S(β)의 이계도미분(Hessian)이 positive definite임을 쉽게 보일 수 있고, 따라서 S(β)은 아래로 볼록한 빗살무늬토기 모양의 함수이다). 그러므로 β 의 최소제곱추정량 β^

β^=(XTX)1XTY.

  • (예) 당연하게도 위 행렬 표현은 p=1인 경우 단순선형회귀에서의 해와 일치한다. (먼저 아래의 산식들을 유도해 보라)

XTX=[ni=1nXii=1nXii=1nXi2],XTY=[i=1nYii=1nXiYi]

(XTX)1=1ni=1nXi2(i=1nXi)2[i=1nXi2i=1nXii=1nXin]

7.3.3 예측값 predicted value (적합값 fitted value)

  • 이제 임의의 input x0Rp+1에 대하여, 조건부 기댓값 E(Y|X=x0)=x0Tβ을 아래와 같이 추정할 수 있다.

E^(Y|X=x0):=x0Tβ^

  • 대개 E^(Y|X)을 “Y”의 예측값이라고 부르며, 그 의미에서 Y^라고 부른다. 즉,

Y^0:=x0Tβ^.

  • i번째 관찰값들에 대한 예측값(적합값): Y^i:=XiTβ^.

  • 적합값들의 벡터: Y^:=Xβ^=X(XTX)1XTY

  • 잔차: YiY^i=YiXiTβ^

  • 잔차벡터: e:=YY^=YY^=(IX(XTX)1XT)Y.

7.3.4 오차항의 분산 σ2의 추정

  • 오차항 εi들에 대하여 독립성 및 등분산성이 가정된 경우, 오차분산 σ2=Var(εi)의 추정을 위하여는 (단순선형회귀에서와 마찬가지로) 잔차들의 제곱합을 사용한다.
  • 먼저 잔차 제곱합은 다음과 같이 계산 가능하다.

i=1n(YiY^i)2=eTe=(YXβ^)T(YXβ^)

  • β의 추정은 p+1의 스칼라를 추정하는 작업이므로 잔차제곱합은 (np1) 개의 자유도를 가진다(이 말은 외우자). 그래서, 아래와 같이 잔차제곱합을 자유도로 나눈 s2σ2 의 비편향추정량이다 (즉 E(s2)=σ2):

σ2^=s2:=1np1i=1n(YiY^i)2

7.3.5 최소제곱추정량의 성질

  • 기댓값

E[β^]=E[(XTX)1XTY]=(XTX)1XTE[Y]=(XTX)1XTXβ=β

  • 분산

Cov(β^)=Cov((XTX)1XTY)=(XTX)1XTCov(Y)X(XTX)1=σ2(XTX)1

  • 가우스-마르코프(Gauss-Markov) 정리: β^은 최량선형비편향추정량(BLUE, best linear unbiased estimator)임. 다시 말해서 선형비편향추정량들 중에서 제일 작은 분산을 가짐.

7.4 모형의 평가와 통계적 추론

7.4.1 (수정) 결정 계수

  • 변동의 분해는 여전히 중요하다: Recall

i=1n(YiY¯)2=i=1n(YiY^i)2+i=1n(Y^iY¯)2; SST=SSR+SSE.

  • SST: 총 변동, SSR: 추정회귀식에 의하여 설명되는 변동, SSE: 추정회귀식에 의하여 설명되지 않은 변동

  • 회귀모형에 설명변수들을 추가하면 반응변수 Y 의 변동을 더 많이 설명할 수 있으므로, SSR의 값은 계속 증가, SSE 의 값은 감소한다.

  • 설명력을 높이려면 많은 설명변수를 모형에 포함시키면 된다. 단 설명변수들의 개수가 많아지면 회귀모형이 복잡해지므로 모형의 해석성이 떨어진다. 회귀분석에서는 간결하면서도 설명력이 높은 모형이 우선 선호된다 (간결함의 원칙(principle of parsimony))

  • 결정 계수(R-square):

R2=SSRSST=1SSESST

  • 0R21이다. R2=1일 경우 모든 적합값이 관찰값과 동일하다. R2=0일 경우 모든 적합값이 동일값이다.
  • 회귀모형에 포함된 설명변수의 개수가 많아질수록 SSR 은 항상 증가하므로, R2도 항상 증가한다.
  • 따라서 결정 계수에 따르면 설명변수의 개수가 많은 모형이 항상 좋은 모형이 되는데, 이러한 단점을 보완한 지표가 아래 수정 결정 계수(adjusted R-square)이다.

Radj2=1SSE/(np1)SST/(n1)

7.4.2 회귀모형의 적합도 검정

  • 귀무가설 및 대립가설

H0:β1=β2==βp=0H1:(p1) 개의 회귀계수 중 적어도 하나는 0 이 아니다 

  • 즉, H0은 “모든 설명변수들과 반응변수가 서로 관련성이 없다”는 뜻이다.

  • 검정통계량: 귀무가설 H0:β1=β2==βp=0 하에서 다음 통계량을 고려해 보자. F0=SSR/(p1)SSE/(np)=MSRMSE

  • 만일 귀무가설 H0이 참이라 가정하면, 오차항 εi들에 대한 정규성/독립성/등분산성 가정 하에서 F0은 자유도가 (p1)(np) 인 F 분포를 따름을 유도할 수 있다.

  • 위 사실에 기반하여, F0>F(α;p1,np) 이면 귀무가설을 유의수준 α 하에서 기각할 수 있다.

  • 예제 revisited

> summary(model)
...

Residual standard error: 0.4301 on 6759 degrees of freedom
Multiple R-squared:  0.2224,    Adjusted R-squared:  0.2221 
F-statistic: 644.5 on 3 and 6759 DF,  p-value: < 2.2e-16

7.4.3 각 회귀계수에 대한 통계적 추론

7.4.3.1 수학적 원리

  • 오차항 εi들에 대한 정규성/독립성/등분산성 가정이 성립하면, εNn(0,σ2In)으로부터 다음 분포를 유도할 수 있다.

YNn(Xβ,σ2In)

β^Np+1(β,σ2(XTX)1)

  • 이 사실을 이용하면 각 β^j에 대한 신뢰구간 및 가설검정 절차의 수식 유도가 가능하다. 예를 들어, (XTX)1(j,j)번째 대각성분을 cjj라 하면,

β^jN(βj,cjjσ2),j=0,1,2,,p.

  • 위에서 모수 σ2 자리에 추정량을 σ2^=s2으로 끼워넣으면, β^j의 표준편차는 cjjs로 추정할 수 있다. 표준편차의 추정량은 표준오차(standard error) 라 부른다. 그러므로 β^j의 표준오차는 cjjs이다. 아무튼 위 사실과 표준오차를 이용하면 βj의 신뢰구간을 유도할 수 있으리라 예상할 수 있다.

  • Fact. 아래 tj가 자유도 (np1)t-분포를 따른다. tj=β^jβjcjjs,j=0,1,2,,p

7.4.3.2 신뢰구간

  • 따라서, 회귀계수 βj 에 대한 100(1α)% 신뢰구간은

β^jtα2;np1cjjs<βj<β^j+tα2;np1cjjs

  • 여기서 tα2;np1은 자유도가 np1인 분포의 상위 α/2 분위수를 뜻한다.

7.4.3.3 가설검정

  • 임의의 고정 값 βj,0에 대하여, 다음 가설을 고려하자.

H0:βj=βj,0

  • 검정통계량:
    tj=β^jβj,0cjjs

  • 이를 이용하여 아래와 같은 t 검정을 할 수 있다. 세번째는 “양측검정(two-sided test)”라 불린다. 대부분의 통계 소프트웨어는 기본적으로 양측검정의 결과를 출력하며, 대부분의 연구에서 양측검정의 결과를 사용하면 충분하다.

귀무가설 검정통계량의 값 대립가설 H0 기각역
H0:βj=βj,0 t=β^jβj,0SE(β^j) H1:βj<βj,0 t<t(α;np)
H1:βj>βj,0 t>t(α;np)
H1:βjβj,0 t>t(α2;np)
  • 예제 revisited
summary(model)

...
Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.4723256  0.0210602  69.910   <2e-16 ***
jc          0.0666967  0.0068288   9.767   <2e-16 ***
univ        0.0768762  0.0023087  33.298   <2e-16 ***
exper       0.0049442  0.0001575  31.397   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

...

7.4.4 반응변수의 조건부 기댓값에 대한 신뢰구간

  • 고정된 x0=(1,x01,x02,,x0p)Rp+1에 대하여, 아래처럼 반응변수의 조건부 기댓값 f(x0)의 신뢰구간을 구하고자 한다. f(x0)=x0Tβ=E(Y|X=x0)=β0+x01β1++x0pβp

  • 위의 논의들과 마찬가지로, β^의 분포에 기반하여 f(x0)의 신뢰구간을 건설할 수 있다.

  • Fact. f(x0)=x0Tβ 에 대한 100(1α)% 신뢰구간은

x0Tβ^±tα2,np1sx0T(XTX)1x

  • R 명령어:
predict(model, interval="confidence")

          fit      lwr      upr
1    2.268346 2.250104 2.286587
2    2.601385 2.576284 2.626485
3    1.872808 1.852887 1.892728
4    1.682936 1.653029 1.712843
5    2.169461 2.154151 2.184772
6    2.288123 2.269108 2.307137
...

7.4.5 반응변수에 대한 예측 구간 (prediction interval)

  • 반응변수의 조건부 기댓값에 대한 신뢰구간과는 별도로, X=x0으로 주어졌을 때의 Y의 조건부 분포 자체에 관심이 있을 수 있다. 예를 들어 조건부 기댓값의 신뢰구간은 대학 졸업자들의 평균소득의 95% 신뢰구간을 계산하고, 그와 달리 반응변수의 예측구간은 대학 졸업자들의 소득 분포의 95% 범위를 제공한다.

  • Fact. X=x0으로 고정된 Y의 조건부 분포의 95% 예측구간:

    • 구간 산출에 Y 자체의 랜덤성이 추가적으로 반영된다.

x0Tβ^±tα2,np1s1+x0T(XTX)1x0

  • R 명령어:
predict(model, interval="prediction")

          fit       lwr      upr
1    2.268346 1.4249417 3.111750
2    2.601385 1.7578043 3.444965
3    1.872808 1.0293658 2.716250
4    1.682936 0.8391992 2.526673
5    2.169461 1.3261155 3.012807
6    2.288123 1.4447015 3.131544
...