如何使用stata处理多重共线性?

时间:2026-02-12 01:49:02

1、对于多重贡献性的判断依赖的主要是方差膨胀因子,在此处我们来简要介绍一下方差膨胀因子。此处,仅简单的理解方差膨胀因子,就是方差膨胀因子构成了变量估计值方差的一部分,如果方差膨胀因子过大,将会导致解释变量的系数方差增大,将会导致检验难以通过。

观察下面的两个公式,可以很容易地看出这一点。VIF就是方差膨胀因子。

如何使用stata处理多重共线性?

如何使用stata处理多重共线性?

2、先对模型进行回归

sysuse auto

gen weight2=weight^2

reg price rep78 weight2 headroom trunk weight length

为什么把函数形式设定成这样可以参考我上一条RESSET的检验

如何使用stata处理多重共线性?

3、检验方差膨胀因子

estat vif

见图1,我们发现方差膨胀因子非常之大,说明存在多重共线性

weight 和 weight的平方有很严重的多重共线性

如何使用stata处理多重共线性?

4、reg weight2 weight

显然,因为是平方项,回归系数肯定是显著的 R方也是方差大,方差膨胀因子肯定也非常大。

如何使用stata处理多重共线性?

5、不过没关系,我们可以对这个问题进行处理,也就是对变量进行标准化,其实衡量的就是去除量纲之后,到均值的距离。

如何使用stata处理多重共线性?

6、使用高级的gen明明,生成标准化变量weightsd

egen weightsd=std(weight)

reg price rep78 weightsd2 headroom trunk weightsd length

进行回归,观察weight 发现p值变为了0,效果十分显著。原来是0.437,图2未标准化的回归结果

estat vif

发现VIF降低的十分明显,但仍存在多重共线性(我们认定10一下,多重共线性可以忽略),但是已经下降的十分明显。

如何使用stata处理多重共线性?

如何使用stata处理多重共线性?

© 2026 五度知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com