多重共线性的情形及处理

何晓群教授《应用回归分析 R语言版》第6章

1、背景

多元线性回归模型的基本假设是自变量之间线性无关。但实际上自变量之间可能存在多重共线性,也称为复共线性,也就是变量之间存在较强的相关性。

当自变量存在多重共线性时,利用普通最小二乘法得到的回归参数估计值很不稳定,回归系数的方差随着多重共线性强度的增加而加速增长,会造成回归方程高度显著的情况下,有些回归系数通不过显著性检验,甚至导致回归系数的正负号的得不到合理的解释。

2、多重共线性的诊断

(1)方差扩大因子法

Variance inflation factor,VIF。当VIF≥10,说明自变量之间存在严重的多重共线性,可能会严重影响最小二乘估计值。

car包包含vif()函数,vif(lm模型)

(2)特征根判断

当矩阵有特征根近似为零时,表明存在多重共线性。条件数度量了矩阵的特征根散布程度。当100≤k≤1000时,存在严重的多重共线性。kappa()函数计算矩阵的条件数。得到条件数以后,要进一步确定哪些变量是多重共线的,需要i算矩阵的特征值和相应的特征向量,eigen(X矩阵),特征向量明显不近似为0的自变量之间存在多重共线性。

XX=cor(data)

kappa(XX,exact=TRUE)

eigen(XX)

exact=T表示精确计算,F为近似计算

(3)直观判断

如果增加或剔除一个自变量,或者改变一个观测值,回归系数的估计值发生较大的变化。

一些重要的自变量在回归方程中没有通过显著性检验。

有些自变量的回归系数正负号与定性分析结果相违背。

自变量相关矩阵中,自变量间的相关系数较大时。

一些重要的自变量的回归系数的标准误差较大时。

3、消除多重共线性的方法

1)剔除不重要的解释变量。

2)增大样本量。

R中QuantPsyc包里的lm.beta()函数可以求标准化回归方程的系数。

发表回复

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