原文链接:http://tecdat.cn/?p=23476 

作者:Enzo Li

我的项目挑战

开发一个预测模型,依据一个国家的历史每日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神经网络优化);根据地段、屋宇面积、基础设施散布等因素,建设房价预测模型;依据酒精含量、生产年份、用料、产地等,建设红酒售价预测模型。课题贴合理论商业活动,锤炼了使用专业知识解决事实问题的能力和技巧;


最受欢迎的见解

1.用于NLP的Python:应用Keras的多标签文本LSTM神经网络分类

2.Python中利用长短期记忆模型LSTM进行工夫序列预测剖析 – 预测电力耗费数据

3.python在Keras中应用LSTM解决序列问题

4.Python中用PyTorch机器学习分类预测银行客户散失模型

5.R语言多元Copula GARCH 模型工夫序列预测

6.在r语言中应用GAM(狭义相加模型)进行电力负荷工夫序列剖析

7.R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测工夫序列数

8.R语言预计时变VAR模型工夫序列的实证钻研剖析案例

9.用狭义加性模型GAM进行工夫序列剖析