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

2025-11-04 17:52:19

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处理多重共线性?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