1. 引言
近些年来,飞速增长的机动车数量给城市发展和居民出行带来巨大的影响,不仅对城市的道路交通规划带来巨大的挑战,同时给城市管理添加了压力。为缓解道路交通对城市发展的影响,智慧交通系统 [1] 已经被用于诊断、改善城市道路交通状况中来,作为该系统的核心部分,交通流预测被广泛研究与应用,其精度影响到智慧交通系统的稳定运行。交通流预测基于历史交通流数据来研究未来一定时间段内的交通流变化情况,准确的交通流预测能够有效地缓解道路拥堵状况以及应用于路线规划等方面。
交通流预测早期的研究方法基于统计学习方法,例如历史平均模型(Historical Average, HA) [2] 、自回归移动平均模型(Auto Regressive Integrated Moving Average, ARIMA) [3] 、向量自回归模型(Vector Autoregression, VAR)等方法,这些方法通常需要良好的模型结构以及大量的数据集作为支撑,一些交通流数据中关键信息并没有得到深度挖掘,同时非线性特征表征能力不足。随着后来机器学习的发展,支持向量机回归(Support Vector Regression, SVR) [4] 、K邻近(K-Nearest Neighbor, KNN) [5] 、贝叶斯网络(Bayesian Networks) [6] 等机器学习方法能够处理交通流数据中非线性问题,较统计学习方法具有良好的性能,由于一些方法依靠其中的核函数影响到模型的性能,并不能够构建合理特征去提升预测精度。深度神经网络学习作为非参数的学习网络,其在信息处理上和结构上更具有优势,能够更好的处理时间序列数据,一般处理时间序列的神经网络包括循环神经网络(Recurrent Neural Networks, RNN) [7] 以及其变种长短期记忆网络(Long Short-Term Memory, LSTM)、门控循环单元结构(Gated Recurrent Unit, GRU),Smith等人使用BP (Backpropagation) [8] 神经网络处理动态信息,相比较于传统统计学习模型以及非参数回归模型,其在短时预测精度上有很大提高。
对于交通流预测而言最主要是能够提取数据中复杂的动态空间与时间相关性,卷积神经网络(Convolutional Neural Networks, CNN) [9] 被应用于捕获交通流数据的空间依赖性,RNN被应用于捕获交通流数据的动态时间相关性。随着图神经网络(Graph Neural Networks, GNN)在图像领域的广泛应用,基于GNN的方法同样应用在交通流预测中。Yu等人 [10] 运用GCN捕捉高阶的时空信息,但局限在交通流的走向仅为单向。Zhao等人 [11] 考虑到交通网络的复杂拓扑结构和影响交通流因素的多样性,交通模型通常是复杂多变的,为捕捉空间和时间相关性,提出时间图卷积网络T-GCN,该模型与图卷积网络和门控递归单元相结合。Hu等人 [12] 提出了一种动态图生成模块,该模块预先收集关于节点之间的地理邻近性和空间异质性信息。
基于注意力机制的预测模型Sequence2Sequence [13] 被应用于交通流预测中,在长时间预测下具有良好的效果,2017年,由完全注意力机制所构成的Transformer模型 [14] 被提出,Li等人 [15] 将Transformer模型应用于交通流预测中,能够预测任意时段的交通量情况,但未能适大规模、多时段交通预测问题。
为解决上述的一些问题,设计中提出基于空间信息迟延感知的时空Transformer模型(DAST-Transformer)用于预测交通流,采用Transformer的基本结构,本文主要的贡献如下:
1) 提出将周期数据、位置信息等融合至嵌入层,更好捕获时空动态相关性;
2) 设计时空编码层,考虑到时空相关性的建立,针对时空动态关系,建立时空自注意力机制,利用mask矩阵将位置空间与语义空间邻域信息结合到自注意力机制中去,提升对当前节点影响较大区域的关注,兼顾邻接节点与较远节点的影响因素;
3) 建立迟延感知模块模拟空间信息传播情况,将得到的交通流序列融合到空间信息自注意力机制中。
2. 整体设计
2.1. 问题定义
定义1.交通流预测中通常将每个传感器定义为一个单独节点,传感器之间的距离以及关系被视作节点之间的边,交通网络可以定位为无向图
,其中
作为节点的集合,N为节点的数量,
为节点边的集合,
为无向图G的邻接矩阵,反映节点之间的连通关系和强度。
定义2.交通流张量定义,定义
表示在t时刻道路交通网路中N个节点的交通流数据,其中C表示交通流的特征维度,那么在过去时间长度为T的交通流可以表示为
。
对于交通流量的预测,其主要目的是能够依靠历史时间交通流数据X预测未来
个时间步长的交通流数据,预测值组成
,其中存在函数映射关系
如式(1)。
(1)
2.2. 模型建立
预测模型主要是由数据嵌入层、堆叠L层的时空编码器以及输出层组成,如下图1所示,接下来详细介绍其中的结构和各个部分的组成。模型基本采用Transformer模型的结构与形式,多头注意力机制捕捉交通流数据时空相关性,对原始数据与路网信息处理后分别建立空间自注意力机制和时间自注意力机制,其中空间注意力机制为了能够考虑到动态关系与较远节点的影响问题,故空间注意力机制分为两部分分别捕捉其中的关系,包括语义空间自注意力机制与位置空间自注意力机制,另外位置空间注意力机制为模拟空间信息传播的时间迟延情况,设计迟延感知模块更新其中的参数信息,由此组合成基本的时空编码层。经过跳跃连接处理后的交通流序列沿用transformer模型中的位置全连接前馈网络的处理方式,得到最终的预测结果。

