第88步 时间序列建模实战:ARIMA组合模型

news2024/11/24 5:59:45

基于WIN10的64位系统演示

一、写在前面

这一期,我们介绍基于ARIMA的组合模型。

(1)数据源:

《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal Syndrome in Jiangsu Province, China》文章的公开数据做演示。数据为江苏省2004年1月至2012年12月肾综合症出血热月发病率。运用2004年1月至2011年12月的数据预测2012年12个月的发病率数据。

(2)组合策略:

(a)在SCI论文中,单纯的ARIMA模型一般是用来作为基线的,因为它最经典,也最稳定。在此基础上,组合上其他模型,理论上有可能会提高模型的预测效能。其中的逻辑主要在于,ARIMA模型只能捕获线性信息,而可能还存在的非线性信息则需要借助其他非线性模型进行进一步的提取和利用。

(b)常用的组合策略包括:

(b1)ARIMA-GRNN组合模型:这个是最最经典的组合模型的策略。首先,构建ARIMA模型,得出训练集的拟合序列F和预测序列Y;其次,从拟合序列F中随机挑选2个数值,构建GRNN模型(还记得GRNN模型的参数只有一个光滑因子不?因此只需要2个数值即可);最后,使用构建的GRNN模型对ARIMA的拟合序列F和预测序列Y进行再次预测,结果即为ARIMA-GRNN组合模型的最终预测结果。

(b2)矫正残差策略:首先,构建ARIMA模型,得出训练集的拟合序列F和预测序列Y;其次,分别计算出训练集和验证集的残差序列X_S和X_Y,使用第二种时间序列模型基于残差序列X_S进行建模,预测得出训练集和验证集的残差序列X_S#和X_Y#;最后,将X_S与X_S#相加,得到组合模型的最终拟合序列,同理,将Y_S与Y_S#相加,得到组合模型的最终预测序列。

二、组合模型实战

(1)单纯ARIMA预测

为了方便演示,我直接使用JMP软件来做演示。采用2004年1月至2011年12月的数据作为训练集建立ARIMA(1,1,1)(0,0,1)12模型,预测2012年1月至12月的发病率。

训练集的拟合数据、验证集的预测数据如下:

稍微算一下MAE得了:

训练集的MAE:0.013076

验证集的MAE:0.013059

(2)ARIMA-GRNN组合模型:

祭出我封装的Matlab小程序:

(a)插入说明书:

1.界面

1.1 ARIMA拟合值 输入由ARIMA模型所取得的拟合值。

1.2实际值 输入与ARIMA拟合值对应的实际值。

1.3 寻找最优光滑因子界面

1.3.1 ARIMA拟合值 输出随机抽样的2个样本的ARIMA拟合值。

1.3.2 实际值 输出随机抽样的2个样本的实际值,与ARIMA拟合值对应。

1.3.3 最优光滑因子 输出最优光滑因子。

1.3.4 最小RMSE值 输出在最优光滑因子下模型的预测误差(RMSE值)。

1.3.5 寻找 点击后输出以上四个数值,并以图表显示光滑因子从0.001到5(步长为0.001)模型的预测误差(RMSE值)。

1.4 组合模型预测界面

1.4.1 ARIMA预测值 输入ARIMA预测值。

1.4.2 实际值 输入实际值。注意,如果是为了认证模型精度,则输入对应的实际值;如果是用于预测,则全部填0,个数必须与ARIMA预测值一致。此时下面的预测精度没有参考意义。

1.4.2 预测误差 MAE 输出模型拟合的平均绝对误差;

               MAPE 输出模型拟合的平均相对误差;

               MSE 输出模型拟合的均方误差;

               RMSE 输出模型拟合的均方根误差。

1.4.3 预测 点击后输出预测误差,并以图表显示预测值与实际值的曲线图。

(b)实战:

2.1 输入ARIMA拟合值和实际值,点击寻找

2.2 输出随机抽取的2对ARIMA拟合值以及对应的实际值,最优光滑因子以及最小RMSE值。并以图表显示光滑因子从0.001到5(步长为0.001)模型的预测误差(RMSE值);

