본문 바로가기
Statistics

[회귀]다중공선성 / Multicollinearity / R

by jangpiano 2021. 2. 17.
반응형

<다중공선성 Multicollinearity>

 

다중공선성 문제(Multicollinearity)란, 회귀모형을 구성하는 설명변수(X)간의 강한 상관관계가 나타나는, 회귀분석 시 부정적인 영향을 끼치는 문제 입니다. 

 

다섯개의 설명변수 (X1, X2, X3, X4, X5) 가 회귀모형에 포함되어, Y와의 선형관계를 이룬다고 할때, 어떠한 설명변수가 다른 설명변수와 완벽한 선형 독립이 아닌것이 관측될때, 회귀분석에서는 '회귀모형에 다중공선성 문제가 존재한다'고 이야기 하죠. 

 

설명변수 사이에 완벽한 선형의 상관관계에 대해서는 '완벽한 공선성 (Exact Collinearity)'라고 부릅니다. 

aX1 + bX2 = c 에서 a,b,c는 모두 상수이므로, 변수 X1은 X2에 어떤 수가 대입되는지에 따라 완벽하게 자동적으로 결정되죠. 

위와 같은 변수간의 관계를 완벽한 공선성이라고 부르는 것입니다. 

 

회귀분석에서는, 설명변수의 독립성을 가정하고 분석을 시행합니다.

어떠한 설명변수의 영향력이 다른 설명변수에 미치는 순간, 설명변수들을 통해 반응변수를 예측할때, 큰 혼란이 올 수 있습니다. 모형에, X 설명변수간의 상관관계가 포함되어, X가 Y에 끼치는 영향이 오롯이 드러나지 않게 되기 때문이죠. 다중공선성은, '설명변수의 독립성' 가정을 위배할때 발생하는 문제입니다. 

 

X1, X2, X3 을 설명변수로 하고, Y를 반응변수로 하는 회귀모형을 예를 들어 설명하겠습니다. 

Y = B0 + B1*X1 + B2*X2 + B3*X3 + ε

X1, 과 X2의 강한 상관관계가 존재한다고 가정할때,

X1의 변수가  변화하면, X2역시 자동적으로 변화하여, X1의 독립적인 변화가 Y의 변화에 오롯이 드러나는것이 아니기 때문에, 회귀모형에서 X1에 대한 회귀계수(B1)을 적절히 예측할 수 없게 됩니다. 따라서, 다중공선성 문제가 발생하게 되는것이죠. 

 

X1을 일주일간 총 공부시간, X2를  일주일 학업 진도량이라고 설정하고, Y를 학업 성취도로 설정한 회귀모형을 생각할때, 

X1과 X2사이에는 충분한 양의 상관관계가 예측됩니다.

반대로, X1을 일주일 스마트폰 사용량, X2를  일주일 학업 진도량이라고 설정하고, Y를 학업 성취도로 설정한 회귀모형을 생각할때, X1과 X2사이에는 충분한 음의 상관관계가 예측됩니다. X1의 변화는 X2에도 변화를 초래하기 때문에, 회귀모형에서 X1의 변화에 따른 Y의 변화를 오롯이 파악할 수가 없습니다. 따라서 B1의 추정에 오류가 생기게 되는것이죠. 

 

다중 공선성이 회귀모형의 설명변수 사이에 존재하는 경우, 추정된 회귀계수의 분산이 매우 커집니다. 

 

설명변수의 개수가 두개 이상인, 다중 회귀분석을 시행할때, 

회귀계수 추정량의 분산은 다음과 같이 구해집니다.

설명변수가 X1, X2로 두개일때, r^2는 두 설명변수의 표본상관계수를 나타냅니다. r^2가 0일때 설명변수 사이의 상관관계가 최소가 되고, 1에 근접할수록, 설명변수 사이의 상관관계가 매우 커지게 됩니다. 

 

설명변수가 X1, X2, ..., Xn으로 n 개일때,  R(j)^2는 설명변수 X(j)를 반응 변수로 하고, 나머지 n-1개의 설명변수들을 설명변수로 채택한 회귀모형의 결정계수(coefficient of determinant) 입니다. X(j)가 나머지 설명변수들의 선형결합으로 예측이 가능하다면, 결정계수( R(j)^2)가 1에 가까워집니다.  R(j)^2와 j 번째 회귀계수 추정량의 분산은 비례 하므로,  R(j)^2가 1에 가까워 질수록 j 번째 회귀계수 추정량의 분산은 매우 커지게 되죠. 

 

이렇듯, 다중 공선성이 회귀모형의 설명변수 사이에 존재하는 경우, 추정된 회귀계수의 분산이 매우 커집니다. 