Figure 1. Schematic diagram of model structure
图1. 模型结构示意图
2.3. 数据嵌入层
将交通流的原始数据通过全连接层输入
转化为高维显示
,其中d表示数据嵌入需求的维度,之后进一步将空间信息和时间信息嵌入其中。
首先对于空间特征使用图拉普拉斯变换,能够尽可能保留原始的道路空间结构情况,计算无向图G的归一化拉普拉斯矩阵
,如式(2)所示,其中I为单位矩阵,D为邻接矩阵A的度矩阵,通过特征分解得到特征向量矩阵和特征值矩阵,如式(3)所示,其中U为特征向量矩阵,
为特征值矩阵,利用其中k个不为0的特征向量通过投影方式生成空间拉普拉斯嵌入矩阵
。
(2)
(3)
其次对于时间特征而言,考虑到城市道路交通周期性的出行规律和特性,将周周期数据分量和日周期分量融和其中,
和
作为转换函数将原始的时刻t转换为周周期索引和分钟索引,连接历史时间长度为T的数据片段构成周周期数据分量
和日周期数据分量
。另外受到其他Transformer模型位置编码方法的启发,在这里同样采用时间位置编码
以导入数据序列的位置数据信息。
如下式(4)所示对上述多组数据融合相加得到
,其将得到的
作为时空编码层的输入。
(4)
2.4. 时空编码层
综合考虑到交通流时空特性,使用transformer结构设计基于自注意力机制的时空编码层,主要是用于提取动态时空特征,首先是时间自注意力机制,用于捕捉历史时间动态特性和长期依赖特性,其次是空间注意力机制,包括语义空间与位置空间部分,重点捕获数据中的长、短距离动态空间依赖,其中迟延感知模块,进一步巩固空间注意力机制,同时建立迟延模式模拟空间信息传播中的时间延迟情况。由于输入到时空编码层的数据三维数据,在各个模块中需要从不同的维度处理数据,故可以使用切片表示法,简化明确需要处理的数据段。
2.4.1. 空间自注意力机制
道路交通空间相关性不仅仅受到当前节点的邻接节点的影响,还可能受到周边节点的影响,对当前节点的影响也随时间动态变化,在这里空间自注意力机制用于捕获交通数据的空间动态相关性,在时间片t中可以得到自注意力机制中的Q、K、V矩阵,计算过程如下式(5)所示,其中
、
、
是可学习的参数,在空间维度应用自注意力机制,如式(6)所示通过计算得到注意力分数,即可得到在时间片t中节点之间的空间依赖性矩阵
。
(5)
(6)
上式中
是
、
、
矩阵的维度,通过计算得到
表征了时间片t中各个节点的空间影响程度,同时在不同的时间片中节点之间相互影响的程度也不同,意味着空间依赖性的动态变化性,因此上述空间自注意力机制能够捕捉到空间动态性,将得到的空间依赖性矩阵
与
矩阵相乘得到模块的输出,如式(7)所示:
(7)
不仅需要考虑到空间动态性,同时还要考虑到邻接节点以及更远节点对当前节点的影响,因此在这里引入两个mask矩阵
、
,进一步引入两个空间自注意力机制,其中矩阵
根据节点之间的距离进行定义,若是节点之间的距离小于阈值,则定义为1否则为0。矩阵
使用DTW算法计算节点之间的交通流相似度,为每个节点选择具有最高相似度的k个节点作为语义相近节点,将当前的节点与语义相近节点之间的权重设置为1否则为0,从而构造矩阵
。将得到的矩阵
和
融入到模块的空间依赖性矩阵中,排除一些对当前节点影响较小的节点依赖关系,以捕获交通数据中邻接节点及更远节点的有效空间相关性,其中
、
分别为位置空间和语义空间自注意力输出。
(8)
(9)
2.4.2. 迟延感知模块
为了能够模拟当前历史时间段中各个时间片的空间信息传播迟延情况,需要整合给定时间段内各个时间片的历史交通流信息,将最终的结果合并到位置空间自注意力模块中,以明确空间信息传播时间迟延情况。
首先在历史交通流数据集中选取具有代表性的一组交通流数据,其代表了某种交通模式,通过大小为F的滑动窗口对历史交通流数据进行分割得到这组数据,然后对这组数据使用k-Shape聚类算法,其能够保留时间序列的形状,同时不受缩放等的影响,聚合的结果使用集合
来表示,其中
代表聚类的总数,据此能够将P视为一组交通流数据。
相似的交通流数据意味着节点之间存在着类似的影响,故将数据集中的每个节点的历史交通流序列于提取到的集合P进行比较,最终将相似的数据信息融合到每个节点的交通流序列表示中。在给定节点中从
到t时刻,历史交通流序列
首先将其通过嵌入矩阵中
得到高维形式
,同时通过另一个嵌入矩阵
将集合P中的每个交通序列转换为记忆向量
,将高维形式的历史交通流序列与记忆向量比较得到相似性向量
。根据相似性向量
对集合P加权求和从而获得综合历史交通流序列
,其中
作为可学习的参数,经过完整的计算从而获得单个节点的综合历史交通流序列,通过累计得到N个节点的综合历史交通流序列
,通过
的补充更新式(5)中
值,如式(10)所示。
(10)
通过上述方法获得整合后的从
到t时刻的综合交通流序列,从而更新空间依赖性矩阵
以模拟空间信息传播的时间迟延情况,如下图2演示了单节点情况。

