如果觉得我的算法分享对你有帮助,欢迎关注我的微信公众号“圆圆的算法笔记”,更多算法笔记和世间万物的学习记录~
时间序列预测问题是根据一个序列的历史值预测未来值。当同时预测多个时间序列,并且各个时间序列之间存在空间上的关系时,就不能只将每个时间序列单独建模,而应该考虑不同时间序列之间的关系。例如,在交通预测场景中,需要预测不同地点的车流量,不同地点的车流量之间是存在空间上的关系的,例如A点的车20%在5分钟后会开往B点。仍然用传统的时间序列预测方法,即每个序列独立地进行预测,无法捕捉这种不同地点的空间关系信息。
目前解决时间+空间预估的方法主要包括基于图的时序预估和基于矩阵分解的时序预估两种方法。本文通过6篇顶会论文介绍了这两种类型方法的发展历程。
1. 图时序预估方法
本节介绍几个图模型中的基础概念,感兴趣的同学可以深入其他图学习相关文章继续学习。N个节点组成的图可以由一个N*N的临接矩阵和一个N*N的度数矩阵表示。临接矩阵中第(i, j)个元素表示节点i和节点j之间在图上的距离,这个距离根据具体任务和图而定;度数矩阵是一个对角矩阵,第(i, i)个元素表示节点第i个节点和几个边相连。图的拉普拉斯矩阵由临接矩阵和度数矩阵计算得到,简单来说,拉普拉斯矩阵衡量了图中两两节点之间信息传递关系(具体来说,拉普拉斯矩阵是图上的拉普拉斯算子,拉普拉斯算子是高维空间二阶导数的推广)。
通过拉普拉斯矩阵,我们可以将每个图中每个节点的特征进行扩散到其他节点,得到每个节点考虑了图中信息传播后新的特征。图卷积是图模型的一种实例。在将傅立叶变换拓展到图中时,发现傅立叶变换中的基就是图的拉普拉斯矩阵的特征向量。这样解决了Spatial卷积方法中,无法比较好的选择邻居节点、无向量化表示的问题。
拉普拉斯矩阵有不同的形式,例如最基础的拉普拉斯矩阵L=D-A,还有如下正则化拉普拉斯矩阵、随机游走拉普拉斯矩阵等,不同的拉普拉斯矩阵反应了图上信息流动方式的不同先验。
RNN是最基础的时间序列预测深度学习模型,RNN天然的序列建模能力可以很好的处理时间序列数据。在RNN的基础上,DIFFUSION CONVOLUTIONAL RECURRENT NEURAL NETWORK: DATA-DRIVEN TRAFFIC FORE