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神经网络优化);根据地段、房屋面积、基础设施分布等要素,建立房价预测模型;根据酒精含量、生产年份、用料、产地等,建立红酒售价预测模型。课题贴合实际商业活动,锻炼了运用专业知识解决现实问题的能力和技巧


相关文章
|
2天前
|
机器学习/深度学习 自然语言处理 语音技术
深度学习500问——Chapter06: 循环神经网络(RNN)(3)
深度学习500问——Chapter06: 循环神经网络(RNN)(3)
17 3
|
2天前
|
机器学习/深度学习 自然语言处理 PyTorch
使用Python实现循环神经网络(RNN)的博客教程
使用Python实现循环神经网络(RNN)的博客教程
30 1
|
2天前
|
机器学习/深度学习 算法 Scala
深度学习500问——Chapter06: 循环神经网络(RNN)(4)
深度学习500问——Chapter06: 循环神经网络(RNN)(4)
15 1
|
2天前
|
机器学习/深度学习 算法 搜索推荐
深度学习500问——Chapter06: 循环神经网络(RNN)(2)
深度学习500问——Chapter06: 循环神经网络(RNN)(2)
15 3
|
2天前
|
机器学习/深度学习 存储 自然语言处理
深度学习500问——Chapter06: 循环神经网络(RNN)(1)
深度学习500问——Chapter06: 循环神经网络(RNN)(1)
9 1
|
2天前
|
机器学习/深度学习 数据挖掘 PyTorch
使用Python实现长短时记忆网络(LSTM)的博客教程
使用Python实现长短时记忆网络(LSTM)的博客教程
6 0
|
2天前
|
网络协议
LabVIEW 通过网络同步多台计算机系统时间的方法与例程
LabVIEW 通过网络同步多台计算机系统时间的方法与例程
|
2天前
|
监控 安全 网络安全
网络安全与信息安全:保护数据的重要性与方法
网络安全和信息安全是当今社会中不可或缺的话题。本文旨在探讨网络安全漏洞、加密技术和安全意识等方面的知识,以帮助读者更好地理解如何保护个人和机构的数据安全。
17 1
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI 初识】递归神经网络 (RNN) 概念
【5月更文挑战第2天】【AI 初识】递归神经网络 (RNN) 概念
|
2天前
|
机器学习/深度学习 算法 PyTorch
python手把手搭建图像多分类神经网络-代码教程(手动搭建残差网络、mobileNET)
python手把手搭建图像多分类神经网络-代码教程(手动搭建残差网络、mobileNET)
52 0

热门文章

最新文章