冯思曼 闫亮 张艳辉 蔡霞
摘要 针对某时刻存在异常的序列数据,首先建立添加异常值或干预效应的ARIMA(Autoregressive Integrated Moving Average)模型,之后应用LSTM(Long-Short Term Memory)模型对ARIMA模型残差序列进行深度学习。通过对波动较为明显的股票收盘价格日度数据和受“新冠”疫情影响的公路货运量序列数据进行实证分析,证实该模型在对某时刻发生不同程度突变的试验数据进行预测时,能够明显提高预测精度。
关 键 词 ARIMA;干预分析;LSTM;组合模型;预测
中图分类号 C812;F224.7 文献标志码 A
Hybrid forecasting model based on ARIMA-Intervention-LSTM
FENG Siman1, YAN Liang2, ZHANG Yanhui2, CAI Xia3
(1.Faculty of Science, Beijing University of Technology, Beijing 100124, China; 2. School of Mathematics and Statistics, Hebei University of Economics and Business, Shijiazhuang, Hebei 050061, China; 3.School of Science, Hebei University of Science and Technology, Shijiazhuang, Hebei 050018, China)
Abstract Since the sequence data with anomalies appear at a certain time, an ARIMA (Autoregressive Integrated Moving Average) model adding outliers or intervention effects is established, and then apply LSTM (long short term memory) model to carry out deep learning on the residual sequence of ARIMA model. Through the empirical analysis of the daily data of stock closing price with obvious noise and the series data of highway freight volume affected by the intervention of COVID-19, it is confirmed that the model can significantly improve the prediction accuracy when predicting the test data with different degrees of mutation at a certain time.
Key words ARIMA; intervention analysis; LSTM; hybrid model; prediction
0 引言
在時间序列数据的预测研究中,目前国内大多采用单一模型进行预测。卢志义等[1]运用ARMA模型对天津地铁一号线短期客运量进行预测并取得了较好的效果。王振杰等[2]对公共医疗卫生支出、社会医疗支出和个人医疗支出建立ARIMA模型,显示该模型有较好的拟合效果。谭照盈[3]研究了石家庄市各监测站点的AQI数据,通过R软件建立ARIMA模型对其进行短期预测。邵鹏郡[4]通过建立适当的ARIMA模型对美国失业率进行短期预测,为国家的货币政策及投资者的投资决策提供依据。在干预分析方面,曹志强等[5]基于干预分析对黄金的日交易价格进行预测。纳艳萍[6]基于政府限行、减排措施等政策建立ARIMA模型进行空气质量影响因素研究。
随着机器学习和人工智能的发展,深度学习在时间序列预测方面的应用愈加广泛。长短期记忆(Long Short Term Memory, LSTM)神经网络模型作为一种循环神经网络(Recurrent Neural Network, RNN),是当今最受欢迎的深度学习模型之一。最早在1997年由Hochreiter等[7]提出,涉及长时间滞后任务时,LSTM表现出比其他RNN模型更好的性能,所以被很多学者精炼和推广。2017年,R推出Keras安装包,这是一个运行在Tensorflow之上的综合库,使得在R中可以用LSTM实现时间序列预测。石庆研等[8]通过CRITIC方法对利用短期航班飞行轨迹建立的ARIMA模型和LSTM模型进行并联,该组合模型的预测效果要比单一模型更精确。Jin等[9]在分解投资人情绪倾向的基础上建立LSTM模型对股票收盘价格进行预测。Shahid F等[10]通过建立ARIMA模型、SVR模型、LSTM模型和Bi-LSTM模型对全球主要“新冠”感染国家的死亡情况进行预测,通过MAE和RMSE值比较,发现Bi-LSTM模型在2个指标下都为最小。Yadav等[11]对印度股票市场创建数据集,并通过寻找隐藏层数量等参数的过程对模型进行优化。王英伟等[12]将ARIMA和LSTM混合模型应用于5组不同行业的时间序列数据中,结果显示ARIMA和LSTM混合模型与其他模型相比能够有效提高预测精度。张波等[13]和张悟移等[14]利用单一LSTM模型分别对机场路面交通拥堵和交通运输业能耗进行预测,预测效果显示LSTM模型几乎在所有预测期均优于其他模型。LSTM模型由于其能够学习序列数据长期依赖关系并在处理海量数据防止梯度爆炸,在近几年的预测中应用十分广泛。
LSTM模型的长短期记忆特点使其在对时间序列数据训练时能够提取更多复杂信息,然而并未发现学者将LSTM模型应用到干预模型中。对于一些突发事件,如美国“911”恐怖袭击、新冠疫情爆发等都会使时间序列数据在短时间内产生不同程度的突变,再如国家出台的相关政策及国际局势的变化同样会对政策敏感性数据产生异常影响。针对基础序列在某时刻发生异常的数据,Intervention模型具有处理突发事件的优势,故将其与ARIMA、LSTM模型结合,即ARIMA-Intervention-LSTM混合预测模型。该模型在理论上能降低复杂序列数据的预测误差。
1 模型理论
1.1 ARIMA模型
实际生活中的序列数据往往不平稳,但对序列数据进行短期预测有迫切需求,故提出一种新的时间序列预测分析方法ARIMA模型[15]。实质就是ARMA模型与差分运算的组合,ARIMA(p,d,q)模型针对具有时间序列性质的数据在预测方面占有较大的优势,突破了ARMA模型只能研究平稳序列的局限性,任何非平稳序列如果能够通过适当d阶数的差分实现差分后平稳,就可以对差分后序列进ARIMA模型拟合。对含有趋势或周期性的非平稳时间序列数据通常进行差分处理,对差分平稳后的数据使用ARIMA进行数据拟合。
纯季节模型ARIMA(P,D,Q)是指时间序列数据变化特征带有一定的周期性,表现出显著的同期相关。其中D表示季节性差分次数,P、Q分别代表季节性自回归阶数和移动平均阶数。但实际的时间序列不仅存在同期相关还与相邻数据点有关。此时可对两者的效应进行混合相乘,构建ARIMA(P,D,Q)[×]ARIMA(p,d,q)模型,即ARIMA乘积季节模型对时间序列数据进行预测。
1.2 干预分析
当基础序列发生了突发的短期性变化,就需要引入干预分析对突发事件进行处理。
1.2.1 异常值分析
异常值是一种异乎寻常的观测值,是指数据序列的基础过程发生了突发的短期性变化。异常值出现可能是因为主观错误,也可能是客观原因,它既可能出现在测量序列之中,也有可能出现在误差项里。对于时间序列观测数据而言,可识别的异常值有2种,分别为可加异常值和新息异常值,通常简记为AO和IO。如果序列的基础过程在T时刻受到了可叠加性的扰动,那么此时就会出现可加异常值,因此数据变为:
AO可看作具有脉冲响应的干预。如果在T时刻误差受到了扰动,那么在T时刻就会出现一个新息异常值。因此:
式中:[et]是一个零均值的白噪声过程。将异常值纳入模型之中往往使模型的拟合效果更好。
1.2.2 干预分析
假定干预是通过改变时间序列的均值函数或趋势来对过程施加影响的,对于添加干预效应的时间序列[Yt]的一般形式为
式中:[mt]表示均值函数;[Nt]表示ARIMA模型。假定某数据集在T时刻受到对应干预,则在T之前,[mt]为0。T时刻序列数据相当于受到脉冲响应,影响均值函数,实际生活中,干预的影响只有经历一段时间才能全部消失。常见的有关脉冲响应的干预模型为
通常用极大似然估计法对模型的参数进行估计,由于[Yt-mt]为一个ARIMA过程,因此这里的似然函数即为联合概率密度函数。
1.3 LSTM模型
由于时间序列数据往往具有前后依賴性,增加了时间序列预测的复杂度。RNN是一种专门处理序列数据的神经网络,与人工神经网络相比,其最大的特点就是在某一时刻的输出能够作为输入再次输入到神经元,从而使网络具有记忆能力,但在RNN中,小权重通过几个步长反复相乘,梯度逐渐减小到0,故无法解决长期实践序列依赖问题。因此,LSTM神经网络应运而生。LSTM是一种特殊的RNN,主要为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,相比普通的RNN,LSTM能够在更长的序列中有更好的表现。
LSTM包括遗忘门、输入门、输出门和记忆细胞。sigmoid和tanh激活函数称为“门”的机制调节,即用“门”来筛选信息,用记忆细胞来储存信息。假设单元状态里面的信息用[Ct]来表示,上一个时刻的隐藏状态为[ht-1],当前的输入为[xt],通过权重矩阵[W]逐点相乘,然后将偏差[b]加到乘积中。LSTM训练过程如下:
1)由遗忘门sigmoid来控制上一时刻的输出信息,具体形式如式(5)所示,其中[ft]为介于0~1之间的一个数,0表示删除上一时刻所有信息,1表示上一时刻信息全部通过
2)在输入门产生需要更新的信息。这一步包含两部分,第一是输入门通sigmoid函数来决定哪些值用来更新,第二是用tanh层来生成新的候选值相加,得到该时刻所需的候选值。一、二部分结合起来就将原来的单元状态[Ct-1]更新为[Ct],具体形式为
3)输出门完成决定模型的输出。首先通过sigmoid层得到一个初始输出,然后通过tanh将值缩放到[-1,1]之间,再与sigmoid得到的输出逐对相乘,从而得到模型的最终输出[ht]
1.4 串联式组合模型
串联式组合预测模型一般是采用传统时间序列预测方法同机器学习方法进行串联式组合预测。ARIMA对线性模型处理具有优势,LSTM对时间序列的非线性部分具有较好的处理效果,故对ARIMA加干预效应之后的残差数据建立LSTM模型进行训练,在理论上应当比单一模型拟合及预测效果更加理想。
2 实证分析
本文采用2组不同行业的数据集进行实证分析,验证模型的普适性。数据集分别为上证交易所股票收盘价格日度数据和公路货运量月度数据。
2.1 衡量指标
判断模型建立准确性的指标有很多,指标的选定原则为尽可能从不同维度刻画模型预测误差大小。为保证对模型进行评判的全面性,本文采用平均绝对误差(Mean Absolute Error, MAE)和平均绝对百分比误差(Mean Absolute Percentage Error, MAPE)这2项误差指标作为衡量本文提出的模型与基础模型预测效果的判断标准,其中,MAE用来度量绝对误差的大小,而MAPE用来度量相对误差的大小,两者数值越小,则对应模型的预测精度越高,具体形式如式(8)和(9)所示:
2.2 股票日度数据
股票价格预测被认为是在经济领域中一个非常重要的实际问题,由于股票数据不受研究者控制,受外界条件影响较大,因此一些突发的事件往往会造成观测值的异常,导致序列数据在某时刻存在异常值的情况。上证交易所股票收盘价格日度数据序列如图1所示。
2.2.1 模型建立
1)拟合异常值:采用auto.arima函数根据AIC、BIC准则对该时间序列数据的ARIMA模型进行自动定阶,确定ARIMA模型后,利用R语言detectAO和detectIO命令,检测数据序列的异常值并对其进行处理,避免异常值对数据预测的干扰。本文对2019年1月2日至2020年12月31日共487个上证交易所股票收盘价格样本进行预测研究。首先对该数据集建立ARIMA模型,检测发现2019年2月25日、2019年4月24日、2019年5月6日和2020年2月3日上证交易所股票价格均存在异常。具体情况有:2019年由于政策引导股票市场,2月25日A股井喷,上证综指当日大涨5.60%;同年5月5日,美国总统特朗普表示对中国商品加征关税,5月6日上证综指大跌5.60%[16];因为春节假期休市,A股在2月3日迎来了疫情爆发后第一个交易日,上证综指低开9.13%,创下了A股有史以来的下跌记录[17]。将上述异常值纳入ARIMA模型后AIC变得更小了,说明模型拟合效果更好。
2)LSTM模型参数寻优:对异常值进行调整拟合后,将序列真实值和拟合值相减得到模型残差序列,对加上异常值的ARIMA模型残差序列建立LSTM模型进行训练。本文的LSTM模型共包括四层,分别为输入层、LSTM层、dense层和输出层。神经网络模型最重要的过程便是参数寻找过程,对特定数据集在一定范围内寻找出最优参数才能保证模型的预测效果。LSTM模型输入的3个维度(批量、时间步长、输入维度)设置为(1,2,1),其中批量的设置应为训练集和测试集的共同因子,且需要保证收敛速度,经调试后将其设置为1;时间步长经调试后设置为2;由于该数据集为日度时间序列数据,故输入特征维度为1;在dense层,最终输出单元设置为1,LSTM层输出维度为100,因此dense层所需要训练的参数数量为11。在保证模型收敛速度快的同时模型不宜过于复杂,总共需要训练491个参数,Keras层结构如表1所示。
利用网格化寻参的办法,找到合适的学习率参数和迭代次数。在该股票日度数据中,通过网格化搜索,寻找最优模型。将学习率控制在0.01~0.20的范围内寻找,变化幅度为0.01。迭代次数在4~50的范围内寻找,以均方误差(MSE)作为損失函数,训练集中全部样本的训练次数为8时模型的损失值趋于稳定,数值稳定在0.054 3附近;最终确定学习率为0.09。至此,ARIMA-Intervention-LSTM模型建立完成。
2.2.2 模型比较
除了建立ARIMA-Intervention-LSTM串联模型外,本文还建立了单一的ARIMA模型、ARIMA-异常值模型和单独的LSTM模型,并对模型的预测精度进行比较。这些模型的建立同上述叙述过程类似,故不再展开论述。对上证交易所股票日度数据建立的各模型预测误差如表2所示。
结果显示,对ARIMA模型添加异常值处理,能够有效提高预测精度,LSTM在训练股票等样本量较大的序列数据时具有更为明显的优势。考虑MAPE值时,本文提出的ARIMA-Intervention-LSTM串联模型具有比其他模型更准确的预测效果。
2.3 公路运输量数据
受新冠疫情的影响,国内公路货运量在2020年2月具有明显的突降,国内的公路货运行业受到严重冲击,许多货车司机不得不歇业在家,随着疫情的控制,公路货运量逐渐上升,但目前仍未达到正常货运水平。公路货运量的数据来源于国家统计局月度数据,国内公路货运量原始序列图如图2所示。将我国公路货运量2008年1月~2020年7月月度数据作为训练集,其余数据作为测试集,建立基于ARIMA-Intervention-LSTM的混合预测模型来表征模型预测效果,以下为模型建立过程。
2.3.1 模型建立
1)预干预数据的ARIMA模型:时间序列在受到干预之前的数据称为预干预数据,首先对2008年1月~2020年7月预干预时间序列数据建立ARIMA模型,采用auto.arima函数,通过AIC、BIC准则进行模型自动定阶,最终确定模型为[ARIMA(0,1,1)×(1,1,0)12]。
2)干预分析:该序列数据在2020年2月受到干预过程,采用预干预ARIMA模型表示未受干扰过程,干预效应在2020年2月出现,公路货运量自2013年起稳步提升,2014年1、2月,2017年2月,2019年2月和2020年1月均存在新息异常值。公路货运量相比其他交通方式需要更多的人力资本,异常值均存在于1、2月份,可能与春节期间公路货运量减少有关。干扰影响相对未受干扰的均值函数的偏离用一些协变量的ARMA滤波器的输出之和来表示,偏差被称作传递函数,对于该数据集,创建2个名为covid-19的相同协变量,该变量为示性变量,记作[Pt],在2020年2月取值为1,其它时刻取值为0,传递函数是阶数分别为c(0,0)和c(1,0)的covid-19示性变量的2个ARMA滤波器之和。通过极大似然估计模型参数,最终得到的传递函数{[mt]}为:
根据估计的传递函数,图3给出了“新冠”疫情对公路货运量的影响估计,由影响估计可知,“新冠”疫情对公路货运量的负向影响效应在逐渐减小,但到2020年11月止,该影响效应并未完全消失。
3)残差的LSTM模型:对ARIMA模型添加干预效应,并对信息异常值进行拟合后得到ARIMA-Intervention模型。用公路货运量的真实值减去ARIMA-Intervention模型,得到一组残差序列,对残差序列进行LSTM模型训练,参数寻找过程同上述过程类似,最终确定模型训练次数为7,学习率为0.09。对训练好的模型进行预测,并与其他单一模型进行比较。
2.3.2 模型比较
如表3所示,ARIMA-Intervention-LSTM组合模型对公路货运量的预测误差较其他模型一致小。由此可见,本文提出的组合模型预测精度整体优于其他模型,預测效果较好。
2.4 两实证数据集误差分析
ARIMA-Intervention-LSTM组合模型同ARIMA模型相比降低的MAE占比作为模型预测性能的指标,两组数据的实证分析,对于股票数据来说,误差降低19%左右,公路数据的预测误差降低了33%,此外,将表2和表3中的模型与模型类别进行对应可视化,结果如图4所示,ARIMA-Intervention-LSTM组合模型在两数据集间几乎均具有一致最优性。
3 结论
采用新提出的模型对两组不同类型的数据进行预测分析,结果显示本文所提出的模型预测精度有所提高。有些时间序列数据即使没有明显的干预特点,在加入异常值之后也会使模型的拟合效果更好。对存在明显突增或突降的序列数据添加干预效应,能够很好地提高模型预测效果。加上干预之后的ARIMA模型同样仅对时间序列数据的线性部分有较好的提取效果,LSTM模型除具有长期记忆和在大样本时防止梯度消失的优点外,同样能够对序列数据的非线性特征有较强的预测能力。
参考文献:
[1] 卢志义,聂惟聪,陈丽珍. 基于ARMA模型的城市轨道交通客流量预测[J]. 河南科学,2018,36(05):646-651.
[2] 王振杰,肖溢文,李佳怿,等. 基于ARIMA模型的2017-2025年我国医疗支出变化趋势及预测分析[J]. 中国卫生统计,2019,36(04):571-573.
[3] 谭照盈. 石家庄空气质量预测及影响因素研究[D]. 石家庄:河北经贸大学,2020.
[4] 邵鹏郡. 基于ARIMA时间序列模型的美国失业率预测研究[J]. 国际公关,2020(12):395-396.
[5] 曹志强,李慧. 基于干预分析的黄金日交易价格时序模型[J]. 数学的实践与认识,2015,45(15):146-153.
[6] 纳艳萍. 政策干预对银川市空气质量的影响研究[J]. 数学的实践与认识,2020,50(09):243-249.
[7] HOCHREITER S,SCHMIDHUBER J. Long short-term memory[J]. Neural Computation,1997,9(8):1735-1780.
[8] 石庆研,岳聚财,韩萍,等. 基于LSTM-ARIMA模型的短期航班飞行轨迹预测[J]. 信号处理,2019,35(12):2000-2009.
[9] JIN Z G,YANG Y,LIU Y H. Stock closing price prediction based on sentiment analysis and LSTM[J]. Neural Computing and Applications,2020,32(3):9713–9729.
[10] SHAHID F,ZAMEER A,MUNEEB M. Predictions for COVID-19 with deep learning models of LSTM,GRU and Bi-LSTM[J]. Chaos Solitons & Fractals,2020,140:110212.
[11] YADAV A,JHA C K,SHARAN A. Optimizing LSTM for time series prediction in Indian stock market[J]. Procedia Computer Science,2020,167:2091-2100.
[12] 王英伟,马树才. 基于ARIMA和LSTM混合模型的时间序列预测[J]. 计算机应用与软件,2021,38(02):291-298.
[13] 张波,周芳,李强. 基于LSTM模型的北京首都国际机场路面交通拥堵预测[J]. 数理统计与管理,2020,39(05):761-770.
[14] 张悟移,陈成. 基于深度学习的交通运输业能耗预测——以“一带一路”主要经济体为例[J]. 数学的实践与认识,2021,51(06):74-86.
[15] 王燕. 时间序列分析:基于R[M]. 北京:中国人民大学出版社,2015.
[16] 燕翔,许茹纯,朱成成. 2019年股市回顾与反思:行情轨迹[EB/OL]. (2020-01-01)[2022-04-29]. https://www. gelonghui. com/p/336770.
[17] 冉学东,安凌飞. 数字货币春节假期齐涨 近七日市值涨幅达34%[EB/OL]. (2020-02-03)[2022-04-29]. https://finance. ifeng. com/c/7tlrAep6Oi9.