Machine learning

[기계학습]다중공선성 , 회귀모델의 성능지표 ( AIC , BIC )

Acdong 2020. 6. 12. 23:39
728x90

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를 줘서 좀 더 의미있는 성능지표가 됨.

 

R2 와 Adjusted R2 차이점

 


변수 선택 방법에 쓰이는 성능지표

AIC (Akaike information criterion)

  • 모델의 성능지표로서 MSE에 변수 수 만큼 penalty를 주는 지표

  • 일반적으로 회구분석에서 Model Selection 할 때 많이 쓰이는 지표

BIC (Bayes Information Criteria)

  • AIC의 단점은 표본n 이 커질때 부 정확해짐
  • 이를 보완한 지표가 BIC ( AIC와 큰 차이는 없지만 표본이 커지면 좀 더 정확함)

반응형