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

2023-12-26 11:40

本文主要是介绍R语言之违背基本假设的几种情况xt4.13,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

4.13 某软件公司的月销售额数据见表4-12,其中,x为总公司的月销售额(万元);y为某分公司的月销售额(万元)。
(1)用普通最小二乘法建立y与x的回归方程;
(2)用残差图及DW检验诊断序列的相关性;
(3)用迭代法处理序列相关,并建立回归方程。
(4)用一阶差分的方法处理数据,建立回归方程;
(5)比较普通最小二乘法所得的回归方程和迭代法、一阶差分法所建立回归方程的优良性。
tips:(3)使用R语言进行二次迭代处理序列相关

rm(list=ls())序号=c(1:20)
x=c(127.3,130.0,132.7,129.4,135.0,137.1,141.1,142.8,145.5,145.3,148.3,146.4,150.2,153.1,157.3,160.7,164.2,165.6,168.7,172.0)
y=c(20.96,21.40,21.96,21.52,22.39,22.76,23.48,23.66,24.10,24.01,24.54,24.28,25.00,25.64,26.46,26.98,27.52,27.78,28.24,28.78)
data4.13<-data.frame(序号,x,y)
data4.13# ----x为总公司的月销售额(万元),y为某分公司的月销售额(万元)----
#(1)用普通最小二乘法建立y与x的回归方程----
data4.13 <- read.csv('D:/rwork/应用回归/习题数据/表4-12.csv',head=TRUE)
attach(data4.13) #把数据框添加到R的搜索路径中,以便于下面直接调用x和y
lm4.13 <- lm(y~x,data=data4.13) #以y为因变量,x为自变量建立回归方程,并将结果赋给lm4.13
summary(lm4.13) #回归分析,得到普通最小二乘法的随机误差项标准差σ为0.09744
# 得到回归方程y^=-1.435+0.176x#(2)用残差图及DW检验诊断序列的自相关性----
##图示检验法
# (2.1)以自变量x为横轴,绘制回归残差项e(i)的图形----
e <- resid(lm4.13) #计算残差
plot(x,e,xlab='x',ylab='e',main='残差散点图')
abline(h=c(0),lty=5) #添加虚直线e=0
# 从图中可以看到,残差有规律的变化,呈现大致反W形状,说明随机误差项存在自相关性。#(2.2)绘制e(i-1),e(i)的散点图----
# 以e(i-1)为横坐标,e(i)为纵坐标(i=2,3,...,n),绘制散点图
n <- length(e)
e_i <- e[c(2:n)]
e_i_1 <- e[c(1:n-1)]
plot(e_i_1,e_i,main='e(i-1),e(i)的散点图')
abline(h=c(0),v=c(0),lty=5)
# 由残差图可见大部分的点落在第一、三象限内,表明随机扰动项存在着正的序列相关。#(2.3)DW检验诊断----
# 法一:使用lmtest包
library(lmtest)
dwtest(lm4.13,alternative='two.sided') #DW检验
# 法二:使用car包
library(car)
durbinWatsonTest(lm4.13) #统计量诊断自相关性
# 可知DW值为0.663,P值=0.0001257,查DW表,n=20,k=2,显著性水平α=0.05,
#  得dL=1.20,dU=1.41,由于DW=0.663<dL=1.20,知DW值落入正相关区域,即残差序列存在正的自相关。#(3)用迭代法处理序列相关,并建立方程----
#(3.1)第一次迭代y(t)'=y(t)-ρ*y(t-1),x(t)'=x(t)-ρ*x(t-1)=----
# 自相关系数ρ^=1-DW/2=1-0.66325/2=0.668375,计算的y',x'
rho_hat <- 1-0.66325/2
n <- length(x)
yy <- y[2:n]-rho_hat*y[1:n-1]
xx <- x[2:n]-rho_hat*x[1:n-1]
lm4.13_3 <- lm(yy~xx)
summary(lm4.13_3) #回归分析,得到一步迭代误差项的标准差σ为0.07296
anova(lm4.13_3) #方差分析表
# 得到新的回归方程y^'=-0.303+0.173x',把y(t)'=y(t)-0.6685y(t-1),x(t)'=x(t)-0.6685x(t-1)代入上式,
# 还原为原始变量的方程y(t)^=-0.303+0.6685y(t-1)+0.173*(x(t)-0.6685x(t-1)) #这里(t)、(t-1)为下标
#  即y(t)^=-0.3+0.6685y(t-1)+0.173x(t)-0.1157x(t-1)dwtest(lm4.13_3,alternative='two.sided') #DW检验
# 或durbinWatsonTest(lm4.13_3) 
# 得到DW=1.3597,P值=0.0862>0.05,查DW表,n=19,k=2,显著性水平α=0.05,
# 得dL=1.18,dU=1.40,可看到新的回归方程的DW=1.36,且1.18<1.36<1.40,
#  因而DW检验落入不确定区域此时,一步迭代误差项的标准差σ为0.07296,小于ε的标准差0.097
# 由于一步迭代的DW检验落入不确定区域,因而可以考虑对数据进行二步迭代,也就是对和重复以上迭代过程.#(3.2)第二次迭代y(t)''=y(t)'-ρ*y(t-1)',x(t)''=x(t)'-ρ*x(t-1)'=----
# 自相关系数ρ^=1-DW/2=1-1.3597/2=0.32015,计算的y'',x''
rho_hat2 <- 1-1.3597/2
nn <- length(xx)
yyy <- yy[2:nn]-rho_hat2*yy[1:nn-1]
xxx <- xx[2:nn]-rho_hat2*xx[1:nn-1]
lm4.13_32 <- lm(yyy~xxx)
summary(lm4.13_32) #回归分析,得到一步迭代误差项的标准差σ为0.06849
anova(lm4.13_32) #方差分析表
# 得到新的回归方程y^''=-0.073+0.169x'',y(t)''=y(t)'-0.32015*y(t-1)',x(t)''=x(t)'-0.32015*x(t-1)'代入上式,
# 还原为原始变量的方程y(t)^'=-0.073+0.32015y(t-1)'+0.169x(t)'-0.05410535x(t-1)' #这里(t)、(t-1)为下标dwtest(lm4.13_32,alternative='two.sided') #DW检验
# 或durbinWatsonTest(lm4.13_32) 
# 得到DW=1.696,P值=0.4011<0.05,查DW表,n=18,k=2,显著性水平α=0.05,
# 得dL=1.16,dU=1.39,可看到新的回归方程的DW=1.696,且dU<1.696<(4-dU),
#  因而DW检验落入无自相关区域,误差标准项0.06849,略小于一步迭代的标准差0.7296。
# 但是在检验都通过的情况下,由于一步迭代的值和F值均大于两步迭代后的值,
#  且根据取模型简约的原则,最终选择一步迭代的结果,即y(t)^=-0.3+0.6685y(t-1)+0.173x(t)-0.1157x(t-1)#(4)用一阶差分法处理数据,并建立回归方程----
# 计算出△y(t)=y(t)-y(t-1),△x(t)=x(t)-x(t-1)
dy <- y[2:n]-y[1:n-1] #或dy <- diff(y)
dx <- x[2:n]-x[1:n-1] #或dx <- diff(x)
lm4.13_4 <- lm(dy~dx)
summary(lm4.13_4) #回归分析
anova(lm4.13_4) #方差分析表
# 得到新的回归方程△y(t)=0.033+0.161△x(t),把△y(t)=y(t)-y(t-1),△x(t)=x(t)-x(t-1)代入上式,
# 还原为原始变量的方程y(t)^=0.033+y(t-1)+0.161*((t)-x(t-1)) #这里(t)、(t-1)为下标dwtest(lm4.13_4,alternative='two.sided') #DW检验
# 或durbinWatsonTest(lm4.13_4) 
# 得到DW=1.4798,P值=0.2728>0.05,查DW表,n=19,k=2,显著性水平α=0.05,
# 得dL=1.18,dU=1.40,可看到新的回归方程的dU=1.40<DW=1.4798<4-dU,
#  因而DW检验落入无自相关区域,可知残差序列ε不存在自相关,一阶差分法成功地消除了序列自相关。
# 即回归方程y(t)^=0.033+y(t-1)+0.161*((t)-x(t-1))detach(data4.13) #与attach()相对应,将数据框从搜索路径中移除#(5)比较以上各方法所建回归方程的优良性----
# 差分法的DW为1.48,消除相关性最彻底,但是迭代法的sigma_hat值最小为0.07395,拟合的更好。

(5)比较普通最小二乘法所得的回归方程和迭代法、一阶差分法所建立回归方程的优良性。
答:本题中自相关系数ρ^=0.6685,不接近于1,不适宜用差分法,另外由迭代法的F值及R ^2 都大于差分法的值,故差分法的效果低于迭代法的效果;而普通最小二乘法的随机误差项标准差为0.09744,大于迭代的随机误差项标准差0.07296,所以迭代的效果要优于普通最小二乘法,所以本题中一次迭代法最好。

在这里插入图片描述




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

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



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

相关文章

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,