常数项(截距)的高 VIF 表示什么?

What does the high VIF for the constant term (intercept) indicate?

我正在使用 RFE 技术和 statsmodels 库在汽车数据集上构建线性回归模型。我的最终模型的 p 值在 5% 以内并且具有高 F 统计量。预测变量的 VIF 值远低于 5,但常数项(截距)的 VIF 为 8.18。我使用 add_constant 方法向模型添加常量。以下是我的疑惑:

  1. 常量的高方差表示什么?
  2. 我应该在计算 VIF 时忽略常数项吗?

这些是我的结果:

我是机器学习的新手,也是第一次在此站点上发布问题。如果需要更多信息来回答我的问题,请告诉我。

最好在 stats.stackexchange 上提出统计问题。但是,我只是针对 statsmodels 进行了此操作,例如https://github.com/statsmodels/statsmodels/issues/2376

首先,你的模型和数据不存在多重共线性问题。 p 值很低且置信区间非常窄,因此模型中的参数应该是一个很好的估计值。 8的vif并不大。

常数中较大的 vif 表示(斜率)解释变量也具有较大的常数分量。一个例子是当一个变量有很大的均值但只有很小的方差时。与设计矩阵的常量和秩不足完全共线性的一个例子是虚拟变量陷阱,当我们没有在虚拟编码中删除分类变量的水平之一时,虚拟变量总和为 1,因此复制了一个常量.

在vif计算中加入常量的目的是发现用户提供的设计矩阵exog存在的此类问题。如果我们在贬低或标准化的解释变量上计算 vif,它就不会出现。

在统计学和计量经济学中,关于多重共线性度量是应该包括一个常数还是只适用于被贬低的解释变量,长期以来一直存在争论。

我目前正在准备 statsmodels 的扩展,让用户可以选择计算两个版本,有和没有常量。 在某些情况下,重新参数化、贬值和缩放可以提高数值精度和预测。所以我们希望有措施检查用户提供的实际设计矩阵,但也检查数据的标准化版本以查看贬低和缩放是否可以提高数值精度。