편의 추정

choyunjeong·2025년 1월 7일

17.1 다중공선성

지금까지 사용하여 온 선형회귀모형

y=Xβ+ϵy=X\beta + \epsilon

은 회귀계수 β\beta를 최소제곱법을 사용하여

b=(XX)1Xyb=(X'X)^{-1}X'y

로서 추정하고 이를 이용하여 회귀분석을 수행하였다. 그러나 독립변수들 간 상관관계가 커지면 최소제곱법 사용에 문제가 발생할 수 있는데 가장 대표적인 문제가 다중공선성 문제이다.

다중공선성이란 XX행렬에서 하나의 열이 다른 한 열, 또는 여러 열과 선형결합의 관계를 맺고 있는 상태를 말한다.

  • 만약 독립변수들 간에 완전한 다중공선성 관계라면 XX의 계수는 p+1p+1보다 작을 것이며, (XX)1(X'X)^{-1}이 존재하지 않아서 b=(XX)1Xyb=(X'X)^{-1}X'y를 구할 수 없을 것이다.

  • 가까운 다중공선성의 관계에 있더라도 이론상 (XX)1(X'X)^{-1}이 존재하나 실제로 구하기 어려움

\\[40pt]

(1) 가까운 다중공선성

가까운 다중공선성의 관계가 있는 경우 어려움을 파악하기 위하여 다음의 간단한 경우를 알아보자.

(1) 변수가 표준화 되어있는 경우

yi=β1x1i+β2x2i+ϵiϵiN(0,σ2), i=1,2,,n\begin{aligned} y_i &= \beta_1x_{1i}+\beta_2x_{2i}+\epsilon_i \\[10pt] \epsilon_i &\sim N(0,\sigma^2),\ i=1,2,\ldots,n \end{aligned}

과 같은 선형모형을 가정하고, 이 변수들이 모두 표준화된 변수라고 하자. 즉,

yi=x1i=x2i=0yi2=x1i2=x2i2=1\begin{aligned} \sum y_i = \sum x_{1i} = \sum x_{2i} = 0 \\[10pt] \sum y_i^2 = \sum x_{1i}^2 = \sum x_{2i}^2 = 1 \end{aligned}

이 성립한다고 하자. 이런 경우에는 절편향 β0\beta_0가 필요없다. 위 회귀모형의 XXX'XXyX'y

XX=[x11x1nx21x2n][x11x21x1nx2n]=[x1i2x1ix2ix2ix1ix2i2]=[1r12r121]Xy=[x11x1nx21x2n][y1yn]=[x1iyix2iyi]=[r1yr2y]\begin{aligned} X'X &= \begin{bmatrix} x_{11} & \cdots & x_{1n} \\[10pt] x_{21} & \cdots & x_{2n} \end{bmatrix} \cdot \begin{bmatrix} x_{11} & x_{21} \\[10pt] \vdots & \vdots \\[10pt] x_{1n} & x_{2n} \end{bmatrix} =\begin{bmatrix} \sum x_{1i}^2 & \sum x_{1i}x_{2i} \\[10pt] \sum x_{2i}x_{1i} & \sum x_{2i}^2 \end{bmatrix} =\begin{bmatrix} 1 & r_{12} \\[10pt] r_{12} & 1 \end{bmatrix} \\[30pt] X'y &= \begin{bmatrix} x_{11} & \cdots & x_{1n} \\[10pt] x_{21} & \cdots & x_{2n} \end{bmatrix} \cdot \begin{bmatrix} y_{1} \\[10pt] \vdots \\[10pt] y_{n} \end{bmatrix} =\begin{bmatrix} \sum x_{1i}y_i \\[10pt] \sum x_{2i}y_i \end{bmatrix} =\begin{bmatrix} r_{1y} \\[10pt] r_{2y} \end{bmatrix} \end{aligned}

이 되며, r12r_{12}는 변수 x1x_1x2x_2간의 표본상관계수를 의미하며, riyr_{iy}는 변수 xix_iyiy_i간의 표본상관계수이다.

절편이 있는 선형회귀모형의 표본상관계수는 다음과 같기 때문에

rxy=(x1ixˉ1)(x2ixˉ2)(x1ixˉ1)2(x2ixˉ2)2r_{xy}=\dfrac{\sum(x_{1i}-\bar{x}_1)(x_{2i}-\bar{x}_2)}{\sum(x_{1i}-\bar{x}_1)^2\sum(x_{2i}-\bar{x}_2)^2}

표준화된 변수의 표준화상관계수는

rxy=(x1i0)(x2i0)(x1i0)2(x1ix2i0)2=x1ix2ir_{xy}=\dfrac{\sum(x_{1i}-0)(x_{2i}-0)}{\sum(x_{1i}-0)^2\sum(x_{1i}x_{2i}-0)^2}=\sum x_{1i}x_{2i}

이제 β1\beta_1β2\beta_2의 최소제곱추정량 b1b_1b2b_2를 구하면

b=[b1b2]=(XX)1Xy=[11r122r121r122r121r12211r122][r1yr2y]=[11r122(r2yr12r1y)11r122(r2yr12r1y)]\begin{aligned} b=\begin{bmatrix} b_{1} \\[10pt] b_{2} \end{bmatrix} &= (X'X)^{-1}X'y \\[20pt] &= \begin{bmatrix} \dfrac{1}{1-r_{12}^2} & \dfrac{-r_{12}}{1-r_{12}^2} \\[10pt] \dfrac{-r_{12}}{1-r_{12}^2} & \dfrac{1}{1-r_{12}^2} \end{bmatrix} \cdot \begin{bmatrix} r_{1y} \\[10pt] r_{2y} \end{bmatrix} \\[30pt] &= \begin{bmatrix} \dfrac{1}{1-r_{12}^2}(r_{2y}-r_{12}r_{1y}) \\[10pt] \dfrac{1}{1-r_{12}^2}(r_{2y}-r_{12}r_{1y}) \end{bmatrix} \end{aligned}

이 되며, 이 추정량들의 분산은 Var(b)=(XX)1σ2\text{Var}(b)=(X'X)^{-1}\sigma^2의 공식으로부터

[Var(b1)Cov(b1,b2)Cov(b1,b2)Var(b2)]=[11r122r121r122r121r12211r122]σ2\begin{bmatrix} \text{Var}(b_1) & Cov(b_1,b_2) \\[10pt] Cov(b_1,b_2) & \text{Var}(b_2) \end{bmatrix} = \begin{bmatrix} \dfrac{1}{1-r_{12}^2} & \dfrac{-r_{12}}{1-r_{12}^2} \\[10pt] \dfrac{-r_{12}}{1-r_{12}^2} & \dfrac{1}{1-r_{12}^2} \end{bmatrix}\sigma^2

이 되며,

Var(bi)=σ21r122, i=1, 2\text{Var}(b_i)=\dfrac{\sigma^2}{1-r_{12}^2},\ i=1,\ 2

암을 알 수 있다. 따라서 x1x_1x2x_2간의 상관관계가 커서 r12=1|r_{12}|=1에 가까우면 Var(bi)\text{Var}(b_i)의 분모는 0에 가까운 값이 되며 따라서 bib_i의 분산은 매우 커진다. 즉, b1b_1b2b_2β1\beta_1β2\beta_2의 추정량으로 믿을 만한 것이 되지 못한다.

회귀계수 βi\beta_i의 신뢰구간을 구하기 위해 σ2\sigma^2의 불편추정량 MSEMSE를 이용하여 100(1α)%100(1-\alpha)\% 신뢰구간은

bi±t(n21;α/2)MSE1r122b_i \pm t(n-2-1;\alpha/2)\sqrt{\dfrac{MSE}{1-r_{12}^2}}

으로 얻어지며, MSE/(1r122)MSE/(1-r_{12}^2)의 값이 대단히 커지면 신뢰구간의 폭이 매우 커져서 신뢰구간은 의미없는 구간 추정이 될 것이다.

\\[30pt]

(2) 절편이 있는 일반적인 선형회귀모형

다음으로는 절편과 pp개의 독립변수를 가지고 있는 일반적인 선형회귀모형

y=Xβ+ϵ,ϵN(0,Iσ2)y=X\beta+\epsilon,\quad \epsilon\sim N(0,I\sigma^2)

에서 독립변수들간에 상관관계가 높은 경우에 어떠한 현상이 생기는가를 보자. Var(b)=(XX)1σ2\text{Var}(b)=(X'X)^{-1}\sigma^2의 관계로부터(각 분산은 대각행에 있으므로), 정리1.41을 이용하여 λi\lambda_i들이 XXX'X의 고유값일 때

i=0pVar(bi)=σ2tr[(XX)1]=σ2i=0pλi1\sum_{i=0}^{p}\text{Var}(b_i)=\sigma^2\text{tr}[(X'X)^{-1}]=\sigma^2\sum_{i=0}^{p}\lambda_i^{-1}

이 성립한다. 그런데 만약 xix_i들 간에 완전히 가까운 다중공선성이 있으면 행렬 XXX'X는 거의 비정칙성을 갖게 되며, 고유치 중에서 제일 작은 것은 거의 0에 가까워진다. 따라서 i=0pVar(bi)\sum_{i=0}^{p}\text{Var}(b_i)는 매우 커지며, 최소제곱추정량 bib_i의 사용에 문제점이 생기게 되는 것이다.

  • 정리1.41
tr(A)=i=1nλitr(AA)=i=1nλi2tr(A1)=i=1nλi1A=λ1λ2λntr(A)=r(A)if only idempo.\begin{aligned} \text{tr}(A) & =\sum_{i=1}^{n}\lambda_i \\[15pt] \text{tr}(A'A) &= \sum_{i=1}^{n}\lambda_i^2 \\[15pt] \text{tr}(A^{-1}) &= \sum_{i=1}^{n}\lambda_i^{-1} \\[15pt] |A| &= \lambda_1\lambda_2\ldots\lambda_n \\[15pt] \text{tr}(A) &= r(A)\quad \text{if only idempo.} \end{aligned}

\\[40pt]

(2) 다중공선성 판단 기준

다중공선성이 있는지 확인하는 방법으로 다음 두가지 방법이 대표적이다.

  1. 행렬 XXX'X의 고유값이 0 이거나 또는 0에 가까운 값

  2. VIF10VIF \ge 10

두번째 방법에 대해 알아보자. 선형회귀모형의 XX행렬이 n×(k+1)n\times(k+1)의 크기로 계수가 k+1k+1이고 표준화되어 있다고 하자. 즉,

x0j=1, j=1,2,,nxij=0,xij2=1, i=1,2,,px_{0j} = 1,\ j=1,2,\ldots,n \\[10pt] \sum x_{ij}=0,\quad \sum x_{ij}^2=1,\ i=1,2,\ldots,p

로 되어있다. β\beta의 최소제곱추정량은 b=(XX)1Xyb=(X'X)^{-1}X'y이며 E(bi)=βiE(b_i)=\beta_i가 성립되고

Var(bi)=ciiσ2, i=1,2,,p\text{Var}(b_i)=c_{ii}\sigma^2,\ i=1,2,\ldots,p

이다. 여기서 ciic_{ii}는 행렬 (XX)=C(X'X)=Ci+1i+1번째 대각선상의 값이다. XX행렬을

X=[xi, Xi]X=[x_i,\ X_i^*]

으로 나누어 보자. 여기서 xix_iXX 행렬의 ii번째 열이고, XiX_i^*xix_i를 뺀 XX행렬의 나머지이다. 그러면

C=(XX)1=([xiXi][xiXi])1=[xixixiXiXixiXiXi]1C=(X'X)^{-1}= \left(\begin{bmatrix} x_i \\[10pt] X_i^* \end{bmatrix} \begin{bmatrix} x_i & X_i^* \end{bmatrix}\right)^{-1}= \begin{bmatrix} x_i'x_i & x_i'X_i^* \\[10pt] X_i^*{'}x_i & X_i^*{'}X_i^* \end{bmatrix}^{-1}

이므로 ciic_{ii}

cii=(xixixiXi(XiXi)1Xixi)1c_{ii}=(x_i'x_i-x_i'X_i^*(X_i^*{'}X_i^*)^{-1}X_i^*{'}x_i)^{-1}

가 된다.

  • 참고
[ABCD]1=[(ABD1C)1(ABD1C)1BD1D1C(ABD1C)1D1+D1C(ABD1C)1BD1].\begin{bmatrix} A & B \\ C & D \end{bmatrix}^{-1} = \begin{bmatrix} (A - B D^{-1} C)^{-1} & -(A - B D^{-1} C)^{-1} B D^{-1} \\ -D^{-1} C (A - B D^{-1} C)^{-1} & D^{-1} + D^{-1} C (A - B D^{-1} C)^{-1} B D^{-1} \end{bmatrix}.

xix_i를 종속변수로 하고, 나머지 pp개의 독립변수에 대하여 회귀방정식을 적합시킬 때 얻어지는 결정계수를 Ri2R_i^2이라 하자. 즉 xix_i를 제외한 설명변수들이 xix_i를 얼마나 잘 설명해주는지 확인하는 계수이다. 그러면

Ri2=xiXi(XiXi)1Xixixixi(j=1nxij)2/n,i0R_i^2=\dfrac{x_i'X_i^*(X_i^*{'}X_i^*)^{-1}X_i^*{'}x_i}{x_i'x_i-(\sum_{j=1}^{n}x_{ij})^2/n},\quad i\neq 0

이 되는데 XX행렬이 표준화되었으므로 위의 Ri2R_i^2공식의 분모는 1이다. 따라서

cii=(xixixiXi(XiXi)1Xixi)1=(1Ri2)1\begin{aligned} c_{ii} &= (x_i'x_i-x_i'X_i^*(X_i^*{'}X_i^*)^{-1}X_i^*{'}x_i)^{-1} \\[10pt] &= (1-R_i^2)^{-1} \end{aligned}

로 간략히 표현되며,

Var(bi)=11Ri2\text{Var}(b_i)=\dfrac{1}{1-R_i^2}

이다. 만약 xix_iXiX_i^*의 각 열과 직교 (orthogonal)한다면, Ri2=0R_i^2=0이며, 만약 XiX_i^*의 열들의 선형조합으로 거의 표현할 수 있다면 Ri2=1R_i^2=1에 가깝게 된다. 후자의 경우는 XX행렬의 열들간 완전히 가까운 종속관계가 존재한다고 볼 수 있다. 따라서 Ri2R_i^2을 모든 ii에 대하여 구한 후 이 중에서 최대값을 뽑았을 때 이 값이 1이면 완전한 다중공선성이 존재하고, 이 값이 1에 가까우면 완전에 가까운 다중공선성의 관계가 있다고 하겠다. cii=(1Ri2)1c_{ii}=(1-R_i^2)^{-1}을 분산팽창계수라고 부르며 간략히 VIFVIF로 표시하기도 한다. Ri2R_i^2의 값이 1에 가까우면 물론 ciic_{ii}는 커지며, 보통 ciic_{ii}의 값이 10이상이면 다중공선성이 있다고 한다.

\\[40pt]


[참고문헌]

  • 회귀분석 제 3판 - 박성현

0개의 댓글