用于交通流量预测的时空残差图注意力网络

导读

论文题目《Spatiotemporal Residual Graph Attention Network for Traffic Flow Forecasting》。该论文于2023年发表于《IEEE INTERNET OF THINGS JOURNAL》,文章提出了一种新颖的时空残差图注意力网络(STRGAT)进行交通流预测。

摘要

准确的时空交通流预测对现代交通管理和控制至关重要。为了同时捕捉交通流的时空特征,作者提出了一种新颖的时空残差图注意力网络(STRGAT)。首先,该网络采用深度全残差图注意力块,对交通网络的节点信息执行空间特征的动态聚合。其次,设计了一个序列到序列块,以捕捉交通流中的时间依赖关系。周期依赖的交通流数据也被集成,并使用STRGAT进行交通路网的交通预测在美国加利福尼亚州的三个真实数据集上进行了实验。结果验证了作者提出的STRGAT能够很好地学习交通流的时空相关性,并优于现有的方法。

介绍

本文的主要贡献总结如下。

1) 作者为交通预测开发了STRGAT,结合了空间和时间注意机制,以捕捉时空相关性和每周周期性,并提供更准确的长期预测结果。

2) 作者提出了一个深度全残差图注意力块(DFRGAT),通过动态聚合准确捕捉道路网络的空间结构信息。该块可以避免在GAT层加深过程中局部特征消失和噪声传播的问题。

3) 基于时间注意机制提出了一个序列到序列块,用于学习交通道路网络的动态时间变化,以捕捉时间依赖关系。该块可以利用长程时间依赖性实现更准确的长期预测。

4) 采用周期特征融合来整合交通流的每周周期性依赖。每周周期性特征能够提高STRGAT的长期预测准确性。

问题定义

A. 交通道路网络

在作者的研究中,作者定义了一个交通网络来表示道路网络的拓扑结构。这个交通网络使用一个无权图 G = (V, E, A) 来表示交通网络中节点之间的关系。作者将每条道路上的一个数据采集点视为一个节点,V 是所有道路节点的集合,E 是任意两个道路节点之间的边的集合。V = {v1, v2, v3,..., vN},N 是道路节点的数量。邻接矩阵 A 表示道路节点之间的连接性,A ∈ RN×N。邻接矩阵 A 表示节点之间的连接关系,其中仅包含元素 0 和 1。0 表示两个道路节点未连接,1 表示两个道路节点连接。邻接矩阵 A 的元素表达如下:

6e78fae9da91256aae7b0b1f7a1baf9d.png

B. 交通流预测

作者将每一时刻的交通流视为每个道路网络节点的内在属性,用 037105baf4e563636a760eb0302c67c4.png表示,其中 t 表示时间步长。c9c53a1df57a39f016f9aa2e85abaae3.png 用于表示在时刻 t 时第 i 个节点的交通流。

由于交通数据具有很强的周周期性,将周周期性数据整合到特征矩阵中将极大地减少长期交通流预测任务的困难。特征矩阵 X 由两个部分组成:最近特征矩阵 XR 和周周期特征矩阵 XW。为了更生动地展示 XR、XW 和 XP 的构造,作者设置 TR = 24,TP = 12,n = 1 和 m = 288。作者使用周二早上 7:00–9:00 的最近数据来预测接下来一小时(9:00–10:00)的交通流。周周期数据是上周二 9:00–10:00 的交通流。上述交通流时间序列输入特征矩阵的构建示例如图 1 所示。

098c36842528a42db3f9a9c3e8ca78fd.png

图1 构建交通流时间序列输入特征矩阵的实例

时空交通预测问题可以被理解为学习映射函数 f(•),通过道路网络 G 和特征矩阵 X = [XR, XW] 获得未来的交通流 XP。具体的公式如下:

ebed478f7ca912d5aa70e97853ca2086.png

2fef30f8efcef9646e298a98bd84e01e.png表示未来预测窗口中的交通流量。本文中的符号在表 I 中列出。

方法论

图 2 展示了本文提出的STRGAT网络的总体框架。

478da8fd32d35e26682ad2a4ee51665f.png

图2 STRGAT的框架。

作者的STRGAT是两个不同组件的融合,包括最近特征矩阵和周期特征矩阵时空相关提取单元。对于前者,作者在编码器中应用DFRGAT-GRU单元提取最近特征矩阵的时空特征。然后,作者在解码器中应用基于注意机制的GRU,得到未来时间窗口中的最近预测值YR。对于后者,作者采用全连接层获取周期数据的时空特征和周期性预测值YW。作者融合YR和YW以获得STRGAT网络的预测值Y。最后,作者通过Y和真实交通流值XP计算误差损失。