Figure 2. Delay awarenesson single node
图2. 单节点延迟感知
2.4.3. 时间自注意力机制
对于不同的时间片中的交通流数据存在时间动态相关性,不同节点在不同的情况下呈现出不同的形式,因此这里使用到时间自注意力机制用于挖掘时间动态相关性,与空间自注意力类似,通过式(11) (12)计算当前的节点n计算时间依赖性矩阵
,其中
、
、
为可学习的参数。
(11)
(12)
从上式中可以看出时间自注意力机制能够发现不同节点中的不同动态时间相关性,另外时间自注意力机制具有全局性,将得到的时间依赖性矩阵
与
矩阵相乘得到模块的输出,如式(7)所示。
(13)
2.5. 数据输出层
时空编码层最后主要将三种自注意力机制融合到一个多头自注意力模块,降低计算复杂性后进行预测,注意力头主要包括语义空间、位置空间以及时间自注意力头,将这些计算得到的结果连接输出得到整合时空信息后的输出,如下式(14)所示:
(14)
式(14)中
、
、
分别表示各个注意力机制头数量,
作为可学习的参数矩阵,另外在后续处理中还用来Transformer模型中的位置全连接前馈网络的处理方式,获得输出
。
经过多层连接,其中每个时空编码层通过1 * 1的卷积构成的跳跃连接与输出
相加得到隐藏状态矩阵
,其中跳跃连接矩阵
,
为跳跃维度。为了实现多步预测的目的,将隐藏状态矩阵转换为所需要的维度,经过1 * 1卷积运算,得到
步预测结果
。
(15)
3. 实验设计与验证
3.1. 实验数据与对比基线
实验选取的数据集采用公开数据集PEMS04与PEMS08,实验数据由加州高速路网采集,路网中的传感器超过39000个,采样周期为5分钟,每小时由12组不同的数据,如表1所示为数据的基本情况。
另外选取多组基线模型与现有模型对比,其中包括HA、SVR、VAR基本预测方法,同时还包括一些近年文献中的模型:
1) HA:历史平均模型,相同时序位置的数据均值作为模型预测值;
2) SVR:支持向量回归,通过核函数映射到特征空间,进行回归处理;
3) VAR:向量自回归模型,多变量序列的自回归方法,大幅降低信息长范围丢失问题;
4) DCRNN (Li et al. 2018) [16] :扩散图卷积神经网路,引入编码器–解码器结构,通过循环神经网络捕捉时间依赖;
5) MTGNN (Wu et al. 2020) [17] :多元时间序列预测图神经网络,首次使用GNN应用于多元序列预测;
6) GMAN (Zheng et al. 2019) [18] :图多头注意力网络,采用编码器–解码器结构,由多个时空块组成;
7) Traffic Transformer (Yan et al. 2021) [19] :提出全局编码器和全局-局部解码器提取和融合交通流的空间依赖性。
3.2. 实验设计与环境
为了能够评价模型的性能,采用以下三种度量函数作为评测模型性能的依据。
平均绝对误差(Mean Absolute Error, MAE)
(16)
均方根误差(Root Mean Square Error, RMSE)
(17)
平均绝对百分比误差(Mean Absolute Percentage Error, MAPE)
(18)
其中
、
分别为预测值与观测值,n作为表示样本数量。
实验的环境均在Windows操作系统下,系统配置Inter(R) Core(TM) i9-10900X @ 3.70GHz GPU: NVIDIA GeForce RTX 3090,在Pycharm集成开发环境下编译,基于Pytorch框架和Python3.9实现模型的预测。
3.3. 实验结果与分析
为了验证模型的有效性,根据现有的两组公开数据集测试模型的性能,同时与选取的基线模型继续对比,验证模型的可靠性。实验中对于数据集按照训练集、验证集和测试集进行划分,其中各占60%、20%、20%,采用Adam优化器训练,同时学习率设置为0.001,批量大小为16,利用过去12个步长的历史时间数据预测未来12个时间步长(1小时)的交通流量。
实验结果如下表2所示,分别在PeMS04和PeMS08两个数据集上验证了模型的性能,实验中采用的三个指标作为评价指标,通过与其他基线模型的对比结果如表1中所示,其中从表中可以看到HA模型在预测表现上较差,模型仅仅考虑到时间上的相关性问题,其次SVR、VAR模型无法捕捉到非线性时空动态依赖关系。

