다중공선성
설명변수 간 높은 상관이 추정에 미치는 영향
다중선형회귀에서는 여러 설명변수를 동시에 사용해 종속변수를 분석합니다. 그런데 설명변수끼리 서로 강하게 관련되어 있다면 각 변수가 종속변수와 맺는 관계를 개별적으로 구분하기 어려워질 수 있습니다. 이러한 문제를 다중공선성(Multicollinearity)이라고 합니다.
예를 들어 주택 가격을 예측하면서 주택의 전용면적과 전체 면적을 동시에 설명변수로 사용한다고 가정해 보겠습니다. 두 변수는 서로 밀접하게 관련되어 있을 가능성이 높습니다. 이 경우 각각의 회귀계수가 주택 가격과 어떤 관계를 갖는지 분리해서 추정하기가 어려워질 수 있습니다. 이 장에서는 주택 50채의 모의 데이터(전용면적과 전체 면적의 상관 0.96)로 이 문제를 살펴봅니다.
다중공선성은 왜 문제가 될까?
Y = β0 + β1X1 + β2X2 + ε 모형에서 X1은 전용면적, X2는 전체 면적이라고 하겠습니다. 큰 주택일수록 전용면적과 전체 면적이 모두 커지는 경향이 있기 때문에 두 변수가 제공하는 정보가 상당 부분 겹칠 수 있습니다. 이때 회귀모형은 두 변수의 개별적인 기여를 구분하는 데 어려움을 겪습니다.
04장에서 본 것처럼 다중회귀의 계수는 “다른 변수가 같을 때”의 관계입니다. 그런데 전체 면적은 그대로이고 전용면적만 큰 주택은 데이터에 거의 없습니다. 데이터가 거의 없는 상황의 관계를 추정해야 하니, 계수가 불안정해지는 것입니다.
그림 1은 같은 주택 데이터에서 표본을 조금씩 바꿔 네 번 다시 뽑고, 매번 두 계수를 추정해 한 막대에 쌓은 것입니다. 막대 전체 높이, 즉 두 계수의 합은 3.5~4.3으로 비슷합니다. 그런데 파란 부분(전용면적의 몫)과 주황 부분(전체 면적의 몫)의 비율은 표본마다 크게 다릅니다. 어떤 표본에서는 전용면적이 거의 전부를 가져가고, 어떤 표본에서는 둘이 나눠 가집니다. 데이터는 “면적이 넓으면 가격이 높다”는 것은 분명히 알려 주지만, 그 몫을 두 변수에 어떻게 나눌지는 알려 주지 못하는 것입니다. 다중공선성의 주요 영향은 다음과 같습니다.
- 회귀계수의 표준오차가 커질 수 있습니다. 예제에서 전용면적만 넣으면 표준오차가 0.17인데, 전체 면적을 함께 넣으면 0.58가 됩니다.
- 개별 회귀계수의 신뢰구간이 넓어질 수 있습니다.
- 실제로 관련성이 있는 변수라도 개별 t검정에서 유의하지 않게 나타날 수 있습니다.
- 표본이나 모형이 조금 바뀌었을 때 계수의 크기 또는 부호가 크게 달라질 수 있습니다.
다만 다중공선성이 있다고 해서 회귀계수를 계산할 수 없는 것은 아닙니다. 설명변수 사이에 완전한 선형 관계가 존재할 때는 일반적인 OLS에서 모든 계수를 개별적으로 식별할 수 없지만, 완전하지 않은 다중공선성은 보통 계수 추정의 불확실성을 키우는 문제입니다.
다중공선성은 어떻게 발생할까?
다중공선성은 여러 상황에서 나타날 수 있습니다.
| 발생 원인 | 예시 | 왜 겹칠까 |
|---|---|---|
| 개념적으로 유사한 변수 | 전용면적과 전체 면적 | 한쪽이 크면 다른 쪽도 거의 비례해 큼 |
| 파생변수의 중복 | 월 매출과 12개월 매출 합계 | 한 변수가 다른 변수로 계산됨 |
| 같은 개념을 측정하는 여러 지표 | 만족도 문항 여러 개 | 같은 마음을 여러 번 물음 |
| 시간에 따라 함께 움직이는 변수 | 연도, 누적 경력, 근속 기간 | 모두 해마다 1씩 늘어남 |
| 범주형 변수의 잘못된 더미 코딩 | 절편 + 모든 범주의 더미변수 | 더미들의 합이 항상 1 = 절편 |
특히 범주형 변수를 더미변수로 변환할 때는 기준 범주를 적절하게 설정해야 합니다. 절편이 있는 모형에서 모든 범주를 나타내는 더미변수를 그대로 넣으면 완전한 다중공선성이 발생할 수 있습니다. 더미변수는 09 범주형 설명변수와 상호작용에서 자세히 다룹니다.
상관계수가 높으면 다중공선성일까?
설명변수 사이의 상관계수는 다중공선성을 확인하는 첫 번째 방법입니다.
그림 2처럼 두 변수의 상관계수가 0.96이라면 두 변수가 강한 양의 상관관계를 가진다는 뜻입니다. 이는 다중공선성을 의심할 만한 신호입니다. 하지만 상관계수만으로 다중공선성을 완전히 진단할 수는 없습니다.
- 두 변수 사이의 상관관계가 높으면 문제가 발생할 수 있습니다.
- 반대로 개별 변수 쌍의 상관계수는 낮아도 여러 설명변수의 조합이 다른 변수와 선형 관계를 이루면 다중공선성이 발생할 수 있습니다. 예를 들어 X4가 X1 + X2 + X3와 거의 같다면, X4와 각 변수의 상관은 0.6 정도로 높지 않아도 X4는 나머지로 거의 완벽하게 설명됩니다.
따라서 여러 설명변수를 사용하는 모형에서는 상관행렬과 함께 VIF 같은 진단 지표를 확인하는 것이 좋습니다.
VIF(분산팽창요인)란?
VIF(Variance Inflation Factor)는 한 설명변수가 다른 설명변수들로 얼마나 잘 설명되는지를 이용해 해당 변수의 다중공선성을 평가하는 지표입니다. 설명변수 Xj에 대한 VIF는 다음과 같이 계산합니다.
Rj²: Xj를 나머지 설명변수들로 회귀했을 때의 결정계수
즉, VIF는 해당 설명변수가 다른 설명변수들과 얼마나 중복되는 정보를 가지고 있는지 평가합니다. 예를 들어 Rj² = 0.80이면 VIFj = 1 ÷ (1 − 0.80) = 5입니다.
이는 해당 설명변수의 분산이 다른 설명변수와의 선형 관계 때문에 팽창한 정도를 나타냅니다. 단순한 조건에서 VIF가 5라면 해당 계수의 분산은 그 설명변수가 다른 설명변수들과 겹치지 않는다고 가정했을 때보다 5배가 될 수 있습니다. 표준오차는 분산의 제곱근이므로 √5 ≈ 2.2배입니다. 그림 3처럼 Rj²가 0.5일 때 VIF는 2에 불과하지만, 0.9면 10, 0.95면 20으로 급격히 커집니다. 주택 예제의 전용면적은 VIF가 12.3이어서 표준오차가 약 3.5배로 커질 수 있고, 실제로도 0.17에서 0.58로 커졌습니다.
VIF는 어느 정도면 문제가 될까?
실무에서는 VIF가 5 또는 10을 넘는지를 참고 기준으로 사용하는 경우가 있습니다. 그러나 모든 연구 분야에 적용할 수 있는 절대적인 임계값은 없습니다.
| VIF 값 | 일반적인 해석 |
|---|---|
| 1 | 다른 설명변수와의 선형 중복으로 인한 분산 팽창이 없음 |
| 1~5 | 상황에 따라 수용 가능할 수 있으나 변수의 의미를 함께 검토 |
| 5~10 | 다중공선성의 영향이 있는지 주의 깊게 검토 |
| 10 초과 | 심각한 문제일 가능성을 검토할 필요가 있음 |
실제 분석에서는 그림 4처럼 모든 설명변수의 VIF를 함께 봅니다. 방 개수, 연식, 역까지 거리를 더한 주택 가격 모형에서 전용면적(14.4)과 전체 면적(13.1)만 VIF가 높고 나머지는 1.2~1.6입니다. 문제가 모형 전체가 아니라 면적 두 변수의 중복에서 온다는 것을 알 수 있습니다. 이 표는 실무에서 흔히 사용하는 참고용 구분입니다. VIF가 5를 넘었다고 반드시 변수를 제거해야 하는 것은 아니며, 5보다 낮다고 문제가 없다고 보장되는 것도 아닙니다.
중요한 것은 분석 목적입니다. 예측이 주목적이라면 서로 상관된 변수가 있어도 예측 성능이 충분할 수 있습니다. 반면 각 변수의 개별적인 효과를 해석하는 연구라면 다중공선성으로 인한 불확실성을 더 신중하게 고려해야 합니다.
다중공선성이 있으면 어떻게 해결할까?
다중공선성을 확인한 뒤에는 원인을 파악하고 분석 목적에 맞는 대응을 선택해야 합니다.
- ① 중복 변수 검토: 거의 같은 정보를 나타내는 변수가 여러 개 있다면 연구 목적과 이론적 근거를 바탕으로 대표 변수를 선택할 수 있습니다. 단순히 VIF가 높다는 이유만으로 제거해서는 안 됩니다.
- ② 변수 결합 또는 차원 축소: 유사한 여러 지표가 같은 개념을 측정한다면 이론적으로 타당한 합성점수를 만들거나 주성분분석(PCA) 등으로 차원을 줄이는 방법을 고려할 수 있습니다. 다만 원래 변수별 계수를 직접 해석하기 어려워질 수 있습니다.
- ③ 더 많은 정보 확보: 변수 간 관계가 강하더라도 새로운 관측값이 추가되면 계수 추정이 안정될 수 있습니다. 다만 표본 수를 늘리는 것만으로 강한 다중공선성이 반드시 해결되는 것은 아닙니다.
- ④ 규제회귀 사용: Ridge 회귀나 Lasso 회귀는 계수에 페널티를 부여해 추정의 변동성을 줄이거나 변수를 선택하는 데 활용할 수 있습니다. 다만 일반적인 OLS와 추정 목적 및 계수 해석이 달라집니다(10 규제회귀).
①을 예제에 적용하면 그림 5와 같습니다. 전체 면적을 빼고 전용면적만 남기면 신뢰구간이 크게 좁아집니다. 하지만 계수도 2.70에서 4.16로 바뀝니다. 남은 전용면적 계수가 이제 전체 면적의 몫까지 함께 담고 있기 때문입니다. 즉 변수를 빼면 계수의 뜻 자체가 “전체 면적이 같을 때”에서 “면적이 넓은 집 전반”으로 달라집니다. 특히 설명변수의 개별적인 효과를 추정하는 것이 연구의 핵심이라면, 변수 제거만으로 해결하기보다 왜 변수들이 함께 움직이는지 먼저 파악하는 것이 중요합니다.
다중공선성과 회귀계수의 해석
다중공선성이 있는 상황에서 가장 흔한 오해는 “계수가 유의하지 않으니 그 변수는 중요하지 않다”고 결론 내리는 것입니다.
예를 들어 광고비와 프로모션 비용이 서로 강하게 관련되어 있다면, 각각의 계수는 다른 변수를 일정하게 유지한 상태에서의 관계를 나타냅니다. 실제 데이터에서 광고비만 증가하고 프로모션 비용은 그대로인 상황이 거의 없다면, 이 조건부 관계를 정확히 추정하기 어려울 수 있습니다. 이때 개별 계수의 표준오차가 커지고 p값이 커질 수 있지만, 두 변수가 함께 제공하는 정보는 여전히 매출 예측에 유용할 수 있습니다.
그림 6처럼 주택 예제에서 전체 면적을 추가해도 R²는 0.922에서 0.932로 거의 그대로이지만, 전용면적 계수의 표준오차는 약 3.3배가 됩니다. 따라서 다음을 구분해야 합니다.
- 개별 변수의 효과 해석: 다중공선성이 문제가 될 수 있습니다.
- 모형 전체의 예측: 다중공선성이 있어도 예측 성능은 충분할 수 있습니다.
- 인과효과 추정: 다중공선성 외에도 교란, 연구 설계, 외생성 등의 문제를 별도로 고려해야 합니다.
겹치는 정보는 몫을 나누기 어렵습니다.
- 다중공선성은 설명변수들 사이에 강한 선형 관계가 존재하는 현상입니다.
- 주요 영향은 회귀계수의 표준오차 증가, 추정 불안정성, 개별 계수의 해석 어려움입니다.
- VIF는 한 설명변수가 나머지 설명변수들과 얼마나 중복되는지 평가하는 데 유용합니다.
- VIF 5나 10은 참고 기준이지, 변수를 자동으로 제거하는 절대적인 규칙은 아닙니다.
- 해결 방법은 중복 변수 검토, 차원 축소, 추가 데이터 확보, 규제회귀 등이 있으며 연구 목적에 따라 선택해야 합니다.
다음은 08 변수 변환과 다항회귀입니다. 직선만으로 설명하기 어려운 관계를 어떻게 표현하는지, 로그 변환과 제곱항을 활용해 모형의 형태를 바꾸고 계수를 해석하는 방법을 살펴봅니다.
설명변수끼리 정보가 겹치면 계수의 합은 잘 추정돼도 각자의 몫은 흔들립니다. VIF = 1 ÷ (1 − R²ⱼ)로 어느 변수가 겹치는지 찾고, 표준오차는 약 √VIF배로 커집니다. 예측이 목적이면 큰 문제가 아닐 수 있지만, 개별 효과를 해석한다면 원인을 먼저 파악합니다.