67f5e20b01b05fa36884d8996279b268.png

图3 DFRGAT.

图3展示了DFRGAT的结构。DFRGAT块由具有剩余层的深度残差图注意模块组成。深度RGAT块通过三个RGAT块探索完整时空交通数据的空间和时间依赖性。RGAT块通过添加剩余网络减小了GAT网络层数加深导致的错误。RGAT块的最终输出也由ELU激活函数处理。

作者将STRGAT的核心思想总结为三个方面。

1)采用DFRGAT捕捉交通道路网络的空间相关性。

2)设计基于注意力机制的序列到序列块,学习交通道路网络的时间相关性。

3)整合交通流的周期性特征,优化网络的预测性能。

A. 深度全剩余图注意块

在这一部分,作者解释了提出的DFRGAT的框架,用于在图中提取空间结构。通常情况下,当层数加深时,GAT会导致从邻域传播到中心节点的噪声信息。为了使网络层数加深而不增加错误,作者引入了完整的剩余结构,将串行GAT网络优化为并行DFRGAT。DFRGAT结构块如图3所示。

剩余图多头注意块(RGAT):

传统的GAT将中心节点的邻域限制为其直接相连的邻居节点,并将其自身视为邻居节点[38]。其注意机制的公式如下:

c94a70e76363b8b701041bcc1b56dfa6.png

3902f066a7b6534484ca053cad443282.png

其中eij表示节点j相对于节点i的注意力系数;αij表示经softmax函数归一化后的节点j相对于节点i的注意力系数;a是共享自注意机制的权重向量,应用于计算中心节点的相邻节点的注意力系数,a ∈ R^{2F};W是输入状态的线性变换,在所有输入上执行共享的线性变换,W ∈ R^{F \times F};F是共享线性变换后的维度;hi是GAT网络中中心节点的输入特征,hi ∈ R^F;hj是中心节点邻居节点的输入特征,hj ∈ R^F;F是每个节点的特征数;'表示矩阵的连接操作。

LeakyReLU函数用于非线性化从自注意机制获得的注意力,以获得相邻节点相对于中心节点的注意力系数[43]。中心节点的相邻节点的注意力系数通过使用softmax函数进行归一化,以便比较每个相邻节点的注意力系数。这些归一化的注意力系数用于计算每个节点的输出特征:

8ef019239ff4c3c858d9c64bad0ae5ca.png

其中hi是GAT网络中第i个节点的输出特征,hi ∈ RF;σ(•)是ELU非线性激活函数。

为了使自注意机制更稳定,作者使用多头注意机制进行空间特征提取,以消除GAT捕获的空间信息中的损失。从K个注意头获得的输出特征如下连接:

386ad03625faaed073e0bd64774f9941.png

其中h^K_i是多头注意机制GAT网络中节点i的输出特征,h^K_i ∈ RKF;K是自注意机制的数量;α^k_ij是第k个自注意机制下对节点i进行归一化的节点j的注意力系数;Wk是第k个自注意机制下的权重矩阵。

作者将输出特征h^K_i视为在时间点t时对该节点的交通流趋势,其中包含了空间特征。由于GAT层数的增加,来自更高阶邻域的噪声信息也传播到中心节点,导致预测准确度下降。因此,在本文中,采用了残差结构以避免由于GAT层数的增加而导致错误增加,形成了残差RGAT。RGAT的输出特征公式如下:

8eeac0b794ef6922e5da9a96af3c0ca5.png

1918fc55393c07ab5b19b724035cab32.png

其中208db777091caf1661601d4d73be9f35.png是维度变换矩阵,作者将残差层视为输入数据的线性变换,将输入特征的维度转换为与输出特征相同的维度,fb88c8221ba80c77a94e676179852f04.pngd01053c11b53c7ba121dedb5e344bce2.png是输入特征线性变换后得到的特征矩阵,3e23fe27bdefb2d5bc5d112e697cd4a2.pngab6f3268080385ac68e79f1211a54061.png是RGAT网络第i个节点的输出特征,h_i ∈ RKF。

DFRGAT:DFRGAT由深度残差RGAT(深度RGAT块)和残差层组成。由于引入了并行残差层,防止了在Deep RGAT块传播过程中丢失局部特征。

