본문 바로가기
Machine Learning

다중공선성 판단 기준 및 해결 방법 : VIF 확인 (Multicollinearity)

by 무적물리 2020. 7. 2.

최근 회귀 모형을 모델링하는 과정에서 모델을 통한 예측 신뢰구간이 매우 큰 것을 확인했습니다. 예측 신뢰구간이 크다는 것은 제대로 회귀 모델이 생성되지 않았다는 것을 의미합니다. 다중공선성을 판단하기 위해 VIF 값을 확인하였고, 1000에 이르는 값을 확인하였습니다. 이번 포스팅에서는 다중공선성 판단 기준과 해결 방법에 간단하게 여러분과 공유하고자합니다.


다중공선성


다중공선성 판단 기준 : VIF 확인


다중공선성 이란?


기본적으로 회귀분석의 전제는 독립변수들로 변수를 선정해야한다는 것입니다. 다중공선성이 있다라는 것은 변수들 간의 상관관계가 높다는 것을 의미합니다. 기존 전제가 무너진 것이기 때문에 다중공선성을 없애기 위한 노력이 필요합니다.


다중공선성

독립변수 간 상관관계가 높다 (전제 위반)


다중공선성변수


하지만, 주의할 것이 다중공선성이 있다면 상관관계가 높지만 상관관계가 높다고 다중공선성이 반드시 있지는 않습니다. 데이터의 수가 적은 경우 변수간 상관관계는 높지만 다중공선성은 없을 수 있습니다. 다중공선성이 높으면 예측 값의 신뢰구간이 넓게 형성되는 현상을 가집니다.


다중공선성 판단 기준 : VIF


다중공선성을 판단하는 지표로 사용하는 것이 VIF(Variance Inflation Factor) 입니다. 각 변수마다 VIF를 보고 10 이상인 경우에 다중공선성이 있다고 판단할 수 있습니다. 엄격한 경우에 판단 기준을 5로 두는 경우도 있지만 보통 10을 기준으로 합니다.


다중공선성 판단 기준

VIF 10 이상 (엄격히 적용시 5 이상)


다중공선성 해결 방법 : 변수 제거

다중공선성을 가진 변수는 혼자 존재하지 않습니다. 이 뜻은 만약 a, b, c, d의 변수를 가진 회귀분석을 수행할 때, a 변수 혼자 다중공선성을 가질 수 없다는 것입니다. a의 VIF가 10보다 크다면 b, c, d 중에서도 VIF가 10보다 큰 변수가 존재합니다.


다중공선성 해결 방법

1. 두 변수 중 하나 제거

2. 제거시 R² 유지되는 변수를 제거


다중공선성을 해결하기 위해서는 다중공선성을 가지는 변수 중 하나를 제거해주면 됩니다. 필자의 경우 다중공선성을 가진 변수를 포함한 회귀모델에서, 다중공선성을 가지는 변수중 하나를 제거하면 회귀 모형의 R² 값을 유지되었고 다중공선성을 개선해서 예측 값의 신뢰구간을 줄일 수 있었습니다. 손바닥도 마주쳐야 소리가 납니다.


마치며

이번 포스팅에서는 간단하게 다중공선성이란 무엇인지와 판단 기준에 대해 알아보았습니다. 회귀분석을 수행할 때 다중공선성에 의해 예측 신뢰구간이 큰 것을 확인할 수 있었으며, VIF 10을 기준으로 삼아 다중공선성을 일으키는 변수 중 하나를 제거함으로써 회귀모델을 개선할 수 있었습니다.


댓글