2.3 输入ARIMA预测值以及对应的实际值,这里我们是在认证模型精度,故实际值已知,如图。若用于预测,则实际值是不知道的,需填入12个0(不展示);

2.4 点击预测,输出预测误差,并以图表显示预测值与实际值的曲线图,如图。若用于预测,则输出的预测误差没有参考意义(不展示);

看看组合前后验证集的MAE:

前:0.013059;

后:0.0135

没啥变化,甚至还提升了,大型翻车现场,哈哈哈。所以,组合模型不是万能的。

(3)矫正残差策略:

这个策略,我们就拿着ARIMA的拟合残差序列使劲薅。

就试一试随机森林吧,用单步滚动预测:

得出预测的残差序列,如下:

看看组合前后验证集的MAE:

前:0.013059;

后:0.015223

甚至还变差了,继续大型翻车现场。

其余模型就不尝试了,思路就是那么一个思路,大家尽情发挥。

三、写在后面

组合模型不是万能的,还得看数据,因地制宜!!!

四、数据

链接:https://pan.baidu.com/s/1r32fnMI69LgfxEWa7MHt9w?pwd=62uh

提取码:62uh

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

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

相关文章

电脑f盘文件凭空消失了怎么恢复?别慌,这里有五种方法

在使用电脑的过程中,我们可能会遇到F盘文件突然凭空消失的情况,这不仅会给我们带来困扰,而且可能造成重要文件的丢失。但是,即使文件消失了,我们仍然有可能通过一些方法恢复这些文件。本文将介绍如何有效恢复电脑F盘文…

【AICFD案例操作】溃坝过程模拟

AICFD是由天洑软件自主研发的通用智能热流体仿真软件,用于高效解决能源动力、船舶海洋、电子设备和车辆运载等领域复杂的流动和传热问题。软件涵盖了从建模、仿真到结果处理完整仿真分析流程,帮助工业企业建立设计、仿真和优化相结合的一体化流程&#x…

2023年【安徽省安全员C证】考试技巧及安徽省安全员C证复审模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 2023年【安徽省安全员C证】考试技巧及安徽省安全员C证复审模拟考试,包含安徽省安全员C证考试技巧答案和解析及安徽省安全员C证复审模拟考试练习。安全生产模拟考试一点通结合国家安徽省安全员C证考试最新大…

数据结构之队列(源代码➕图解➕习题)

前言 在学过栈之后,会了解到栈的底层是根据顺序表或者链表来构建的,那么我们今天要学习的队列是否也是基于顺序表和链表呢?那我们直接进入正题吧! 1. 队列的概念(图解) 还是跟上节一样,依旧用图…

生成式人工智能在软件开发过程现代化中的作用

集成人工智能的独特功能可以在软件开发生命周期(SDLC)的每个阶段为开发人员提供帮助,从业务需求分析和创建敏捷的用户故事到软件设计、编码、测试、部署、监控和维护。这是组织可以使用生成式人工智能进行优化的地方。 近年来,软件工程见证了向增强自动化…

g++ 命令行编译

一.创建项目并编译和执行 要创建的项目的结构 创建main.cpp # 创建一个项目 sudo mkdir GCC_Demo_swap# 进入该项目 cd GCC_Demo_swap # 创建该项目的主程序 sudo vim main.cpp#include <iostream> #include "swap.h" using namespace std;int main(int ar…

05 | 类型匹配:怎么切除臃肿的强制转换

Java 的模式匹配是一个新型的、而且还在持续快速演进的领域。类型匹配是模式匹配的一个规范。类型匹配这个特性&#xff0c;首先在 JDK 14 中以预览版的形式发布。在 JDK 15 中&#xff0c;改进的类型匹配再次以预览版的形式发布。最后&#xff0c;类型匹配在 JDK 16 正式发布。…

管理类联考——数学——汇总篇——知识点突破——数据分析——记忆

文章目录 考点记忆/考点汇总——按大纲 整体目录大纲法记忆宫殿法绘图记忆法 局部数字编码法对号不对号 归类记忆法重点记忆法歌决记忆法口诀&#xff1a;加法分类&#xff0c;类类相加&#xff1b;乘法分步&#xff0c;步步相乘。 谐音记忆法涂色 理解记忆法比较记忆法转图像记…

