본문 바로가기
통계

[기초통계] 다중공선성

by 하응 2021. 4. 28.

다중공선성(Multicollinearity)

 

: 목표변수와 2개 이상의 설명변수 간 선형관계를 분석하는 다중 회귀모델에서, 설명변수 간의 강한 상관관계로 인해 회귀모델의 회귀계수에 대한 신뢰성이 떨어지는 현상

 

회귀모델의 결정계수 \(R^2\) 값이 크더라도, 설명변수의 회귀계수는 유의하지 않을 때, 다중공선성을 의심해 볼 수 있다. 

 

다중공선성 진단을 위해 다음 3가지 방법을 고려해볼 수 있다. 
* 쉬운 이해를 위해 Kaggle Boston Housing 데이터셋 일부에 INDUS 컬럼과 상관성이 높은 인위적인 컬럼(Artificial_V) 을 추가하여 다중공선성 진단에 활용하였다.  

 

1. 설명변수들 쌍을 지어 산점도를 그려본다.

boston housing 데이터셋의 8개 설명변수에 대한 pair plot

* (ZN, DIS) (INDUS, NOX) (INDUS, DIS) (INDUS, Artificial_V) (NOX, DIS) (AGE, DIS) 변수 쌍에서 선형관계가 의심된다.  

 

 

2. 설명변수들의 상관계수를 구하여 선형관계를 파악한다. 

설명변수들의 상관계수를 표현한 heat map

* 앞서 산점도에서 관련성이 높을 것으로 예상한 (INDUS, NOX) (INDUS, DIS) (INDUS, Artificial_V) (NOX, DIS) (AGE, DIS)변수 쌍은 상관계수 값이 0.7 이상 또는 -0.7 이하로 실제 선형관계가 있음을 확인할 수 있다.

또한 (NOX, AGE) (NOX, Artificial_V) 변수 쌍도 실제 상관계수 값은 0.71, 0.73으로 도출되어 두 변수 간 선형관계가 있음을 확인하였다. 

 

 

3. 설명변수마다 분산 팽창계수(Variation Inflation Factor, VIF) 값이 10이상이 되는지 파악한다. 

설명변수 \(X_i\)의 분산팽창계수(VIF) :

$$VIF_i = \frac{1}{1-R^2_i}$$

* \(R_i\) : 설명변수 \(X_i\)를 목표변수로 두고, 나머지 설명변수들로 회귀모델을 생성했을 때의 설명력

 

(왼쪽) 8개의 변수를 모두 넣어 생성한 다중 회귀모델 결과, (오른쪽) 8개 변수에 대해 도출한 VIF 값

* INDUS와 Artificial_V 변수의 p값이 0.05보다 크므로, 두 변수가 목표변수(MEDV)를 유의미하게 설명하고 있다고 볼 수 없으며, VIF 값도 7.54, 9.34로 큰 값을 가진다. 

(INDUS 변수의 VIF 값이 9.35라는 것은 위 수식에 따라, INDUS 변수를 목표변수로 두고 나머지 7개의 변수로 회귀모델을 생성할 때, 대략 0.95의 설명력을 가진다는 의미)

한 개의 설명변수를 다른 변수들로 대부분 설명할 수 있다면 설명변수 간 강한 상관관계가 있는 것이다. 

(왼쪽) INDUS 변수를 제거하고 생성한 다중 회귀모델 결과, (오른쪽) 7개 변수에 대해 도출한 VIF 값

* INDUS 변수를 제거하기 전과 제거한 후의 회귀 모델의 설명력은 동일하지만, Artificial_V 변수의 p값을 통해, 목표변수와 유의한 관계임을 알 수 있다. 

또한 강한 상관관계를 가지던 INDUS 변수가 제거되면서, Artificial_V 변수의 VIF 값도 작아진 것을 확인할 수 있다. 

 

 

다중공선성을 진단해보고, 실제 강한 상관관계를 가지는 변수를 제거해보며,

다중 회귀모델에서 설명변수들의 관계 또한 매우 중요한 요소인 것을 알게되었다.    

 

반응형

댓글