深度RGAT块中包括输入、隐藏和输出RGAT块,分别是第1、2和3阶RGAT块。相邻节点的特征通过多次扩散完成中心节点的空间特征融合,从而增强了该块对完整时空交通道路网络的空间特征提取能力。作为局部道路交通网络的示例,Deep RGAT块的扩散模型如图4所示。

b8839480a9e589c1ee7ed3e72d5ba860.png

图4 深RGAT块的扩散模型。

Deep RGAT块中的输入RGAT块将中心节点的第一阶邻域的交通流信息集成到中心节点。此时,中心节点的第一阶邻域节点已经集成了第二阶邻域的特征信息。隐藏RGAT块增强了网络学习空间结构的能力,使中心节点学习其第二阶邻域节点的交通流信息,以实现扩散学习的效果。最后,输出RGAT块负责将网络的隐藏状态转换为节点的真实特征,同时执行第三阶邻域特征提取。第三阶邻域节点的特征融合有助于增强空间特征提取能力,从而提高时空交通道路网络的长期预测准确性。Deep RGAT块中的多层RGAT块的计算如下:

2fb60fd52953a75c84ebd3adc708ef43.png

B. 时空残差图注意网络

尽管DFRGAT块在提取空间特征方面具有较强的能力,但在学习时间特征方面略显不足。基于DFRGAT的STRGAT被提出以增强DFRGAT块的时序预测能力。STRGAT的框架如图5所示,以最近的交通流来预测时刻t + TP的未来交通流为例。

GRU模型用于提取数据的时间特征。GRU模型由重置门和更新门组成,参数较少且训练成本较低。GRU的计算如下:

df01314466be17f82890d6c2967cae82.png

其中Wr、Wu和Wh是参数矩阵;rt是重置门,决定有多少历史信息将被遗忘;ut是更新门,决定有多少信息可以传递到下一个状态;x是输入向量;ht和ht−1是GRU在第t和(t−1)时刻的隐藏状态值。在接下来的表示中,作者使用ht = GRU(x, ht−1)表示GRU模型。

编码器模块通过DFRGAT模型提取交通流数据的空间特征,并通过GRU捕获时间特征。DFRGAT-GRU单元的计算如下:

25149923411bfe0191fb8357a369c4f6.png

编码器模块将历史时刻的特征矩阵压缩成高维向量HE。解码器模块将由编码器模块提取的HE解压缩,因此编码器被促使将信息尽可能压缩到HE中。但是,HE是一个长度固定的向量,可以存储的信息非常有限,这导致了输入数据的一些关键信息的丢失。采用注意机制来解决信息丢失的问题。因此,注意机制允许解码器模块关注编码器的所有DFRGAT-GRU单元输出的隐藏层状态,以实现对整个历史序列的数据特征的关注,从而保留更多信息。以最近的交通流来预测时刻t + TP为例,基于全局注意机制的GRU单元的计算如下:

822727d837c643096ca8f7f18885f3a5.png

C. 周期特征融合

由于交通流数据具有每周周期性,作者讨论如何将周期性特征矩阵与最近特征矩阵对交通流预测结果的影响进行整合。作者使用全连接层对周期性特征矩阵进行特征提取,计算如下:

f7ae2e31a4175deb0eee58cba7716e92.png

因此,融合后的最终预测结果如下所示:

d21d005f001347cd00a276ccf3b88982.png

在本文中,作者使用Huber损失作为损失函数,使得预测结果尽可能接近实际交通状态。因此,损失函数是为了最小化预测误差。预测窗口长度设置为TP。损失函数可以表示如下:

7bfbd1ac5dcc26115d1c39d6ebad8adb.png

实验

在本节中,为了评估作者模型的性能,作者进行了一项对比实验,使用了三个真实的高速公路交通数据集。

A. 数据集描述

作者使用三个真实的高速公路数据集来评估这些方法的性能:PeMS03数据集,PeMS04数据集和PeMS08数据集。该系统每30秒实时测量一次交通值,并将原始数据聚合到5分钟的时间间隔。作者以交通流量为研究对象。作者按照时间比例将所有数据集分成训练集、验证集和测试集,比例为6:2:2。数据集的详细划分如表1所示。c8c4e9fe572e9516aaccb91ccc853a38.png

表1 数据设置说明

