首页 理论教育实验4.4.3state.x77数据集的逐步回归和回归诊断

实验4.4.3state.x77数据集的逐步回归和回归诊断

【摘要】:在实验3.3.3中我们已经研究过美国各州犯罪率与其他因素关系(state.x77数据集),在进行多元线性回归分析中,4个自变量都进入方程时,回归方程的显著性没能通过检验.以下对state.x77数据集进行逐步回归和回归诊断.(1)回顾简单多元线性回归情形>states<-as.data.frame(state.x77)>lm.sol<-lm(states$Murder~states$Populat

在实验3.3.3中我们已经研究过美国各州犯罪率与其他因素关系(state.x77数据集),在进行多元线性回归分析中,4个变量都进入方程时,回归方程显著性没能通过检验.以下对state.x77数据集进行逐步回归和回归诊断.

(1)回顾简单多元线性回归情形

>states<-as.data.frame(state.x77)

>lm.sol<-lm(states$Murderstates$Population+states$Income+states$Illiteracy+states$Frost)

>summary(lm.sol)

结果如下:

从上面的结果来看,以上4 个自变量都进入回归方程时,显著性没能通过检验.

(2)用“step( )”函数进行逐步回归

对AIC进行观察,尽可能地使AIC达到最小,以此往复直到建立更合理与简单实用的回归模型.

>lm.step<-step(lm.sol)

结果如下:

从以上运行结果看,首先通过AIC 值的大小,删除了变量Frost,接着删除了变量Income,继续进行了回归分析.当用四个自变量作回归时,AIC值为97.75,如果去掉变量Frost,则相应的AIC值为95.75,如果再去掉变量Income,可以使AIC值达到最小,相应的AIC值为93.76.

提取逐步回归的相关信息:

>summary(lm.step)

结果如下:

从结果看,回归系数检验的显著性水平有了较大的提高,但Multiple Rsquared:0.5668仍然不理想,结果还有待改进.

(3)进行回归诊断

>influence.measures(lm.step)

结果如下:

分析回归诊断的结果:第6 列为Cook 距离,第7 列为帽子值(也称高杠杆值),最后一列为影响点记号.由上面的结果得到5,18,24,28,32和43号点是强影响点(inf为∗).(www.chuimin.cn)

以下画回归诊断图:

>op<-par(mfrow=c(2,2),mar=0.4+c(4,4,1,1),oma=c(0,0,2,0))

>plot(lm.step,1:4)

>par(op)

结果如图4-3所示.

图4-3 回归诊断图

分析4张回归诊断图(图4-3).第1张是残差图,得到的残差图有些呈喇叭口形状,可能属于异方差情况,这样的数据需要作Box-Cox 变换.第2 张图是正态QQ 图,除28号点外,基本上都在一条直线上,也就是说,除28号点外,残差满足正态性.第3张图是标准差的平方根与预测值的散点图,28号点的值大于1.5,这说明28号点是异常值点(在95%的范围外).第4张图给出了Cook距离,从图上来看,28 号点的Cook 距离最大,这说明28 号点可能是强影响点(高杠杆点).

从图4-3可以看出,28号点是异常值点,把它剔除后,再来看回归的效果:

>n<-length(states$Population)

>weights<-rep(1,n)

>lm.correct<-lm(states$Murderstates$Population+states$Illiteracy,subset=-28,weights=weights)

>summary(lm.correct)

结果如下:

再画回归诊断图:

>op<-par(mfrow=c(2,2),mar=0.4+c(4,4,1,1),oma=c(0,0,2,0))

>plot(lm.correct,1:4)

>par(op)

结果如图4-4所示.

从图4-4与图4-3的比较可以看出,剔除28 号点后回归诊断的效果要好一些.

我们再来分析回归诊断图(图4-4).这里共4张图,其中第1张是残差图,我们看到的残差图基本上是均匀的,这样的数据不需要作Box-Cox变换.

图4-4 回归诊断图