基于注意力的时空图卷积网络交通流量预测
Abstract
交通流量数据通常高度非线性,并且具有复杂的模式,因此交通流量预测是一个极具挑战性的问题。
现存预测算法缺少对数据中动态时间-空间相关进行建模的能力。
作者提出了一种基于注意力的时空图卷积神经网络
- 该网络主要由三个独立的部分组成,对交通数据的三种时间属性分别进行建模。(一个部分只对一种时间属性建模)
- 每个部分由注意力模块和卷积模块组成
- 注意力模块负责捕获数据中的空间-时间相关
- 卷积模块在注意力模块的基础上分别对空间特征和时间特征执行卷积
- 三个部分的输出被加权融合生成预测结果
交通流量时空相关示意图
下图是交通流量的时间-空间相关示意图
图中的粗线表示相连的两个点之间的相互影响程度。颜色越深,表示影响越大。
从子图a中可以看出,不同节点对A的影响不同,并且这种影响会随时间变化。可以得出数据中存在空间相关,并且这种相关会随时间变化。
从子图b中可以看出,不同位置(A or B)的历史数据,对未来A点交通流量的预测,有不同的影响。可以得出数据中存在时间相关。
交通网络的定义
在此研究中,作者将交通网络定义为一个无向图G =(V, E, A),其中V表示节点,E表示边(可能是边上有特征),A表示图的连接矩阵。图G中的每个节点以相同的采样频率检测F个指标,也就是说,在各个时间点,每个节点分别生成一个长度为F的特征向量。
下图是交通数据时空结构的图形展示:
其中每个节点,含有流量、速度和道路占用率三个特征,预测任务中只预测未来的交通流量。
假设采样间隔为5分钟,那么一天还有288个采样点。
由于交通堵塞的形成和散开是逐渐进行的,因此最近的交通流量不可避免地对未来的交通流量有影响。
由于人们有规律的日常生活,交通数据会显示出重复的模式,比如每天的早高峰。
同时,交通数据有明显的周周期,周日和周一的交通流量会有很大的不同。
综上所述,我们需要按照交通流量的三种规律,从历史数据中选择体现最近、日周期、周周期的相关数据,作为训练数据。
因此,我们有三种不同类型的数据,在训练的时候,使用三个不同的部分分别训练,最后将各个部分的输出融合起来,作为最后的预测。
基本思路
- 对于空间相关,我们可以使用图卷积来提取特征;
- 关于时间相关,我们可以使用简单的一维卷积来提取特征;
在实际情况中,这两种相关并不是一成不变的,它们会随时间变化,是动态的;
- 因此我们可以考虑使用注意力机制来提取数据中的空间依赖和时间依赖。
下面分别介绍空间注意力机制、时间注意力机制、空间图卷积和时间一维卷积。
空间注意力机制 spatial attention mechanism
在空间维度上,不同位置之间的交通情况相互影响,并且这种影响具有很强的动态性。因此,作者使用注意力机制来自适应地(adaptively)捕获节点之间的动态相关。
其中X是第r个时空块的输入,C是输入的通道,T是输入的时间长度。
当r=1时,C0=F,T0=Th(以最近时段部分为例)
注意力矩阵S根据本层(block)输入动态计算,Si,j表示节点i和节点j之间的连接强度。
最后使用一个softmax函数使得每个节点的注意力权重和为1。
在执行图卷积之前,我们可以将S和连接矩阵A结合使用,从而动态地调整节点间的影响权重。
时间注意力机制 temporal attention mechanism
不同时间点的交通状况之间存在关联,并且这种关联在不同情况下是不同的。同样,我们使用注意力机制自适应地赋予数据不同的重要程度。
Ei,j语义上表示时间点i和j之间的依赖强度。
我们直接将时间注意力矩阵E应用到输入,通过合并相关的信息来动态的调整输入。
空间图卷积 spatial grpah conv
此部分可以选择任意的图卷积模型
值得注意的是,此模型在执行卷积之前,先将邻接矩阵A和空间注意力矩阵S点乘(dot product,对应位置相乘),来动态的调整邻接矩阵。
时间一维卷积 temporal 1D conv
在图卷积捕捉到每个节点相邻节点的信息后,一个标准卷积用来合并每个节点相邻时间点的信息。
其中,第一个*表示标准的一维卷积,Φ表示一维卷积的卷积核,内层ReLU中表达式是图卷积。
下图是空间图卷积和时间一维卷积的示意图
各部分输出的融合
有些时间点有明显的日周期,周周期,但是也有节点没有明显的日周期、周周期,因此,针对不同的节点,对三个部分的输出赋予不同的权重。
模型总体框架
为了提高训练效率,模型中加入了残差连接。
结果
(将ASTGCN去掉注意力部分得到MSTGCN)