machine learning
다중공선성(Multicollinearity)
독립변수들이 강한 선형관계에 있을때 다중공선성이 있다고 한다.
변수들을 하나씩 회귀분석 했을때는 문제가 없었지만.
여러개의 변수를 다중회귀분석을 했을 때 한 변수의 회귀계수가 낮게 측정이되고 p-value도 높아지게된다.
- 이러한 현상에 대해서 변수들간의 다중공선성(Multicollinearity)이 있다고 한다.
- 잘못된 변수해석, 예측 정확도 하락 등을 야기시킨다.
Y의 변동은 정해져 있는 상태에서 변수가 여러개일 때 변동성이 겹칠수가있다.
설명력(변동성)이 겹치게 되면 각각의 변수들이 중복으로 가져갈 수 가 없다.
* X1 변수가 이미 차지한 설명력(변동성)을 X2가 중복으로 차지할 수 없으므로 X1과 X2 의 교집합은 X2가 가져갈 수 없다.
그렇기 때문에 하나의 변수(newpaper)가 적은 변동성을 갖게되고 회귀계수가 낮게 측정이 된다.
다중공선성을 진단하는 방법
다중공선성을 일반적으로 진단하는 방법은 크게 2가지가 있다.
VIF(variance inflation factor) 와 변수들간의 correlation 등으로 진단.
VIF가 10 이상인 경우 일반적으로 다중공선성이 있는 변수라고 판단
*그렇지만 정해진 답이없다. 9.9도 있다고 판단할 수 도 없다고 판단할 수도 있다.
f1의 R^2(R-Square)결정계수를 이용하여 VIF 계산
R^2 > 0.9 이상인 경우, VIF > 10
상관행렬(correlation matrix)
Feature Selection : 중요 변수만 선택하는 방법
- 단순히 변수를 제거하는 방법 (correlation 등의 지표를 보고)
- Lasso
- Stepwise
- 기타 변수 선택 알고리즘(유전알고리즘 등)
변수를 줄이지 않고 활용하는 방법
- AutoEncoder등의 Feature Extraction 기법 (딥러닝기법)
- PCA(주성분분석)
- Ridge
근본적으로 해결할 수 있는 방법은 없다.
중요한 변수를 뽑는 방법은 데이터사이언스 분야에서도 현재까지 큰 이슈
머신러닝 기법에는 은 기본적으로 다중공선성 진단법이 내제되어 있지만
학습데이터 내에서 예측력을 높이기 위해 최대한 많은 변수를 활용하려 함
그렇게 되면 overfitting(과적합)이 될 수 밖에 없음.
많은 변수를 활용하는 것 보다 중요변수만 사용하는 것이 좋다.
회귀모델의 성능지표
대표적으로 R^2(R-Square)가 있는데.
R^2는 변수가 증가하면 증가할 수록 자연스레 증가
*변수가 많아졌을 때 큰 의미가 없어질 수 있음.
그래서 나온게 Adjusted R^2 이다.
Adjusted R^2
R2에 변수 수 만큼 penalty를 줘서 좀 더 의미있는 성능지표가 됨.
변수 선택 방법에 쓰이는 성능지표
AIC (Akaike information criterion)
-
모델의 성능지표로서 MSE에 변수 수 만큼 penalty를 주는 지표
- 일반적으로 회구분석에서 Model Selection 할 때 많이 쓰이는 지표
BIC (Bayes Information Criteria)
- AIC의 단점은 표본n 이 커질때 부 정확해짐
- 이를 보완한 지표가 BIC ( AIC와 큰 차이는 없지만 표본이 커지면 좀 더 정확함)