多重共线性的诊断
1.方差扩大因子法
经验表明, 时,就说明自变量 与其余变量之间有严重的多重共线性,且这种多重共线性可能会过度地影响最小二乘估计值。
代码实现如下:
data3.3<-read.csv("C:/Users/Administrator/Desktop/data3.3.csv",head=TRUE)
lm3.3<-lm(y~x1+x2+x3+x4+x5,data3.3)
library(car)
vif(lm3.3)
输出结果为:
从输出结果看到,
的方差扩大因子很大,远远超过10 ,说明这四个变量之间存在严重的多重共线性。
一般情况下,当一个回归方程存在严重的多重共线性时,有若干个自变量所对应的方差扩大因子大于10,这个回归方程多重共线性的存在就是由方差扩大因子超过10 的这几个变量引起的,说明这几个自变量之间有一定的多重共线性的关系存在。知道了这一点,对于我们消除回归方程的多重共线性非常有用。
2.特征根判定法
通常认为条件数 时,设计矩阵 多重共线性的程度很小; 时,设计矩阵 存在较强的多重共线性; 时,存在严重的多重共线性。
代码实现如下:
data3.3<-read.csv("C:/Users/Administrator/Desktop/data3.3.csv",head=TRUE)
XX<-cor(data3.3[,2:6])
kappa(XX,exact=TRUE)
输出结果为:
根据条件数大于1000,说明自变量之间存在严重的多重共线性。为找出哪些变量是多重共线性的,需要计算矩阵的特征值和相应的特征向量,在R命令窗口下面代码:
eigen(XX)
输出结果为:
有结果知道相应的特征向量为
即
。由于
的系数几近于0,故
和
之间存在着多种共线性。