Table 2. Prediction effect under different models on PeMS04
表2. PeMS04和PeMS08在不同模型下的预测效果
*注意:每列最大值用粗体标注。
对于基于神经网络的模型来说,其中MTGNN优于DCRNN,DCRNN虽然考虑到扩散的过程情况,但是对于时空信息的捕捉没有MTGNN更完善,忽视了动态特性,另外的GMAN与MTGNN差距较小,模型都是基于图神经网络所展开设计的。对于Traffic Transformer模型而言,虽然其在PeMS04数据集上的MAPE以及在PeMS08数据集上的RMSE的值优于DAST-Transformer,但是其并未考虑到空间传播的迟延情况以及长、短距离节点的影响,且当前模型在数据集PeMS04和PeMS08上的表现较Traffic Transformer有提升,显著优于其他方法。
3.4. 消融分析
为了验证所提出模型中不同组成部分的有效性,故将其中的一些部分网络去除,形成该模型的变种,并在数据集PeMS04上进行验证,消融实验包括以下的变种:
1) 无mask矩阵:在模型的基础之上,去除其中的mask矩阵参与的语义与位置空间自注意力机制,保留空间自注意力机制;
2) 无迟延感知模块:在模型的基础上,去除迟延感知模块(Delay Awareness)。
图3中展示了两种情况下的模型性能,其中mask矩阵保证在编码曾计算注意力机制时,仅对有效序列长度进行计算,进一步提升预测的精度和有效性。另外迟延感知模块对当前预测性能影响较大,该模块实现空间信息在节点之间传播的情况,有益于节点的时空依赖的完善,从而提升模型的预测性能。

Figure 3. Comparison resultson PeMS04
图3. PeMS04数据集对比结果
4. 结束语
本文提出一种融合时空动态相关性以及长短距离内的区域交通流变化和空间信息传播迟延影响的Transformer模型,其中以时空数据作为嵌入层,将历史交通流数据作为输入,经过时空编码层的处理,其中时空编码层围绕时间自注意力机制与空间自注意力机制,最后通过跳跃连接和输出层处理,从而构建完整的预测模型。模型在两个不同的真实数据集上验证DAST-Transformer的性能,将模型与其他基线模型相比较,从相关指标可以得出该模型在不同的数据集下能够表现出良好的预测性能。
本文设计的模型仍有不足之处,在未来的工作中将进一步完善,增加一些外部因素或者扰动,提升模型的预测精度。同时在其他一些时空预测任务中也可以将DAST-Transformer应用其中。