Variance Inflation Factor(VIF)
date: 2022-08-05 excerpt: Variance Inflation Factor(VIF)について
Variance Inflation Factor(VIF)について
概要
- 線形重回帰などで問題になる多重共線性の大きさを測定する指標
- 変数間の相関係数行列を作成し、操作することで得られる
- 一般的に、VIFの値が10を超えたら調整する必要があると言われている
ライブラリを使用した算出例
import pandas as pd
from statsmodels.stats.outliers_influence import variance_inflation_factor
data = pd.read_csv('BMI.csv')
data['Gender'] = data['Gender'].map({'Male':0, 'Female':1})
X = data[['Gender', 'Height', 'Weight']]
vif_data = pd.DataFrame()
vif_data["feature"] = X.columns
vif_data["VIF"] = [variance_inflation_factor(X.values, i) for i in range(len(X.columns))]
出力
feature VIF
Gender 2.028864
Height 11.623103
Weight 10.688377