共计 1655 个字符,预计需要花费 5 分钟才能阅读完成。
原文链接: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 进行工夫序列剖析