SARIMA,神经网络,RNN-LSTM,SARIMA和RNN组合方法预测COVID-19每日新增病例

简介: SARIMA,神经网络,RNN-LSTM,SARIMA和RNN组合方法预测COVID-19每日新增病例

项目挑战

开发一个预测模型,根据一个国家的历史每日COVID-19确诊病例,预测接下来115天当地的每日新增确诊病例。

解决方案

任务/目标

采用多种预测模型实现预测,评估每种模型的性能,找到最小MSE的模型参数(调参)

数据预处理

首先进行EDA(探索性数据分析),理解原始数据集。处理可能的缺失值或异常值(本例中没有缺失或异常)。将数据转换成浮点型,方便下一步的数据操作‘

用Pandas将索引设置为年,月,日的时间序列

该时间序列数据具有非线性趋势。2020年4月至2020年5月以及2020年8月至2020年9月期间,似乎具有季节性变化,周期为7天。此外,数据集的均值随时间变化,因此数据不是均值平稳的(mean-stationary)

划分训练集和测试集

考虑到最终模型会预测将来15天的新增确诊病例,保留最后15天的真实数据作为测试集

建模

首先使用一些简单的模型作为基准,如季节性天真(seasonal naïve),h步漂移预测(h-step forecast drift),和简单指数平滑(SES);然后采用了一些相对复杂的模型,如SARIMA,神经网络,RNN-LSTM;最后,采用SARIMA和RNN的组合方法来实现更准确的预测。接下来的模型描述侧重于SARIMA和神经网络

SARIMA

SARIMA是考虑了季节性变化趋势的ARIMA模型。分为三个部分:

第一部分是AR(自回归)部分,研究变量和其自身的滞后值的回归;

第二部分是MA(移动平均),研究误差项之间的线性组合;

第三个是I(整合),表示数据值已被当前值和前值之间的差值替代,以确保ARIMA可以解决非平稳数据。该过程可执行多次直到满足stationary

每个部分都旨在使模型更好地拟合数据;

AR神经网络

自回归神经网络(NNAR)是用于回归或分类的多层模型,其时间序列的滞后值作为输入。与ARIMA不同,它可以近似任何非线性函数。

RNN神经网络-LSTM

递归神经网络(RNN)通过隐藏单元(bias unit)处理时间效应,以递归方法进行更新,具有重复模块链的形式。长期短期记忆网络(LSTM)是一种特殊的RNN,可以学习长期依赖性。

项目结果

复杂模型的预测精度显著高于简单模型,其中RNN模型的MSE最小。预测结果的可视化图形如下:

最后,采取堆栈(stacking)的方式,根据MSE进行加权,将精度最高的三种模型结合。

预测结果仅作为参考。

关于作者

Enzo Li,本科就读于湖南大学,悉尼大学研究生,主修定量金融(quantitative finance),商业分析(business analytics)。侧重于应用层面的数据分析。在基于现实情境的商业实践活动中,取得了优异的成绩。如:根据COVID-19的历史确诊记录,建立每日新增预测模型 ,实现高精度预测(RNN神经网络优化);根据地段、房屋面积、基础设施分布等要素,建立房价预测模型;根据酒精含量、生产年份、用料、产地等,建立红酒售价预测模型。课题贴合实际商业活动,锻炼了运用专业知识解决现实问题的能力和技巧。


相关文章
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
447 2
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
746 0
|
机器学习/深度学习 算法 安全
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
517 0
|
机器学习/深度学习 算法 数据挖掘
基于WOA鲸鱼优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于MATLAB 2022a/2024b实现,采用WOA优化的BiLSTM算法进行序列预测。核心代码包含完整中文注释与操作视频,展示从参数优化到模型训练、预测的全流程。BiLSTM通过前向与后向LSTM结合,有效捕捉序列前后文信息,解决传统RNN梯度消失问题。WOA优化超参数(如学习率、隐藏层神经元数),提升模型性能,避免局部最优解。附有运行效果图预览,最终输出预测值与实际值对比,RMSE评估精度。适合研究时序数据分析与深度学习优化的开发者参考。
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本内容包含基于BiLSTM与遗传算法(GA)的算法介绍及实现。算法通过MATLAB2022a/2024b运行,核心为优化BiLSTM超参数(如学习率、神经元数量),提升预测性能。LSTM解决传统RNN梯度问题,捕捉长期依赖;BiLSTM双向处理序列,融合前文后文信息,适合全局信息任务。附完整代码(含注释)、操作视频及无水印运行效果预览,适用于股票预测等场景,精度优于单向LSTM。
|
机器学习/深度学习 数据采集 资源调度
基于长短期记忆网络定向改进预测的动态多目标进化算法(LSTM-DIP-DMOEA)求解CEC2018(DF1-DF14)研究(Matlab代码实现)
基于长短期记忆网络定向改进预测的动态多目标进化算法(LSTM-DIP-DMOEA)求解CEC2018(DF1-DF14)研究(Matlab代码实现)
499 0
|
11月前
|
机器学习/深度学习 数据采集 边缘计算
基于灰色神经网络的预测方法
基于灰色神经网络的预测方法
604 0
|
11月前
|
机器学习/深度学习 自然语言处理 PyTorch
21_RNN与LSTM:序列建模的经典方法
在自然语言处理领域,处理序列数据是一个核心挑战。传统的机器学习方法难以捕捉序列中的时序依赖关系,而循环神经网络(Recurrent Neural Network,RNN)及其变种长短期记忆网络(Long Short-Term Memory,LSTM)通过其独特的循环结构,为序列建模提供了强大的解决方案。本教程将深入探讨RNN和LSTM的原理、实现方法和最新应用,帮助读者全面掌握这一NLP核心技术。
805 0
|
存储 Linux 容器
【Container App】在容器中抓取网络包的方法
本文介绍在Azure Container App中安装tcpdump抓取网络包,并通过Storage Account上传抓包文件的方法。内容包括使用curl和nc测试外部接口连通性、长Ping端口、安装tcpdump、抓取网络包、以及通过crul命令上传文件至Azure Storage。适用于需要分析网络请求和排查网络问题的场景。
376 0
|
算法 Python
【EI复现】考虑网络动态重构的分布式电源选址定容优化方法(Matlab代码实现)
【EI复现】考虑网络动态重构的分布式电源选址定容优化方法(Matlab代码实现)
456 0

热门文章

最新文章