Python 3.x 如何在python中找到方差膨胀因子,VIF函数中的参数应该是什么?

Python 3.x 如何在python中找到方差膨胀因子,VIF函数中的参数应该是什么?,python-3.x,linear-regression,logistic-regression,variance,Python 3.x,Linear Regression,Logistic Regression,Variance,我发现理解这些参数有困难。 例如,我有一个包含20个变量的数据集和一个类变量(总共21个变量) Var1 var2 Var3 Var4类变量 那么,exog将是所有这些变量,包括类变量? 或者exog将是除类变量之外的所有这些变量 什么是exog_idx?我还发现statsmodels文档非常没有帮助,因为它们没有给出任何示例,有时很难理解 我也在寻找一些答案和例子有一些解决方案的建议,但让我试着解释一下 exog->用于预测目标的自变量或特征 exog_idx->变量索引 您这样做的方式是列表

我发现理解这些参数有困难。 例如,我有一个包含20个变量的数据集和一个类变量(总共21个变量)

Var1 var2 Var3 Var4类变量

那么,exog将是所有这些变量,包括类变量? 或者exog将是除类变量之外的所有这些变量


什么是exog_idx?

我还发现statsmodels文档非常没有帮助,因为它们没有给出任何示例,有时很难理解

我也在寻找一些答案和例子有一些解决方案的建议,但让我试着解释一下

exog->用于预测目标的自变量或特征

exog_idx->变量索引

您这样做的方式是列表理解,假设您有熊猫数据帧(df):

这将创建一个名为vif的数据集,您将看到每个功能的vif值。

可能的重复项
    statsmodels.stats.outliers_influence.variance_inflation_factor(exog, exog_idx)

Parameters: 
 exog (ndarray) – design matrix with all explanatory variables, as      for example used in regression
 exog_idx (int) – index of the exogenous variable in the columns of exog
vif = pd.DataFrame([variance_inflation_factor(df.values, i) for i in range(df.shape[1]), index=df.columns, columns=['VIF_value'])