多维时间序列由多个随时间演化的相关变量共同构成。这种数据结构广泛存在于科学研究和现实应用场景中。比如在电商场景中,多类产品的销售额随时间变化,共同构成一组多维时间序列;在金融股票市场中,多支股票的价格构成一组多维时间序列。提取这类数据结构中的信息并做出分析和预测在当前大数据的时代尤为重要。
在机器学习方法中,循环神经网络(RNN)是一类分析多维时间序列的重要模型。其主要特征是能够按时间顺序提取数据的信息并将其作为记忆保存在神经网络中。这一类模型(尤其是其中包含门控变量的变体LSTM和GRU)在语音识别, 动态图像处理,天气预测,金融数据分析等领域都取得了巨大成功。
在2020年12月收录的AAAI 2021(CCF-A类)会议,我们被收录了一篇名为《Memory-Gated RecurrentNetworks》的论文。该论文针对多维时间序列的信息结构,在现有循环神经网络模型的基础上做出了改进,提升了模型提取多维信息的能力。
多维时间序列信息提取的难点和精髓在于提取数据中复杂的相互依赖关系。在这种数据结构中,每一个变量的演化不仅依赖于其自身的历史信息(即各变量自身的时序记忆the marginal memories),而且依赖于变量间的相互作用(即变量间相互作用的时序记忆the joint memory)。我们仍以电商产品的销售额举例,某一类商品的销售额变化不仅受到其自身的季节性等等因素影响,也会因为节假日等因素和其他商品类别的销售额产生强相关。
尽管多维时间序列的这一信息特征在经典统计模型(比如ARMA-GARCH)中有所体现,但是并没有被现有的机器学习方法利用。比如在使用LSTM对商品销售额做预测时,我们将不同商品的销售额不加区分的输入网络,并完全期待网络自身来分辨其中的复杂依赖关系。这样的操作是十分粗糙的。我们完全可以在神经网络中设计精细化的结构来分别提取多维时间序列中的这两种记忆类型,即各变量自身的marginal memories和变量间的joint memory,从而降低神经网络提取多维信息的难度。基于这样的思想,我们提出了一个新的循环神经网络结构,将其命名为门控记忆循环神经网络(Memory-GatedRecurrent Networks,mGRN)
接下来我们介绍mGRN的结构。我们将一组多维时间序列记为X_t,假设其由M个变量组成。我们将变量分为K组,即X_t=[X_t((1))…X_t((K))]。在mGRN中,我们设置Marginal-memory components 来分别提取每一个变量组的记忆信息(即图1中的红色部分),之后在joint-memory component中将各变量组信息综合来提取其中的相互作用(即图1中的蓝色部分)。
其中Marginal-memory components被设计为了GRU的形式。具体来说,用于提取第k个变量组X_t^((k)) 信息的部分由公式1所示(σ代表Sigmoid函数,图片代表元素乘积)。这里结构设计的重点是我们将数据信息X_t^((k)) 以及其相对应的记忆h_t^((k))清晰的对应起来,从而简化了神经网络分辨和提取信息的难度。这种清晰的对应是现有循环神经网络中所缺失的。
之后我们将各个变量组的信息通过非线性的方式在joint-memorycomponent中综合起来。具体形式由公式2所示。这一形式是一个简化版的GRU。在mGRN中,由于需要分别提取marginal memory和joint memory,我们不可避免的设置大量的中间门控变量。但是过多的中间变量容易造成过拟合。为了解决这一问题,我们采取了谨慎的设计,使用GRU而非LSTM作为基础结构(GRU结构相比LSTM更加简单),并且通过实验移除了joint-memory component中的多余部分。
最后,关于mGRN的结构还有两点讨论。
mGRN可以被应用在所有的多维时间序列数据分析中。为了展示mGRN的提高,我们在论文中提供了多个真实应用场景中的对比试验,其中包括
基于重症监护病房中病人身体指标构成的多维时间序列进行预测 (Harutyunyan et al.
2019)。预测目标包括病人的存活率,在重症监护病房中的停留时间等等。
口语数字发音的识别 (Bagnall et al. 2018)。多维时间序列由声音记录的多个频率组成。
手写数字笔迹的识别 (Bagnall et al. 2018)。多维时间序列由手写轨迹的坐标变化构成。
在这些应用中,对比现有文献中的最好结果。mGRN均取得了显著地提升。但是这些实验较为复杂,感兴趣的读者可以参考我们的论文。在这里,我们提供一个在金融场景中的应用,即基于限价订单簿数据的高频股票价格预测。
限价订单簿是股票市场中的一种常见机制,图2中展示的即为限价订单簿在某一时刻的状态,中间红色的一列数字记录市场愿意买卖的价格,最后白色的数字记录市场愿意买卖的股票数量。在真实交易状态下,这些数字会随着订单的提交和成交不断变化,从而构成一个高频多维时间数据集。这个数据集包含了股票的供需等信息,基于此我们可以对未来短期内股票价格的变动进行一定的预测。
参照Sirignano andCont (2019),我们在每个时间点基于历史订单簿数据做预测,预测内容为之后股价变动的方向(即上涨或下跌),这样我们把股价预测简化为了一个二元分类问题。在应用mGRN时,我们将订单簿数据分成四组进行处理,即买价,买量,卖价,卖量。
我们在国内A股市场进行试验。我们的数据集时间跨度是从2014年12月到2017年12月。我们使用2014年12月到2017年6月的数据训练模型,2017年7月到2017年9月的数据调整参数(validation set),最后用2017年10月到2017年12月的数据来对比预测结果(test set)。为了获得有代表性的结论,我们关注CSI300和CSI500指数中的股票,并剔除其中停牌时间较长的股票,得到约300只股票。最后,我们从中随机选取了30只股票进行试验。在整个数据集中,每只股票有约4百万个样本点。
我们通过预测准确度和AUC两个指标来衡量预测效果。30支股票在2017年10月到2017年12月的平均预测结果如表格1所示。在每一只股票上,mGRN对比LSTM和GRU的提升如图3中的箱形图所示。可以看到mGRN相比LSTM和GRU在预测效果上有显著且稳定的提升。
图 3:mGRN相比LSTM和GRU在股票价格变化预测准确度(左图)和AUC(右图)上的提升
我们针对多维时间序列提出了一个新的循环神经网络,即门控记忆循环神经网络(Memory-GatedRecurrent Networks,mGRN)。这一结构的主要特征是分别提取多维时间序列中每个变量(组)自身的时序记忆,以及变量间相互作用的时序记忆。通过明确设置门控变量来学习这两类记忆,我们降低了神经网络提取高维记忆的难度。相比于现有用于处理高维时间序列的机器学习算法,门控记忆循环神经网络在多个应用场景中展现出了显著且全面的提高。
References
[1] Zhang, Y.; Wu, Q.;Peng N.; Dai, M.; Zhang, J.; Wang, H. (2021). The Thirty-Fifth AAAI Conferenceon Artificial Intelligence (AAAI-21), arXiv preprint arXiv:2012.13121
[2] Bagnall, A.; Dau,H. A.; Lines, J.; Flynn, M.; Large, J.; Bostrom, A.; Southam, P.; and Keogh, E.(2018). The UEA multivariate time series classification archive, arXiv preprintarXiv:1811.00075.
[3] Harutyunyan, H.;Khachatrian, H.; Kale, D. C.; Ver Steeg, G.; and Galstyan, A. (2019). Multitasklearning and benchmarking with clinical time series data. Scientific data 6(1):1–18.
[4] Sirignano,J. and Cont, R. (2019). Universal features of price formation in financialmarkets: perspectives from deep learning. Quantitative Finance, pages 1-11.
关注“京东科技技术说”微信公众号 回复「AAAI 2021」即可下载更多论文