计量经济学Stata小小白

Stata系列-如何处理多重共线性

2018-08-12  本文已影响118人  5a41eb2ceec6

什么是多重共线性呢?
如果在解释变量中,有某一解释变量可由其他解释变量线性表出,则称存在“严重多重共线性”。

多重共线性有什么影响呢?
当存在多重共线性时,数据矩阵X不列满秩,(X’X)-1 不存在,因此无法定义OLS估计量 β hat

多重共线性有什么表现“症状”?
1.整个方程的R2 较大,F检验也很显著,但是单个系数的t检验不显著
2.增减解释变量使得系数估计值发生较大变化

以上用数学语言刻画将表述如下:


方差 说明 说明

为此,我们定义解释变量xk的“方差膨胀因子”(VIF):

方差膨胀因子

关于该因子有以下经验规则:

经验规则

如何处理“多重共线性”?

  1. 如果不关心具体的回归系数,只关心整个方程预测被解释变量的能力,则通常不用理会多重共线性(假设整个方程是显著的)。因为多重共线性的主要后果是导致对单个变量的估计不准
  2. 如果关心具体的回归系数,但多重共线性并不影响所关心变量的显著性,也不用理会。
  3. 如果多重共线性影响到所关心变量的显著性,则应设法处理。
    • 增加样本容量
    • 剔除导致严重共线性的变量
    • 将变量标准化
    • 对模型假定进行修改

*导入数据集
use grilic.dta, clear
*回归分析
qui reg lnw s expr tenure iq smsa rns
*计算VIF
estat vif

VIF

由上表可知,最大的VIF为1.2,远远小于10,因此不用担心存在多重共线性

*引入教育年限的平方项
gen s2 = s^2
*回归分析
reg lnw s s2 expr tenure smsa rns

回归分析

从上表可以看出,教育年限和其平方项均不显著

*计算VIF
estat vif

VIF

从上表可以看出,s和s2对应的VIF分别达到167.07和166.30,远远大于10,因此存在多重共线性

进一步看看s2和s关系如何

*将s2对s回归
reg s2 s

s2和s

从上表中可以看到,R2 = 0.9939,即s可以解释s2 99.9%的变动。这说明了s和s2包含的信息基本相同,因此导致严重的多重共线性

关于变量标准化
如果回归方程中包含解释变量的多项式,则通常会导致多重共线性,一个可能解决的办法就是将变量标准化:

变量标准化

*导入数据集
use grilic.dta, clear
*查看s的有关信息
sum s
*生成标准化变量sd
gen sd = (s-r(mean))/r(sd)
*生成标准化变量的平方项
gen sd2 = sd^2
*回归分析
qui reg lnw sd sd2 expr tenure smsa rns
*计算VIF
estat vif

VIF

由上表可以看出,VIF最大值为1.32,远小于10,可以认为不存在多重共线性

*将sd2对sd回归
reg sd2 sd

VIF

从上表中可以看到,R2 = 0.1745 相对于先前的大大下降,此外由回归分析

回归分析
可知sd2不显著,因此接下来去掉sd2,保留sd,再次做回归分析

*回归分析
reg lnw sd expr tenure smsa rns

回归分析

由上表可知sd的回归系数为0.2291,因为sd为标准化标量,sd变化一单位,等价于s变化一个标准差,即2.231828

sd

对比未将s标准化的回归

对比

显然,是否将变量s标准化,对于回归结果没有任何实质性影响

上一篇下一篇

猜你喜欢

热点阅读