R语言之违背基本假设的几种情况xt4.16

第4章 违背基本假设的几种情况

4.16 对第3章思考与练习中第11题做异常值检验。
研究货运总量y(万吨)与工业总产值x1(亿元)、农业总产值x2(亿元)、居民非商品支出x3(亿元)的关系。

解:
(1)建立y与x1,x2,x3的三元回归方程,分别计算普通残差,学生化残差,删除残差,删除学生化残差,中心化杠杆值,库克距离。

# 第1次异常值检验 -----
data3.11 <- read.csv('D:/rwork/应用回归/习题数据/表3-9.csv',head=TRUE)
attach(data3.11) #将该数据框添加到R的搜索路径,以便于下面直接使用数据框中的数组x和y
lm3.11 <- lm(y~x1+x2+x3,data=data3.11) #建立回归方程
summary(lm3.11)# 得到y^=-348.280+3.754x1+7.101x2+12.447x3,σ^=23.44
e <- resid(lm3.11) #普通残差ei
ZRE <- e/23.44 #计算标准化残差,ZRE=e/σ^,σ^=23.44
SRE <- rstandard(lm3.11) #计算学生化残差,SRE=e/(σ^*sqrt(1-hii))
SRE_drop <- rstudent(lm3.11) #计算删除学生化残差SRE(i)
hii <- hatvalues(lm3.11) #计算杠杆值
D <- cooks.distance(lm3.11) #计算库克距离
# 杠杆值hii的平均值meanh=sum(hii)/n=(p+1)/n=0.4
result4.16 <- data.frame(x1,x2,x3,y,e,SRE,SRE_drop,hii,D)
result4.16
detach(data3.11) #与attach()相对应,将数据框从搜索路径中移除

R语言之违背基本假设的几种情况xt4.16_第1张图片

由异常值检验结果可以看到,绝对值最大的学生化残差为SRE6=2.116<3,因而根据学生化残差诊断认为数据不存在异常值。绝对值最大的删除学生化残差为SRE(6)=3.832>3,因而根据删除学生化残差诊断认为第6个数据为异常值。其杠杆值为h6=0.742位居第一,库克距离D6=3.216位居第一。由于h6=0.742>2meanh,因而从杠杆值看第6个数据是自变量的异常值,同时库克距离D6=3.216>1,这样第6个数据为异常值是由自变量异常与因变量异常两个原因共同引起的。




(2)删除第6组数据,重新做回归分析并进行异常值检验。

# 第2次异常值检验 -----
data3.11_drop6 <- data3.11[c(-6),]
attach(data3.11_drop6) #将该数据框添加到R的搜索路径,以便于下面直接使用数据框中的数组x和y
lm3.11_drop6 <- lm(y~x1+x2+x3,data=data3.11_drop6) #建立回归方程
summary(lm3.11_drop6) # 得到y^_new=-659.510+4.070x1+16.043x2-14.359x3,σ^=12.94
e_new <- resid(lm3.11_drop6) #普通残差ei
ZRE_new <- e_new/12.94 #计算标准化残差,ZRE=e/σ^,σ^=12.94
SRE_new <- rstandard(lm3.11_drop6) #计算学生化残差,SRE=e/(σ^*sqrt(1-hii))
SRE_drop_new <- rstudent(lm3.11_drop6) #计算删除学生化残差SRE(i)
hii_new <- hatvalues(lm3.11_drop6) #计算杠杆值
D_new <- cooks.distance(lm3.11_drop6) #计算库克距离
# 杠杆值hii_new的平均值meanh_new=sum(hii_new)/n_new=(p+1)/n_new=0.44
result4.16_drop6 <- data.frame(x1,x2,x3,y,e_new,SRE_new,SRE_drop_new,hii_new,D_new)
result4.16_drop6
detach(data3.11_drop6) #与attach()相对应,将数据框从搜索路径中移除

R语言之违背基本假设的几种情况xt4.16_第2张图片

由异常值检验结果可以看到,绝对值最大的学生化残差为SRE5=1.534<3,因而根据学生化残差诊断认为数据不存在异常值。绝对值最大的删除学生化残差为SRE(5)=1.886<3,因而根据删除学生化残差诊断认为数据不存在异常值。删除第六组数据后,发现学生化残差的绝对值和删除化学生残差绝对值均小于3,库克距离均小于1,杠杆值的最大值为0.728<2meanh=0.88,说明数据不再有异常值。
所以可判断异常值的原因是由于数据登记或实际问题有突变引起的。




参考课本:应用回归分析(R语言版),何晓群编著

你可能感兴趣的:(R)