이러한 다중 공선성 문제가 발생할때, 회귀계수 추정량의 분산이 커지게 되어, 회귀계수 추정값의 검정통계량값의 분모가 커지므로, 검정통계량 값이 작아지게, p-value가 유의수준(significance level)보다 작아지게 되고 따라서 , 회귀계수 유의성 검정에서, 귀무가설 H0: B = 0을 기각하지 못하게 됩니다. 즉, 회귀계수의 유의성이 증명되지 못하죠. 

 

정리하자면 이렇습니다.

다중 공선성이 커질수록,  r^2 혹은 R(j)^2가 1에 가까워지고, 이에 따라 j 번째 회귀계수 추정량의 분산이 커져, j 번째 회귀계수의 유의성이 증명되지 못하게 되는것입니다. 

 

<다중공선성의 가능성> 

 

그렇다면, 우리는 어떠한 현상이 관측되었을때, 다중공선성의 가능성을 파악 할 수 있을까요?

다중공선성 문제를 캐치할수 없다면, 어떠한 설명변수간의 상관관계에 의해 다중공선성이 일어났는지 역시 파악 조차 할 수 없겠죠.

다중 공선성을 의심캐 하는 회귀모형의 증상은 다음과 같습니다. 

 

1. 설명변수를 추가, 제거하는것이 추정된 회귀계수의 크기와 부호에 큰 변화를 일으킬때.

2. 새로운 자료를 추가하거나 기존의 자료를 제거하는것이 추정된 회귀계수의 크기나 부호에 큰 변화를 일으킬때. 

3. 중요하다고 생각되어지는 설명변수의 회귀계수에 대한 검정결과가 유의하지 않게 나타나거나, 회귀계수에 대한 신뢰구간이 상당히 넓을때. 

4. 추정된 회귀계수의 부호가 경험과 이론적인 측면에서 기대되는 부호와 상반될때. 

 

위와 같은 증상들이 나타날때, 우리는 다중공선성에 대한 의심을 할 수 있고, 다중공선성 검정을 시행하게 됩니다. 

 

<분산 팽창 인자 Variance Inflation Factor>

 

분산팽창 인자(Variance Inflation Factor)는 설명변수 사이의 다중공선성에 대한 진단의 척도입니다. 

j번째 분산 팽창 인자는 VIF(j)로 표기하고 식은 다음과 같이 표현됩니다.

분산 팽창 인자로 회귀계수의 분산을 표기할 수 있겠죠.

 

R^2가 1에 가까워지면, j 번째 회귀계수 추정량의 분산이 커지고, 

R^2가 0에 가까워지면, j 번째 회귀계수 추정량의 분산이 작아지는것을 확인하였습니다. 

 

분산 팽창 인자 VIF는 R^2에 비례하기 때문에, 분산 팽창 인자의 크기로 설명변수 사이의 다중공선성에 대한 진단할 수 있습니다. 

즉, VIF가 클수록, 다중공선성의 존재를 의심하게 되는것이죠. 

 

설명변수 X1, X2, X3,...Xp에 대해 p개의 VIF 중에 가장 큰 값이 5~10을 넘어가면 다중공선성이 존재한다고 판단 할 수 있습니다.

 

<다중 공산성 확인 R>

 

-데이터 준비 

-상관계수 행렬을 통해 변수간의 상관관계 대략적으로 파악 

본인과 본인의 상관성은 1이므로, 행렬의 대각선을 제외한 요소들을 살펴봅시다. 

대략적으로 많은 요소가 1에 가깝게 나타나는것을 지켜볼 수 있어, 다중공선성 검정의 필요성을 느낍니다. 

 

- VIF 구하기 

VIF가 X1과 X3에서 10보다 훨씬 큰 수로 두드러져 나타나는것을 볼 수 있습니다. 

 

- Scatterplot matrices 통해 시각적으로 확인

각 설명변수끼리의 산점도를 통해 설명변수 사이의 상관성을 엿볼 수 있습니다. 

X1과 X3변수에서 큰 상관성이 보인다는 결론을 내릴 수 있습니다. 

 

위와 같은 과정을 통해 다중공선성이 관측되면, 모형에서 일부 설명변수를 제외하는 등의 조치를 취해야 합니다.

다중공선성이 관측되었음에도, 이를 방치하는것은, 예측과 관련되어 회귀모형을 사용할때, 크게 왜곡된 결과를 불러일으킬 수 있기 때문입니다. 

 

*이번 예시는 '회귀분석 - 모형개발과 진단'에서 언급된 데이터를 사용하였습니다. 

 

반응형