Collinearity Measures

多重共線性を識別するもうひとつの方法は、Variance Inflation Factorを利用することです。 VIF は、各変数の係数に対して膨張した分散のパーセンテージを示します。 1 (共線性なし)から始まり、1-5の間のVIFは中程度の共線性を示し、5以上の値は高い共線性を示しています。 高い VIF が許容されるケースとしては、相互作用項、多項式項、ダミー変数(3 つ以上のカテゴリを持つ名目変数)の使用などがある。 相関行列は変数ペア間の相関の同定を可能にし,VIF は多重共線性の総合評価を可能にする. ほとんどの連続変数の相関行列は,さまざまな共線性変数のペアを強調するために,以下に示されている. VIF は、statsmodels パッケージを用いて計算できます。下記のコードブロックは、共線変数が含まれる(左)と除去される(右)のVIF 値を示します。

連続変数の相関行列。 ケンドール係数(筆者撮影)
# Setting the predictor variables
X_o = df_wdummy]
X_r1 = df_wdummy]#
from statsmodels.stats.outliers_influence import variance_inflation_factorvif = pd.Series()], index=X_o.columns,
name='vif_full')
vif_r = pd.Series()], index=X_r1.columns,
name='vif_collinear_rvmd')
pd.concat(, axis=1)

VIF values for predictor variables (image by author)

The VIF values correspond with the correlation matrix; たとえば変数ペア NOX and INDUS, the correlation coefficient is above 0.The VIF values for predictionor variables, the variable-pair of NOTX and INDUS, The VIF values for predictor variables for predictor variables (image by author) {465>

相関行列(上図)で識別されたすべての共線変数を削除してベースラインモデルを構築し、次にTAXとRADを削除することを保留します。

# Baseline variables 
X_bl = df_wdummy]
y_bl = df_wdummy# Explore mitigating multi-collinearity
vif_bl = pd.Series()], index=X_bl.columns,
name='vif_bl')X_noTAX = X_bl.drop(,axis=1)
X_noRAD = X_bl.drop(,axis=1)
vif_noTAX = pd.Series()],
index=X_noTAX.columns, name='vif_noTAX')
vif_noRAD = pd.Series()],
index=X_noRAD.columns, name='vif_noRAD')
pd.concat(, axis=1)

ベースラインモデルにおける予測変数のVIF値の評価(著者撮影)

VIFに基づいてTAX変数を落とすことが良いようですが、これは、TAXは、そのように思われることを示します。 慎重なアプローチは、修正R2乗メトリック(予測変数の数で調整され、次に追加された変数が偶然に予想されるよりもモデルを改善する場合にのみメトリックが増加します)を介してチェックすることです。

# Without TAX
model = sm.OLS(y, sm.add_constant(X_noTAX)).fit()
print_model = model.summary()
print(print_model)

Summary of model metrics (w/o TAX) (image by author)
# Without RAD
model = sm.OLS(y, sm.add_constant(X_noRAD)).fit()
print_model = model.summary()
print(print_model)

Summary of model metrics (w/o RAD) (image by author)

高い修正R-Readyから、”RAD “は、”RAD “を意味する。二乗の図。 このモデルは、RAD変数を削除することで、より良いパフォーマンスを発揮することが推測されます。 多重共線性の問題が解決されたので、次のステップは、モデルのパフォーマンスを潜在的に高めるために、相互作用項の追加を検討することです。

コメントする