VIF
- 다중회귀분석에서 독립변수 간 다중공선성(Multicollinearity)을 진단하는 지표
- 계산 공식 (R2 리마인드)
VIFi=1−Ri21
- Ri2는 보조 회귀 모형 (Auxiliary Regression Model)에서 도출되며 Xi를 종속 변수로 두고 나머지 모든 독립변수들을 사용하여 Regression을 만듦
Xi=α0+α1X1+⋯+αi−1Xi−1+αi+1Xi+1+⋯+αpXp+ei
- 해석 기준

- VIF를 계산할 때 상수항(Constant)을 반드시 추가해야 함 (원점 통과 시 VIF값이 비정상적으로 높게 튐)
코드
import statsmodels.api as sm
from statsmodels.stats.outliers_influence import variance_inflation_factor
X = sm.add_constant(df)
vif_data = pd.DataFrame({
'feature': df.columns,
'VIF': [variance_inflation_factor(df.values, i) for i in range(df.shape[1])]
})