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

2023-12-26 11:40

本文主要是介绍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()相对应,将数据框从搜索路径中移除

在这里插入图片描述

由异常值检验结果可以看到,绝对值最大的学生化残差为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()相对应,将数据框从搜索路径中移除

在这里插入图片描述

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




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

这篇关于R语言之违背基本假设的几种情况xt4.16的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/539272

相关文章

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

Java 枚举的基本使用方法及实际使用场景

《Java枚举的基本使用方法及实际使用场景》枚举是Java中一种特殊的类,用于定义一组固定的常量,枚举类型提供了更好的类型安全性和可读性,适用于需要定义一组有限且固定的值的场景,本文给大家介绍Jav... 目录一、什么是枚举?二、枚举的基本使用方法定义枚举三、实际使用场景代替常量状态机四、更多用法1.实现接

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y