第100+7步 ChatGPT文献复现:ARIMA-GRNN预测出血热

基于WIN10的64位系统演示

一、写在前面

这一次,我们来解读ARIMA-GRNN组合模型文章,也是老文章了:

《PLoS One》杂志的2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal Syndrome in Jiangsu Province, China》文章的公开数据做案例。

这文章做的是用:使用两种ARIMA组合模型预测江苏省出血热发病率。

文章是用单纯的ARIMA模型作为对照,对比了两种组合模型:ARIMA-GRNN模型和ARIMA-NARNN模型。本次,我们来重现一下ARIMA-GRNN模型。

二、闲聊和复现:

1单纯ARIMA模型构建

第一段很简单地把构建最优ARIMA模型的整个流程说了下来:

还是老套路:

① 2004-2011年的数据用于建模,来个折线图看看趋势:

很明显,有季节性,所以文章做了1次季节性拆分和1次一般拆分(这个一般拆分也不是太必要,从图来看没有明显上升或者下降趋势,可能是不做通不过ADF检验吧),图1可以这么做:

② 至于ADF检验,那就得转到Eviews了:

通过ADF检验,数据平稳,文章用R做的吧,具体数值不太一样。

③ 开始找最优的ARIMA模型:

凑出了表1和表2,最终选择模型就是ARIMA (0,1,1)×(0,1,1)12。

④ 使用最优模型预测2012年的发病率:

得手动输入下要预测的月份,然后软件才能进行预测:

算一下单纯ARIMA的拟合误差分别是:MAE=0.0093,MAPE=0.4790;预测误差分别是:MAE=0.0091,MAPE=0.5636。

(2)ARIMA-GRNN组合模型

首先,得看看组合的策略,见文章描述(翻译):

GRNN模型是基于非线性回归理论的平滑函数的通用逼近器。GRNN模型由Speckt设计,有四层:输入层、模式层、求和层和输出层。GRNN的网络架构之前已经提及。在建立ARIMA模型之后,我们可以获得HFRS的估计月发病率。由于ARIMA模型已用于分析实际数据的线性部分,残差应包含非线性关系。为了在GRNN模型中包含更多有效和有用的信息,特别是当存在强烈的季节性趋势时,使用时间值作为GRNN的一个输入是必要的。在这项研究中,ARIMA的估计月发病率值和相应的时间值被用作GRNN模型的两个输入,而实际月发病率值被用作GRNN模型的输出。然后我们可以通过这种混合模型捕获非线性成分。GRNN的性能主要取决于光滑因子。选择最优光滑因子需要一定量的试验。光滑因子的选择采用了Specht提出的方法。我们在建模数据集中随机选取两个样本作为测试样本;其他样本被用来拟合GRNN模型

不知道大家看懂了没:

简单来说就是,首先使用2004-01到2011-12的数据构建并找出最优模型ARIMA (0,1,1)×(0,1,1)12,并使用模型进行拟合(2004-01至2011-12)和预测(2012-01至2012-12);然后从2004-01到2011-12这些时间点中,随机抽取2个时间点的模型拟合值,比如说是2004-05和2009-03;把2004-05和2009-03的模型拟合值作为输入,丢进GRNN,同时告诉GRNN,2004-05和2009-03的拟合值对应的真实值是什么;通过这种方式训练GRNN模型,本质上是寻找GRNN的唯一参数,叫做光滑因子;找到了这个最优的GRNN模型(或者说确定了最优的光滑因子),再把之前ARIMA拟合和预测的所有数值,放进最优GRNN模型,输出的就是ARIMA-GRNN组合模型的结果。

至于为什么是随机抽取2个数值,咱也不懂,文献说的。待会操作过程中会发现其中的弊端。

软件使用的是Matlab,这里我就用我自己DIY的小程序(传送门)

① SPSS拿到拟合值与预测值:

② 打开Matlab-GRNN小程序,输入数据(确保拟合值和真实值一一对应,长度要一致):

看结果:

最优光滑因子是0.001,给出了一个图(就是文章的图三),似乎形状不一样呢,文章中是U型,那我们继续随机(随机放几个图得了):

