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

相关文章

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Python实现终端清屏的几种方式详解

《Python实现终端清屏的几种方式详解》在使用Python进行终端交互式编程时,我们经常需要清空当前终端屏幕的内容,本文为大家整理了几种常见的实现方法,有需要的小伙伴可以参考下... 目录方法一:使用 `os` 模块调用系统命令方法二:使用 `subprocess` 模块执行命令方法三:打印多个换行符模拟

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问