如何在 stata 中测试多重共线性


当两个或多个解释变量彼此高度相关,以致它们在回归模型中不提供唯一或独立的信息时,就会出现回归分析中的 多重共线性。如果变量之间的相关程度足够高,则在拟合和解释回归模型时可能会出现问题。

例如,假设您使用以下变量运行多元线性回归:

可变响应:最大垂直跳跃

解释变量:鞋码、高度、练习时间

在这种情况下,解释变量鞋码和身高可能密切相关,因为高个子的鞋码往往较大。这意味着多重共线性可能是该回归中的一个问题。

幸运的是,可以使用称为方差膨胀因子 (VIF)的指标来检测多重共线性,该指标测量回归模型中解释变量之间的相关性和相关强度。

本教程介绍如何使用 VIF 在 Stata 回归分析中检测多重共线性。

示例:Stata 中的多重共线性

在本例中,我们将使用 Stata 的内置数据集auto 。使用以下命令加载数据集:

自动使用

我们将使用regress命令来拟合多元线性回归模型,使用价格作为响应变量,使用重量、长度和英里数作为解释变量:

回归 价格 重量 长度 mpg

Stata 中的多元线性回归输出

接下来,我们将使用vive命令来测试多重共线性:

活泼

Stata 中的 VIF

这会为模型中的每个解释变量生成一个 VIF 值。 VIF 值从 1 开始,没有上限。解释 VIF 的一般规则是:

  • 值为 1 表示给定解释变量与模型中的任何其他解释变量之间不存在相关性。
  • 1 到 5 之间的值表示给定解释变量与模型中的其他解释变量之间存在中等相关性,但通常没有严重到需要特别注意的程度。
  • 大于 5 的值表示给定解释变量与模型中的其他解释变量之间可能存在严重相关性。在这种情况下,回归结果中的系数估计和 p 值可能不可靠。

我们可以看到重量和长度的VIF值都大于5,表明回归模型中很可能存在多重共线性问题。

如何处理多重共线性

通常,处理多重共线性的最简单方法是简单地删除一个问题变量,因为您要删除的变量无论如何都可能是多余的,并且几乎不会向模型添加唯一或独立的信息。

为了确定要删除哪个变量,我们可以使用corr命令创建一个相关矩阵来显示模型中每个变量之间的相关系数,这可以帮助我们识别哪些变量可能彼此高度相关并可能导致多重共线性问题:

更正 价格 重量 长度 mpg

Stata中的相关矩阵

我们可以看到,长度与体重和每加仑英里数高度相关,与响应变量价格的相关性最低。因此,删除模型长度可以解决多重共线性问题,而不会降低回归模型的整体质量。

为了测试这一点,我们可以仅使用体重和 mpg 作为解释变量再次运行回归分析:

回归 价格 重量 mpg

Stata 中的多元线性回归输出

我们可以看到,该模型的调整后 R 平方为0.2735 ,而之前模型的调整 R 平方为0.3298 。这表明模型的整体实用性仅略有下降。然后我们可以使用VIF命令找到VIF值:

活泼

Stata中的VIF值

两个VIF值均小于5,表明多重共线性不再是模型中的问题。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注