朱刚 李文 杜守国 崔久强
摘要:时间序列是一种广泛存在于现实中的数据,常见的例子有股市的每日波动,每月家庭耗电量的记录等。经典的时间预测方法,往往有很多局限性,如自回归积分滑动平均方法(ARIMA)或指数平滑方法(ETS),将一个模型拟合到各个单独的时间序列,进行单点预测。而在真实场景中,知道某个商品的将来需求量的概率分布情况,比简单预测该商品未来需求量的实值更有价值。深度神经网络在时间序列预测领域已经有了许多成功的应用,Flunkert和Gasthaus等人(2019)提出了深度自回归模型(DeepAR),通过联合所有时间序列来训练单个模型受益,当数据集包含数百个相关时间序列时,DeepAR优于标准ARIMA和ETS方法。本文运用GluonTS框架对DeepAR模型在上海市制造业历年就业人数数据集上进行实证分析。
关键词:时间序列预测;循环神经网络;DeepAR模型;GluonTS
★基金项目:本研究得到海关总署决策咨询研究课题(HG-YB009)、国家社会科学基金项目(17BTJ025)、上海市科学技术委员会软科学研究项目(18692116100)、上海市领军人才项目的资助。
1、相关理论研究
1.1 时间序列预测
1.3 DeepAR模型
DeepAR是Amazon于2017年提出的基于深度学习的时间序列预测方法。
传统的时间方法(ARIMA,Holt-Winters等)往往针对一维时间序列本身建模,难以利用额外特征。此外,传统方法的预测目标通常是序列在每个时间步上的取值。与此相比,基于神经网络的DeepAR方法可以很方便的将额外的特征纳入考虑,且其预测目标是序列在每个时间步上取值的概率分布。在特定场景下,概率预测比单点预测更有意义。以零售业为例,若已知商品未来销量的概率分布,则可以利用运筹优化方法推算在不同业务目标下的最优采购量,从而辅助决策。
DeepAR是一个自回归RNN时间序列模型,是一个含隐藏状态的循环神经网络(使用LSTM或GRU单元)模型,DeepAR学习的是周期性的表现并且是基于贯穿时间序列的协变量,在获取高复杂度、组依赖的表现时,仅有少量的数据处理需要手动进行。
其中蓝框的weighted sum即为仿射变换函数,它的输出就是μ;绿框就是softplus函数,红框表示最终输出,结果就是σ。本文采用高斯分布作为似然模型。
2、案例应用分析
2.1 数据
实验采用的数据集是上海市制造业历年就业人数的数据。该数据集样本一共有68个时间序列,每个时间序列有84个时间点的数据,数据集的开始时间为2013年1月,截止时间为2019年12月。时间序列以月为时间步,即时间频率为月。按照6:1的分配模式来确定训练数据集和评估数据集,时间序列前72个数据作为训练数据集,评估数据集包含所有84个时间步,评估数据集后12个数据作为验证数据,用来对预测模型进行评估。协变量时间序列有区县制造业历年就业人数,市区两级的制造业历年退工人数,市区两级的制造业历年总产值,市区两级的制造业历年人员流出人数等。协变量时间序列的时间频率也为月,但时间序列的开始时间和结束时间可以不相同。数据集的详细信息见表1。
● SimpleFeedForward前馈神经网络是一种最简单的神经网络,各神经元分层排列,整个网络中无反馈,信号从输入层向输出层单向传播。
● Transformer模型是基于CNN(卷积神经网络)的时间序列预测方法。單纯依靠注意力机制(Attention Mechanism),一步到位获得全局信息。
● WaveNet是一个自回归概率模型,该模型在文字转语(Text-to-Speech,TTS)任务上取得了极佳的效果,它的建模方式与DeepAR十分类似,因而可以很自然地迁移到时间序列预测的任务上。
从实验结果看出,以上四种预测模型均能够大致预测出上海市制造业就业人数的未来变化趋势,这是因为基于深度学习的时间序列预测方法可以更好的提取时间序列的内部特征。从预测效果图来看,基于RNN的自回归循环神经网络模型(DeepAR)的预测效果较好,大部分预测值都落在了90%的预测区间内,前馈神经网络模型(SimpleFeedForward)和基于Attention的转换模型(Transformer)的预测效果一般,基于CNN的自回归概率模型(WaveNet)的预测效果较差。从表2的预测值评估数据来看,也应证了上述观点,DeepAR在四个评估指标中均取得了最好的预测效果,其四个指标的评估值都是所有模型中最小的,而WaveNet的预测效果较差,可以得出结论,对于上海市制造业历年就业人数这个数据集的预测,DeepAR模型是比较适合的。