• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

Variance Inflation Factor(VIF)

date: 2022-08-05 excerpt: Variance Inflation Factor(VIF)について

tag: 機械学習VIFVariance Inflation Factor線形重回帰多重共線性


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

参考

  • VIF/統計用語集
  • Detecting Multicollinearity with VIF – Python
  • VIF統計量をPythonで計算


機械学習VIFVariance Inflation Factor線形重回帰多重共線性 Share Tweet