我随机了几次,然后最优光滑因子嘛,有这几个:0.126、0.061、0.088等。进行最后的输出,看看组合模型的效果:

我先把ARIMA的指标列出来,方便对比:

拟合误差:MAE=0.0093,MAPE=0.4790;

ARIMA-GRNN不同光滑因子:

0.126:拟合误差:MAE=0.0084,MAPE=0.4674

0.061:拟合误差:MAE=0.0077,MAPE=0.4167

0.088:拟合误差:MAE=0.0079,MAPE=0.4334

0.049:拟合误差:MAE=0.0077,MAPE=0.4089

总体来看,性能是都是下降的。但是是在随机不出文章中的那两个数值,就不强求了,它的最优光滑因子是0.0265。然后MAE和MAPE能刷到0.0063和0.2815,优秀。

所以我这个软件有个BUG,就是不能自定义输入光滑因子,得到Matlab中操作才行,先埋个坑吧(早已把Matlab卸载了)

三、个人感悟

可以看到,ARIMA-GRNN组合模型的构建策略由于存在随机性,因此得到的结果不尽相同,但是总体来看性能是有所改善的,在文中清清楚就行了。

其实有些数据吧,用了组合模型,性能反而变差了,它并不是万能的。

四、数据

链接:https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0135492

有童鞋问咋下载数据:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/9973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app(五):原生插件打包并使用(Android)

