第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.xdnf.cn/news/1420034.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

树莓派、ubuntu低版本python3安装库

如果遇到树莓派中自带低版本python3,又不想额外去安装python3时,可能会遇到版本过低,无法安装库的情况,以下用我实际情况举例解决方案。 本次遇到的问题是树莓派低版本中,python3为3.7.3,需要安装numpy&am…

基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能

基于STC12C5A60S2系列1T 8051单片机实现一主单片机与一从单片机进行双向串口通信功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器…

数据结构与算法===递归

文章目录 定义适用场景爬楼梯代码实现 小结 定义 递归(Recursion)是指函数的自身调用。 这个算法演变为了程序员之间的梗,所表达的意思近似于“套娃”,表示不断重复引用别人的话从而产生循环。 适用场景 这个应该很多的,像一些树的遍历&am…

Java | Leetcode Java题解之第84题柱状图中最大的矩形

题目&#xff1a; 题解&#xff1a; class Solution {public int largestRectangleArea(int[] heights) {int n heights.length;int[] left new int[n];int[] right new int[n];Arrays.fill(right, n);Deque<Integer> mono_stack new ArrayDeque<Integer>();f…

数据结构与算法学习笔记三---队列的顺序表示和实现(C语言)

目录 前言 1.顺序队列的描述 2.队列的顺序表示和实现 1.定义 2.初始化 3.销毁 4.清空 5.空队列 6.队列长度 7.获取队头 8.入队 9.出队 10.遍历队列 11.完整代码 前言 本篇博客介绍栈和队列的表示和实现。 1.顺序队列的描述 图1.顺序队列的描述 2.队列的顺序表示…

如何根据招聘信息打造完美简历

如何根据招聘信息打造完美简历 招聘信息分析简历调整策略个性化与关键词结语 在求职过程中&#xff0c;简历是第一块敲门砖。它不仅展示了你的专业技能和工作经验&#xff0c;还体现了你对所申请职位的理解和热情。然而&#xff0c;如何从招聘信息中提炼关键点&#xff0c;打造…

苹果电脑MAC清理系统空间工具CleanMyMacX4.15.3中文版下载

苹果电脑以其出色的性能、优雅的设计和高效的操作系统而受到许多用户的喜爱。然而&#xff0c;随着时间的推移和使用量的增加&#xff0c;你可能会发现你的Mac开始变得缓慢和响应迟缓。这通常是因为硬盘空间被大量占用&#xff0c;影响了系统的整体性能。幸运的是&#xff0c;有…

mysql管理

数据库服务管理 安装完成后,启动mysql服务器systemctl start mysqld然后查看mysql状态systemctl status mysqld 发现报错&#xff0c;因为centos不再支持MySQL数据库&#xff0c;安装mariadb代替 yum install –y mariadb-server 会在 /var/log/mysqld.log文件中会自动生成…

Android 13 系统自定义安全水印

效果 源码实现 frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java public final void showSafeModeOverlay() {View v LayoutInflater.from(mContext).inflate(com.android.internal.R.layout.safe_mode, null);WindowManager.Layout…

CSS滑动门

CSS滑动门使各种特殊形状的背景能够自动拉伸滑动&#xff0c;以适应元素内部的文本内容&#xff0c;其原理是&#xff1a;利用CSS精灵和盒子撑开宽度适应不同字数的导航栏。 特点&#xff1a; 1.可以根据导航字数自动调节宽度&#xff1b; 2.可以以简单的背景图实现炫彩的导航条…

NSS题目练习2

[LitCTF 2023]我Flag呢&#xff1f; 打开题目后查看源码即可发现flag [第五空间 2021]WebFTP 看到提示&#xff0c;首先想到用dirsearch扫描链接&#xff0c;看是否存在git泄露 发现存在git泄露&#xff0c;用githack解决 克隆提示目录为空&#xff0c;说明不正确&#xff0c…

前端工程化,前端监控,工作流,部署,性能

开发规范 创建项目的时候&#xff0c;配置下 ESlint&#xff0c;stylelint&#xff0c; prettier&#xff0c; commitlint 等; ESLint 主要功能&#xff1a; ESLint 是一个静态代码检查工具&#xff0c;用于在 JavaScript 代码中识别和报告模式。它的目标是提供一个插件化的 …

ios 开发如何给项目安装第三方库,以websocket库 SocketRocket 为例

1.brew 安装 cococapods $ brew install cocoapods 2、找到xcode项目 的根目录&#xff0c;如图&#xff0c;在根目录下创建Podfile 文件 3、在Podfile文件中写入 platform :ios, 13.0 use_frameworks! target chat_app do pod SocketRocket end project ../chat_app.x…

网安面经之文件上传漏洞

一、文件上传漏洞 1、文件上传漏洞的原理&#xff1f;危害&#xff1f;修复&#xff1f; 原理&#xff1a;⽂件上传漏洞是发⽣在有上传功能的应⽤中&#xff0c;如果应⽤程序对⽤户上传的⽂件没有控制或者存在缺陷&#xff0c;攻击者可以利⽤应⽤上传功能存在的缺陷&#xff…

JavaScript之数据类型(3)——object进阶

前言&#xff1a; 利用基础知识来构建对象会发现十分复杂&#xff0c;我们可以结合其他的知识点来为我们object的构建进行优化。 <1>工厂法&#xff1a; 基本格式&#xff1a; function creatObject(属性值1,属性值2,属性值3,...,属性值n) {var 对象名 new Object();对…

如何在idea里进行设置实现快捷键自动生成序列化版本号

问题描述&#xff1a; IntelliJ IDEA 提供了强大的代码生成功能&#xff0c;可以自动为实现了 Serializable 接口的类生成 serialVersionUID 字段。以下为具体操作步骤&#xff0c;希望对大家有帮助&#xff01; 步骤 1&#xff1a;确保类实现了 Serializable 接口 首先&…

【Android】Kotlin学习之数据容器 -- 集合

一. 定义 List : 是一个有序列表, 可通过下标访问元素. 元素可以在list中出现多次, 元素可重复 Set : 是元素唯一的集合, 一般来说Set中元素的顺序并不重要, 无序集合. Map : 是一组键值对, 键是唯一的, 每个键刚好映射到一个值, 值可以重复 二. 集合创建 三. 示例 mutabl…

通过linux花里胡哨的控制台,学习linux基础命令

今天这个B我装定了&#xff01; 前言命令集 开始1、cowsay &#xff08;让牛说话&#xff0c;够无聊的&#xff0c;但牛说的话是你输入的&#xff0c;细思极恐&#xff01;&#xff09;Debian/Ubuntu 安装命令&#xff1a;RHEL/CentOS/Fedora 安装&#xff1a;运行解释 2、fort…

Elasticsearch入门基础和集群部署

Elasticsearch入门基础和集群部署 简介基础概念索引&#xff08;Index&#xff09;类型&#xff08;Type&#xff09;&#xff08;逐步弃用&#xff09;文档&#xff08;Document&#xff09;字段&#xff08;Field&#xff09;映射&#xff08;Mapping&#xff09;分片&#x…

【硬件模块】ESP-01SWiFi模块基于AT指令详解(WiFi,TCP/IP,MQTT)

ESP-01S ESP-01S是由安信可科技开发的一款Wi-Fi模块。其核心处理器是ESP8266&#xff0c;该处理器在较小尺寸的封装中集成了业界领先的Tensilica L106超低功耗32位微型MCU&#xff0c;带有16位精简模式&#xff0c;主频支持80MHz和160MHz&#xff0c;并集成了Wi-Fi MAC/BB/RF/P…