VIF 를 사용한 다중공선성의 진단과 판단기준

다중공선성을 판단하기 위해 VIF 가 가장 많이 사용된다. VIF 수식의 값이 10 이상 이면 해당 변수가 다중공선성이 존재하는 것으로 판단한다. (반대로, 1 에서 10 미만의 값이면 다중공선성이 별 문제가 되지 않는 것으로 판단한다. 참고로 VIF 값은 1에서 무한대의 값의 범위를 갖는다.)

다중공선성을 SPSS 프로그램을 사용하여 측정할 수 있다. 만약, SPSS 에서 다중공선성(VIF, Tolerance, CN) 을 계산하는 방법을 알고 싶다면 여기 를 클릭하면 설명을 볼 수 있다.

VIF 수식의 의미는 아래에 자세하게 설명하였다.
 

VIF 에 대한 설명


데이터의 다중공선성을 진단하는 방법 중 가장 많이 사용되고 있는 VIF 에 대해서 설명한다.

VIF 는 'Variation Inflation Factor' 의 줄임말이다.
한글로는 '분산 확대 인자' 또는 '분산 팽창 계수' 또는 '분산 팽창 요인' 등으로 불린다.

VIFk 는 k 번째 변수의 다중공선성의 정도를 의미한다. 즉, VIF 는 입력 데이터 전체의 다중공선성 정도를 하나의 수치로 제시하는 것이 아니라, 각각의 입력 변수들을 대상으로 계산된다.

VIFk 의 계산 방식을 설명하겠다.

설명에 앞서 먼저 입력 데이터의 구성을 아래와 같이 약속하자.
분석에 사용될 데이터가 입력변수 n개와 종속변수 1개로 구성된다고 하자. 총 변수는 n+1 이다.
이 데이터의 변수들은 모두 수치형(양적) 변수이어야 한다.

그럼, VIFk 는 (여기서, 1<= k <= n 의 관계)
변수 k를 종속변수로 지정하고, 나머지 n-1 개의 입력변수를 입력변수로 지정하여 회귀분석을 수행한다.
즉, 이 회귀분석에서 종속변수 Y는 제외시킨다. 왜냐하면, 다중공선성은 입력변수들 간의 상관관계를 측정하는 것이기 때분이다.

위 수행된 회귀분석에서의 결정계수 Rj2 을 구한 후 아래의 수식으로 VIFk 를 구한다.

VIFk = 1 / (1 - Rj2)

VIFk 는 k번째 변수의 VIF 값을 의미한다.

결정계수 Rj2 값은 0에서 1의 값을 가지므로 VIF 값은 1에서 무한대의 범위를 갖는다.
(1) 결정계수 Rj2 값이 0에 가깝다는 것은 입력변수 k가 다른 입력변수들과 상관성이 거의 없다는 것을 의미하고, (2) 결정계수 Rj2 값이 1에 가깝다는 것은 입력변수 k가 다른 입력변수들과 상관성, 즉 다중공선성이 크다는 것을 의미한다.

다시 얘기하면,
VIF 값이 1 에 가까울수록 다중공선성의 정도가 작은 것이며, 반대로 값이 커질수록 다중공선성의 정도가 큰 것을 의미한다.

값의 범위가 1에서 무한대이기 때문에, 어느정도 커야 다중공선성이 있다라고 판단할 것인가에 대한 기준값이 필요하다. 보통 VIF 값이 10 이상인 경우 해당 변수가 다중공선성이 있다고 판단한다.


생각해볼 문제.

항목1. VIF 수식은 회귀분석에만 사용될 수 있다. 즉, 수치형으로 구성된 데이터에 대해서만 적용가능하다. 결정트리 알고리즘에 적용하기 위한 데이터의 다중공선성 진단에는 적용할 수 없는가? 수치형 뿐 아니라 범주형도 섞여있는 데이터으므로 적용이 안되지 않는가?





by 에이아이 2009. 7. 20. 21:38