TikTok商店的未来:马来西亚建议与全球挑战

TikTok商店一直以来备受关注&#xff0c;但最近在马来西亚引发了一场有关其发展方向和地方利益的争议。10月11日&#xff0c;马来西亚电子商务委员会主席 Ganesh Kumar Bangah就TikTok Shop 在马来西亚的问题进行了讨论。他指出禁止TikTok商店将严重影响许多当地中小企业、创造…

Leetcode—7.整数反转【中等】

2023每日刷题&#xff08;十&#xff09; Leetcode—7.整数反转 关于为什么要设long变量 参考自这篇博客 long可以表示-2147483648而且只占4个字节&#xff0c;所以能满足题目要求 复杂逻辑版实现代码 int reverse(int x){int arr[32] {0};long y;int flag 1;if(x <…

【23真题】准考证抄出来的题目,还原度99%以上!

今天分享的是23年成都信息工程大学803的信号与系统试题及解析。 还记得22年版本是东拼西凑&#xff0c;只是通过知识点还原的类题。今年多亏去年考研的同学&#xff0c;帮我在准考证抄出来了一份&#xff0c;让我可以帮助大家做解析&#xff01;这份真题虽然也是回忆版&#x…

java时间解析生成定时Cron表达式工具类

Cron表达式工具类CronUtil 构建Cron表达式 /****方法摘要&#xff1a;构建Cron表达式*param taskScheduleModel*return String*/public static String createCronExpression(TaskScheduleModel taskScheduleModel){StringBuffer cronExp new StringBuffer("");if(…

PLC、触摸屏、上位机之间如何实现无线数据交互功能?

本文以组态王与西门子触摸屏和2台西门子S7-200SMART为例&#xff0c;介绍组态王、触摸屏与多台 PLC在Profinet协议下的自组网无线通信实现过程。在本方案中采用了西门子PLC无线通讯终端——DTD418M&#xff0c;作为实现无线通讯的硬件设备。我们无需更改网络参数和原有程序&…

Talk | 香港科技大学博士生叶汉荣:面向2D/3D场景理解的多任务学习

本期为TechBeat人工智能社区第540期线上Talk&#xff01; 北京时间10月25日(周三)20:00&#xff0c;香港科技大学博士生—叶汉荣的Talk已准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “面向2D/3D场景理解的多任务学习”&#xff0c;分享了他的团队在多任…

小白必看!画出自己第一个界面,PyQt5安装以及使用

目录 1&#xff0c;介绍 2&#xff0c;windows安装 安装PyQt5-tools 设置环境变量 验证是否安装成功 QT Designer 3&#xff0c;Mac平台安装 安装PyQt5 安装 Qt Creater 验证是否安装成功 4&#xff0c;使用 PyCharm 开发 4.1 新建工程 4.2 添加外部工具 hellowo…

危机现场 | 令人窒息的彩色气球

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 阿福 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦 产品统筹 / bobo 场地支持 / 声湃轩天津录音间 1986年&#xff0c;美国克利夫兰城市广场上&#xff0c; 人们正期盼一场即将载入史册的募捐活动。 而此时&#xff0…

一个全响应式的企业级物联网平台,开源了

JetLinks 是一个开源的、企业级的物联网平台&#xff0c;它集成了设备管理、数据安全通信、消息订阅、规则引擎等一系列物联网核心能力&#xff0c;支持以平台适配设备的方式连接海量设备&#xff0c;采集设备数据上云&#xff0c;提供云端 API&#xff0c;通过调用云端 API 实…

HackTheBox - Starting Point -- Tier 0 --- Explosion

文章目录 一 题目二 实验过程 一 题目 Tags Network、Programming、RDP、Reconnaissance、Weak Credentials译文&#xff1a;网络、编程、RDP、侦察、凭证薄弱Connect To attack the target machine, you must be on the same network.Connect to the Starting Point VPN us…

代码随想录 | Day61 and 62

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 今日学习目标一、算法题1.下一个更大元素 II2.接雨水3.柱状图中最大的矩形 今日心得学习及参考书籍 今日学习目标 下一个更大元素 II&#xff08;503&#xff09; …