回归分析----多重共线性【基础】

版权声明:只是for学习!学习使我快乐! https://blog.csdn.net/baixinzxl/article/details/53129798

多重共线性

------主要参考何晓群《应用回归分析》
------仅用于个人学习知识整理和R语言代码整理
------看到本站的另一篇总结多重共线性文章,觉得不错,附上链接:多重共线性的产生原因、判别、检验、解决方法


1.定义

若:
这里写图片描述
则称自变量间存在完全多重共线性


2.影响

  1. 估计值方差变大
  2. 回归系数置信区间变宽,影响估计精度
  3. 一些系数无法通过显著性检验
  4. 回归系数的正负号可能出错

3.诊断

另外找到一个比较详细的诊断方法的列举:线性回归多重共线性的诊断方法和R语言实现

  1. 方差扩大因子法
    ###理论来自于何晓群书本上

这里写图片描述

R语言实现
###数据来自何晓群书本p150例5.6

y<c(172.9,352.94,447.67,404.02,409.51,619.71,1121.17,1506.94,1105.79,933.03,1008.54,1567.56,1960.06,2884.88,2556.72)
x1<c(11246,10335,13156,6127,27419,25633,95684,105987,46230,37165,48787,75808,123128,371406,198569)
x2<-c(681,791,607,714,911,1231,2760,2651,2105,3030,2810,2649,3031,3644,3690)
x3<c(105.9,107.4,114.4,110.8,99.4,91.4,90.8,86.3,125.3,107.4,106.6,115.7,110.1,105.8,101.6)
x4<c(10183,10414,13134,15033,17389,21715,27075,31827,35393,38823,46079,47871,54372,65602,74917)
x5<c(4110,3996,4689,6876,8636,12339,16623,19937,24787,25112,24414,22970,24403,30531,37861)
x6<c(11242,12693,16681,22131,31353,43528,70752,125989,99468,82478,54936,87135,129884,153044,215033)
x7<-c(9,6.5,6,4.75,4.75,9.5,10,16,10.5,10.5,8.5,6,6.5,5,5.25)
data<-as.data.frame(cbind(y,x1,x2,x3,x4,x5,x6,x7))
reg<-lm(y~.,data=data)
#计算方差扩大因子VIF
#install.packages("car")
library(car)
vif(reg)#方差扩大因子

###这里有一个疑问:老师给的例子其实是没有标准化数据的,那vif计算的时候会自动标准化吗?还是说不需要标准化?

得到结果:
这里写图片描述
当VIF大于等于10时,说明自变量x可能和其他自变量有多重共线性,这里的x2,x4,x5,x6可能导致多重共线性

  1. 特征根判别法
    ###理论来自于何晓群书本上
    这里写图片描述有多少个特征根接近0,设计矩阵X就有多少个多重共线性关系

  2. 条件数

###理论来自于何晓群书本上
这里写图片描述

当k属于(0,10)时,认为X没有多重共线性
当k属于[10,100)时,存在较强的多重共线性
当k大于等于100时,存在严重的多重共线性

x0<-rep(1,length(x1))
X<-cbind(x0,x1,x2,x3,x4,x5,x6,x7)
XX<-t(X)%*%X
MX<-X
for (i in 1:8)  MX[,i]<-X[,i]/sqrt(XX[i,i])
MX2<-t(MX)%*%MX
ci<-sqrt(kappa(MX2,exact=T))#求条件数max
ei<-eigen(MX2)#求特征根和特征向量
##########
max(ei$values)
k<-numeric()
for (i in 1:8) k[i]<-max(ei$values)/(ei$values[i])
sqrt(k)

可以得到最大的条件数为60.31679,所以存在较强的多重共线性

  1. 直观判定法
    1.增加或删除一个自变量,或改变一个观测值,回归系数的估计值有较大变化
    2.一些重要的变量没有通过显著性检验
    3.有些自变量的系数正负号与定性分析结果相违背
    4.自变量的相关矩阵中,自变量间的相关系数较大
    5.一些重要的自变量的回归系数的标准误差较大

4.解决办法

  1. 剔除一些不显著的变量

  2. 增大样本量

  3. 回归系数的有偏估计
    如岭回归,主成分法,偏最小二乘法等,后续会继续整理

猜你喜欢

转载自blog.csdn.net/baixinzxl/article/details/53129798
今日推荐