原生插件打包并使用 解决Gradle不显示命令问题解决方法 运行打包查看打包好的包引入到uni-app项目中编写配置文件TestModuleTestComponent 制作基座并运行 解决Gradle不显示命令问题 解决方法 运行打包 查看打包好的包 引入到uni-app项目中 编写配置文件 TestModule {"n…

vue2 Avoided redundant navigation to current location

再次点击同一个链接会报错 每次使用 push 方法时带上两个回调函数 this.$router.push({name: item.name}, ()>{}, ()>{}) //第二、第三个参数分别为成功和失败的回调函数重写 Vue-router 原型对象上的 push 函数不行 https://blog.csdn.net/weixin_43615570/article/d…

番外篇 | YOLOv8改进之利用SCINet解决黑夜目标检测问题 | 低照度图像增强网络

前言:Hello大家好,我是小哥谈。自校正照明网络(Self-Calibrating Illumination Network, SCINet)是一种基于深度学习的图像照明算法,可以自动分析图像的内容并根据图像内容自动优化照明。SCINet是一种专为低光照图像增强设计的框架。它通过级联照明学习过程和权重共享机制…

【系统分析师】软件架构设计

文章目录 1、构件与软件复用1.1 主流构件标准1.2 构件获取与管理1.3 构件复用的方法 2、软件架构概述3、软件架构建模4、软件架构风格4.1 经典架构风格4.2 层次架构风格4.3 富互联网应用-RIA 5、面向服务的架构5.1 SOA概述5.2 SOA的关键技术5.3 SOA的实现方法 6、软件架构评估6…

AI大模型探索之路-训练篇20:大语言模型预训练-常见微调技术对比

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…

RF Plasma gernerator-系列(RF-5KW Adtec)说明书TX06-9001-00

RF Plasma gernerator-系列(RF-5KW Adtec)说明书TX06-9001-00

深度学习课程论文精读——ESRGAN

目录 1.研究概述 2.论文创新 2.1 改进生成器的网络框架 2.2 改进判别器 2.3 改进感知损失 2.4 网络插值 3.实验 3.1 评价指标 3.2 训练细节 3.3 对比实验 3.4 消融实验 3.5 网络插值 4.总结 5.阅读参考 文章标题:《ESRGAN: Enhanced Super-Resolution…

携手鲲鹏昇腾 HashData展现云原生数仓创新力量

​5月9日-11日,鲲鹏昇腾开发者大会2024在北京中关村国际创新中心举行,众多行业领袖、专家学者及优秀开发们齐聚一堂,分享产业趋势、技术创新和应用实践。 酷克数据作为华为鲲鹏生态重要合作伙伴,受邀出席本次大会,展示…

大语言模型LLM原理篇

大模型席卷全球,彷佛得模型者得天下。对于IT行业来说,以后可能没有各种软件了,只有各种各样的智体(Agent)调用各种各样的API。在这种大势下,笔者也阅读了很多大模型相关的资料,和很多新手一样&a…

【Redis】用户登录校验

对于用 redis 对用户进行登录校验,大致可分为以下六步: 首先通过查询数据库来查找具有提供的用户名、密码和delFlag值为0的用户。如果未找到用户,则抛出一个带有消息"用户不存在"的ClientException(用户不存在&#xf…

【产品应用】一体化伺服电机在拉力系统设备中的应用

随着工业自动化的快速发展,高精度、高效率的传动与控制设备需求日益增长。一体化伺服电机作为一种集驱动、控制、反馈于一体的智能型电机,因其卓越的性能,在各类工业设备中得到了广泛应用。特别是在拉力实验设备中,一体化伺服电机…

WebRTC 的核心:RTCPeerConnection

WebRTC 的核心:RTCPeerConnection WebRTC 的核心:RTCPeerConnection创建 RTCPeerConnection 对象RTCPeerConnection 与本地音视频数据绑定媒体协商ICE什么是 Candidate?收集 Candidate交换 Candidate尝试连接 SDP 与 Candidate 消息的互换远端…

线程同步--互斥锁,读写锁

线程同步 基本概念 线程的能力在于能够方便地通过全局变量或共享内存来交换信息,但这也带来了并发控制的复杂性,主要表现在如何安全地管理多个线程对共享资源的访问。这里涉及到几个关键的概念和技术: 临界区(Critical Section…

jenkins部署想定报错

报错: 解决办法: 登录被编译的设备,清楚旧代码,在重新执行

Dependencies:查找项目中dll关联文件是否缺失。

前言 Dependencies工具作为一款优秀的DLL解析工具,能让你很直观地看到DLL的相关信息,如具备哪些功能函数、参数,又比如该DLL基于哪些DLL运行。判断该dll基于哪些dll运行,如果基于的dll丢失,那么就会提示。就能判断缺少…

【Ubuntu永久授权串口设备读取权限‘/dev/ttyUSB0‘】

Ubuntu永久授权串口设备读取权限 1 问题描述2 解决方案2.1 查看ttyUSB0权限,拥有者是root,所属用户组为dialout2.2 查看dialout用户组成员,如图所示,普通用户y不在dialout组中2.3 将普通用户y加入dialout组中2.4 再次查看dialout用…

Redis-新数据类型-Hyperloglog

新数据类型-Hyperloglog 简介 在我们做站点流量统计的时候一般会统计页面UV(独立访客:unique visitor)和PV(即页面浏览量:page view)。 什么是基数? 数据集{1,2,5,7,5,7&#xff…

AI绘画的基本原理是什么?

目录 一、AI绘画的基本原理是什么? 二、Python中有几个库可以用于AI绘画? 三、OpenCV画一个人形 四、AI画的红苹果 一、AI绘画的基本原理是什么? AI绘画的原理基于机器学习和人工智能技术,通过这些技术模型能够理解文本描述并…

vivado 配置存储器支持-Artix-7 配置存储器器件

配置存储器支持 本章主要讲解 Vivado 软件支持的各种非易失性器件存储器。请使用本章作为指南 , 按赛灵思系列、接口、制造商、 密度和数据宽度来为您的应用选择适用的配置存储器器件。 Artix-7 配置存储器器件 下表所示闪存器件支持通过 Vivado 软件对 A…

HTTP 1.1 与 HTTP 1.0

什么是HTTP HTTP 就是一个 超文本传输协议 协议 : 双方 约定 发送的 域名 数据长度 连接(长连接还是短连接) 格式(UTF-8那些) 传输 :数据虽然是在 A 和 B 之间传输,但允许中间有中转或接力。 超文本:图片、视频、压缩包,在HTTP里都是文本 HTTP 常见状态码 比如 20…