可能R更简单。
# 序
pass
# import module
方差膨胀因子 Variance Inflation Factor 是有效评估多重共线性程度的常见指标。在利用 Python 诊断自变量之间的多重共线性过程用, statsmodels 与 pandas 库分别在提供诊断方法方面与承载数据方面发挥重要作用。
# 引入VIF计算方法
from statsmodels.stats.outliers_influence import variance_inflation_factor
# 引入OLS方法
import statsmodels.formula.api as sfa
# 承载数据
import pandas
# 计算VIF
cal_df = pandas.DataFrame({
'y': y_list,
'x_1': x_1_list,
'x_2': x_2_list
})
ols_result = sfa.ols('y~x_1+x_2', data=cal_df).fit()
# 共三个变量,后两个为自变量
for i in range(1, 3, 1):
vif = variance_inflation_factor(ols_result.model.exog, i)
# 通过VIF评估多重共线性程度
一般而言,若VIF≥10,则表明自变量存在严重的多重共线性问题。