全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
32584 1
2015-12-09

最近在看《R数据分析——方法与案例详解》,感觉很不错,本书精华是统计学理论与R的结合,尤其是多元统计部分,因为本书其中一个作者朱建平是厦大统计系教授,曾编写过《应用多元统计分析》一书,可能有同学用过这本教材。《R数据分析》的理论部分建议研究透彻,公式部分最好都演算一遍。因为已经看过《R inaction》,所以笔记就只做我比较感兴趣的部分,也是我认为比较重要的部分。

线性回归模型在数据分析中非常常用,但是实际中经典假设不一定都能完全符合,出现问题该如何解决?今天我们先看第一个问题:多重共线性。

多重共线性的定义

“多重共线性”一词由R. Frisch 1934 年提出,它原指模型的解释变量间存在线性关系。对于回归模型Y= Xβ + ε,利用OLS估计的参数为βˆ = (X′X)−1X′Y,其前提条件是X′X是一个非退化矩阵,即要求rank(X′X) = rank(X) = k < n,也就说要求矩阵 X列满秩,否则无法求出参数的估计值βˆ,这也是我们在多元线性回归模型的经典假设之一。

关于模型中解释变量之间的关系主要有三种:

(1) 解释变量间毫无线性关系,变量间相互正交。这时多元回归的系数和每个参数通过Y对Xi的一元回归估计结果一致。

(2) 解释变量间完全共线性,即rank(X) < k  。此时模型参数将无法估计。

(3) 解释变量间存在一定程度的线性关系。实际中碰到的主要是这种情形。当相关性较弱时,可能影响不大,但是随着解释变量间的共线性程度加强,对参数估计值的准确性、稳定性带来影响。

检验多重共线性的常用方法主要有:

1、可决系数法。可决系数的值较大而回归系数大多不显著。也就说当模型的可决系数R2很高,F 值也很高,每个回归参数估计值的方差很大,即t值很小,此时高度怀疑解释变量之间存在多重共线性。

2、Klein 判别法。若有两个解释变量间的相关系数大于可决系数,即r xi x j > R2 ,此时高度怀疑解释变量之间存在多重共线性。

3特征根法。根据矩阵性质,矩阵的行列式等于其特征根的连乘积。因而当行列式|XX| 0,矩阵XX至少有一个特征根近似等于零。说明解释变量之间存在多重共线性。

4条件指数法(Conditional Index,CI)。条件指数CI =λmax/λmin0.5,其中λmax λmin 分别是矩阵XX的最大和最小特征根。条件指数度量了矩阵XX的特征根散布程

度,可以用来判断多重共线性是否存在以及多重共线性的严重程度。一般认为,当0<CI<10 时,X 没有多重共线性;当10<CI<100 时, X存在较强的多重共线性;当CI>100 时,存在严重的多重共线性。

5方差膨胀因子(Variance Inflation Factors,VIF)。自变量j X 的方差扩大因子VIFj=Cjj=1/(1-Rj2),j=1,2,…p,其中C j j(X ' X)1中第 j个对角元素, R j 2Xj为因变量,其余 p 1个自变量为自变量的回归可决系数,也即复相关系数。  

举个例子

影响财政收入的因素资料

1.png

> dat<-read.csv(file="11-1.csv")

> lm3=lm(revenue~industry+agriculture+construction+consumption+pop+disaster,data=dat)

> summary(lm3)

2.png

从回归结果可以看出,调整后的2是0.9995,说明拟合的非常好;F检验的p-value为1.392e-13,说明是显著的。但是除了消费变量(consumption)外,其余变量均不显著,这个结果很奇怪。这是为什么?难道该模型真的只有消费变量(consumption)对财政收入有影响?这明显不符合实际情况。实际上该模型存在着多重共线性,才导致这个奇怪的结果。

下面我们就来检验一下:

其实上面的summary已经可以通过可决系数法判断,可决系数和F值都很大,但t值很小,也就是说很多回归参数不显著。我们再来看看其他检验方法:


3.png


Cor函数式计算各个解释变量之间的相关关系,可以看出consumption和construction相关系数达到了0.998,我们就可以怀疑变量之间存在多重共线性。

条件判别法,计算的条件指数值为4.86e+15,说明存在严重的多重共线性。

最后我们再看一下方差膨胀因子法,这里需要注意一下,很多教材中还在使用bstats包,目前这个包已经不存在了,vif函数现在属于car包。言归正传,vif计算的结果发现,除了pop和disadter,其他变量膨胀因子都很大,表明存在严重的多重共线性。

篇幅有点大了,明天我们再讲如何克服多重共线性。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-12-1 11:01:29
分析方差膨胀因子之前是否需要数据中心化处理?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群