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

时间:2019-01-30 23:53:53

标签: python-3.x linear-regression logistic-regression variance

    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

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

Var1 var2 Var3 Var4类变量

因此,exog将是所有这些变量,包括类变量? 或exog将是所有这些变量,但类变量除外?

exog_idx应该是什么?

1 个答案:

答案 0 :(得分:0)

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

我也在寻找一些答案和示例,并提出了一些解决方案建议,但让我尝试解释一下。

exog->用于预测目标的自变量或功能

exog_idx->变量索引

执行此操作的方法是列表理解,假设您具有熊猫数据框(df):

vif = pd.DataFrame([variance_inflation_factor(df.values, i) for i in range(df.shape[1]), index=df.columns, columns=['VIF_value'])

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