Processing math: 100%

다중공선성은 통계에서 상당히 중요한 개념이다. 특히 회귀분석과 관련하여 다중공선성이 존재할 때 데이터 분석 결과에 부정적인 영향을 끼치며, 나아가 결정 트리와 같은 인공지능을 적용한 분석에서도 영향을 끼친다.

두산백과에서 인용하자면,
다중공선성은 "회귀 분석에서 사용된 모형의 일부 예측 변수 (독립 변수)가 다른 예측 변수와 상관 정도가 높아, 데이터 분식 시 부정적인 영향을 미치는 현상을 말한다."

수리적 의미로는
어떤 독립 변수가 다른 독립 변수들과 완벽한 선형 독립 (linearly independent)가 아닌 경우를 말한다.
쉽게 말하면, n개의 dimension에서 임의의 u vector와 v vector에 대해서 이들의 일차 결합 (linear combination)이 0을 만족하는 상수 Cn이 모두 0이면 벡터 u와 v는 선형 독립이라고 할 수 있다.

선형 독립의 조건


다시 돌아와서 다중공선성은 (n+1)개의 수치형 변수를 가진다.

  • x1, x2, x3, ... , xn의 n개의 독립변수와 Y라는 1개의 종속 변수로 구성될 수 있다고 가정하자.

다중공선성이 존재한다고 해석하면, "n개의 입력 변수들 사이에 상관관계가 존재하는 상태" 라고 기술할 수 있다.

Feature selection의 한가지 방법인 PCA(principle component analysis)를 보면, 독립변수끼리 다중공선성의 문제가 있는데 이 변수들을 n차원에 산포시키면 온전한 선형독립을 이루지 못함을 알 수 있다. 그렇기 때문에 다중공선성의 문제가 있는 독립변수들을 선형결합하여 주성분(component)으로 차원축소해준다. 그렇게 되면 변수의 특성을 살리면서 독립변수의 개수를 줄여 과적합의 위험을 줄일 수 있다. 이렇듯, 다중공선성은 독립변수들의 관계를 이해하고 어떠한 처리를 진행할지에 대한 하나의 정보이다.

이쯤 되면 pearson's correlation과 multicollinearity의 차이가 무엇인지 궁금해진다.
두 개의 차이를 아래와 같이 구분할 수 있다.

상관성 Pearson Correlation 등
다중공선성 VIF (분산팽창계수 or 분산팽창인수)
Tolerance (공차한계), CN (상태지수) 등

예시를 들어보자, 우리는 신생아의 출생시 체중 (birth weight)과 출생시 머리 둘레 (head circumference)가 신생아의 뇌 발달에 미치는 영향을 설명하고자 한다.
여기서 우리는 하나의 목적이 생긴다.

  • 신생아의 체중과 머리 둘레가 각각이 종속 변수를 정확하게 설명해주었으면 한다.

만약에 체중이 적은 아동일수록 머리 둘레가 작아 다중공선성이 생긴다면 독립변수들 각각의 설명력이 약해진다.

  • standard error가 증가하게 된다.
  • 추정치의 분산이 증가하여 회귀계수의 신뢰도가 감소한다.

그렇다면 standard error는 왜 증가하는 것일까?
Y = 3(X1) + 2(X2) 의 모형식이 얼마나 유의한 식인지 확인해 보자.

  • 귀무 가설 = 회귀 계수는 0이다.
  • 귀무 가설을 검증하기 위해서는 검정 통계량 (t-statistics) = 추정된 회귀 계수 - 0 / 계수의 표준 오차로 확인할 수 있다.
  • 검정 통계량의 절대값이 증가하면 0.05 < p-value 가 나온다. 반대로 표준 오차가 커지면 검정 통계량의 절대값이 작아진다.


R을 사용하다 보면 VIF, Tolerance, CN을 주로 사용하는데, VIF는 이 중에서도 가장 일반적으로 사용된다.

VIF=1(1R2)

코드로는 car::vif(lm_object)를 진행한다.


해석

결과 값을 직접 가져오지는 않겠지만, 일반적으로 VIF가 10 이상이면 다중공선성이 있다고 판단한다.
10 이상의 결과가 나오면 변수 선택법 (variable selection)을 통해 임상적인 의미가 더 중요하거나, 종속변수와의 관련성이 더 높은 변수를 선택하거나 두 변수의 결합변수를 만들어 사용할 수 있다.


Reference
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=vnf3751&logNo=220833952857

+ Recent posts