회귀분석에서 모델을 헷갈리게 만드는 관계
머신러닝이나 통계 모델을 공부하다 보면 꼭 등장하는 용어가 있는데요. 바로 다중공선성(Multicollinearity)입니다.
이 개념은 특히 회귀분석에서 모델 성능 해석을 어렵게 만드는 대표적인 문제입니다.
다중공선성의 의미
다중공선성이란 독립변수들 사이에 강한 상관관계가 존재하는 상태를 말합니다.
즉, 모델 입장에서 보면 다음과 같습니다.
“이 변수랑 저 변수가 너무 비슷해서, 누가 영향을 주는지 잘 모르겠는데…?”
예시: 집값 예측 모델
| x₁ | 집 크기 (㎡) |
| x₂ | 방 개수 |
| y | 집 가격 |
집이 클수록 방도 많기 때문에, 보통 집 크기와 방 개수는 매우 강한 상관관계를 가집니다.
이때 문제는,
- 집 크기가 가격을 올리는 건지
- 방 개수가 가격을 올리는 건지
모델이 정확히 구분하지 못한다는 점입니다.
다중공선성이 왜 문제인 이유
- 회귀계수가 불안정해진다
- 데이터가 조금만 바뀌어도 값이 크게 변함
- 심지어 부호가 뒤집히기도 함
- 해석이 어려워진다
- 실제로 중요한 변수인데 통계적으로 유의하지 않게 나올 수 있음
- “이 변수가 중요한가?”에 답하기 어려움
- 예측력은 괜찮을 수도 있다 (함정)
- 예측 성능은 좋아 보이는데
- 모델 해석은 완전히 틀릴 수 있음
다중공선성이 발생하는 경우
- 파생 변수를 많이 만들었을 때 (예: 면적, 면적², 면적/인원)
- 비슷한 의미의 변수를 여러 개 썼을 때
- 물리적으로 강하게 연결된 변수들 (예: 속도–거리–시간, 픽셀 RGB 등)
다중공선성 확인 방법
✔ 상관계수(Correlation Matrix)
- 변수 간 상관계수가 0.8 이상이면 의심
제가 주로 쓰는 방법입니다. Kaggle 작업시 반드시 확인하는게 상관도 분석입니다.

✔ VIF (Variance Inflation Factor)

일반적인 기준:
- VIF < 5 : 문제 없음
- VIF ≥ 10 : 심각한 다중공선성
해결 방법
- 변수 제거
- 의미가 겹치는 변수 중 하나 제거, 가장 심플한 방법이지만 잘하지 않습니다.
- 변수 결합
- 평균, 비율, 차이 등으로 재구성
- 차원 축소
- PCA (주성분 분석)
- 정규화 모델 사용 (가장 많이 사용)
- Ridge Regression (L2)
- Lasso Regression (L1)
- Elastic Net
→ 딥러닝에서는 가중치 공유, 정규화 덕분에 영향이 상대적으로 덜합니다.
요약
다중공선성은 “모델이 변수들의 역할을 헷갈리는 상태” 예측보다 해석이 중요한 문제에서 특히 주의해야 합니다.
'Computer Science > 딥러닝' 카테고리의 다른 글
| 임베딩(Embedding)을 하는 이유와 개념 (0) | 2026.02.08 |
|---|---|
| 원핫 인코딩을 하는 이유 (0) | 2026.02.07 |
| 파운데이션 모델(Foundation Model)이란? (0) | 2026.01.31 |
| Latent Space(잠재공간)란? (0) | 2026.01.23 |
| 딥러닝에서 파라미터(Parameter)와 하이퍼파라미터(Hyperparameter)의 차이 (0) | 2026.01.19 |