PeMS03:它包含358个传感器,时间跨度为2018年9月1日至2018年11月30日,总共91天。作者选择前55天的数据作为训练集,接下来的18天数据作为验证集,最后的18天数据作为测试集。

PeMS04:它包含307个传感器,时间跨度为2018年1月1日至2018年2月28日,总共59天。作者选择前35天的数据作为训练集,接下来的12天数据作为验证集,最后的12天数据作为测试集。

PeMS08:它包含170个传感器,时间跨度为2016年7月1日至2016年8月31日,总共62天。作者选择前38天的数据作为训练集,接下来的12天数据作为验证集,最后的12天数据作为测试集。

B. 参数设置

作者的STRGAT使用Pytorch构建,使用Nvidia GeForce RTX 3090 GPU进行模型运行,具有24G的RAM。作者通过Adam优化器训练模型。由于GPU图形内存的限制,作者将批处理大小设置为24。为了更好地确保模型的训练进展和准确性,作者将学习速率和训练时期分别设置为0.002和400。同时,作者将DFRGAT的层数设置为3,多头注意机制的头数设置为4,GAT中隐藏神经元的维度设置为64,GRU隐藏神经元的维度设置为64。作者设置TR = 24,TW = 12,n = 1,TP = 12。换句话说,作者使用2小时的最近历史数据和1小时的每周周期性历史数据来预测下一个小时的交通流量。由于交通流量数据每5分钟聚合一次,每个检测器每天记录288个数据点。作者使用线性插值来填充检测器中的缺失值。为了便于网络训练,作者对交通流量数据执行Maxmin归一化操作。

C. 基准模型

作者将作者的模型与以下十个广泛使用的时间序列预测模型进行比较。

基线:这些包括基于统计分析的预测模型,仅考虑时间维度的模型和仅考虑空间维度的模型。

1) HA :历史平均法。在这里,作者使用24个历史时刻的平均值来预测下一个12个时刻的值。

2) VAR :向量自回归方法是一种捕捉系列之间关系的时间序列模型。

3) LSTM :LSTM网络是一种特殊类型的RNN模型。

4) GRU :GRU是一种特殊类型的RNN模型。

5) GCN :图卷积网络是一种基于谱域图卷积的空间结构学习模型。

6) GAT :GAT是一种基于空间域图卷积的空间结构学习模型。

最先进的(SOTA)方法:这些包括同时考虑时间和空间相关性的最先进预测模型。

1) DCRNN :扩散卷积RNN使用扩散卷积网络学习交通流数据的空间信息,并使用序列到序列模型捕捉时间信息。

2) STGCN :时空图卷积网络同时使用Chebnet模型和2-D卷积来捕捉时空相关性。

3) Graph WaveNet :Graph WaveNet使用图卷积网络和扩张因果卷积网络来捕捉交通道路网络的空间和时间依赖性。

4) ASTGCN :基于注意力的时空图卷积网络利用时空注意力机制高效捕捉动态时空相关性。

5) STSGCN :时空同步图卷积网络使用GCN以同步方式建模时空关系。

对于所有预测模型,作者使用交通预测领域常用的三个评估指标来评估其性能。这三个指标的计算方法如下。

1) 平均绝对误差(MAE):MAE表示预测值与真实值之间的绝对误差的平均值。

69c4ae564025053c9d875f547626e6c3.png

2) 均方根误差(RMSE):RMSE表示预测值与真实值之间

差异的样本标准差。RMSE说明样本离散程度的程度。

7b79493d001d1e57b1f0684997089c46.png

3) 准确度(ACC):ACC表示预测准确性的百分比。值越接近100%,模型的预测性能越好。

03794a46ff4c2bb27cb86ed01b1d156d.png

D. 对交通流量预测的结果进行比较和分析

为了验证STRGAT模型在长时间交通流量预测任务中的有效性,作者将作者提出的算法的性能与上述十种对比方法在PeMS03、PeMS04和PeMS08数据集上进行了比较。表2显示了不同算法在这三个数据集上的交通流量预测性能。从表2中可以看出,作者提出的STRGAT模型在这三个数据集上一致优于其他对比算法。

c8860c133e785d51b6d6af3327c1a218.png

表2 比较不同方法在PEMS03、PEMS04和PEMS08上的平均性能

Attention

欢迎关注微信公众号《当交通遇上机器学习》!如果你和我一样是轨道交通、道路交通、城市规划相关领域的,也可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!

猜你喜欢

转载自blog.csdn.net/zuiyishihefang/article/details/135028254