面向交通流量预测的时空超关系图卷积网络

2022-01-05 02:31张永凯武志昊林友芳赵苡积
计算机应用 2021年12期
关键词:交通流量卷积时空

张永凯,武志昊,3,林友芳,3,赵苡积*

(1.北京交通大学计算机与信息技术学院,北京 100044;2.交通数据分析与挖掘北京市重点实验室(北京交通大学),北京 100044;3.中国民用航空局民航旅客服务智能化应用技术重点实验室,北京 100105)

(∗通信作者电子邮箱yijizhao@bjtu.edu.cn)

0 引言

交通流量预测是智能交通系统[1]中重要的研究课题之一,准确地预测交通流量对城市智能交通管理有着重大的意义[2]。例如,交通管理部门可以基于预测结果提前进行交通管控,疏导拥堵车流,降低安全隐患。

准确地预测交通流量是富有挑战性的,主要原因在于一个站点的当前状态会同时影响到自身及其邻居的未来状态。如图1(a)所示,当位置A在t1时间步发生交通拥堵或事故时,其交通状态可能直接影响到自身及其邻近位置B、C、D、E在t2时间步的状态。该影响可以被表示为图1(b)中At1(即位置A在t1时间步的状态,下同)与At2、Bt2、Ct2、Dt2、Et2之间存在的跨时空维度的直接关联性(图中虚线所示)。此外,位置A、B、C、D、E之间还存在空间关联性(图中实线所示),即它们因地理位置邻近而在单个时间步内可能呈现相似的交通状态。上述现象说明At1、At2、Bt2、Ct2、Dt2、Et2彼此之间都存在着紧密的关联。这些关联通常同时存在,共同组成了一种复杂的局部时空关系。

图1 交通流量数据的复杂关系与建模方案Fig.1 Complex relationships and modeling schemes of traffic flow data

为了建模上述关系,近期的一些工作通过将流量预测问题转化为时空图预测问题取得了较大的进展。一种代表性的方案是从复杂的局部时空关系中抽取部分易于被现有模型所捕获的关系,并构造深度学习模型来捕获它们。如图1(c)所示,大多数现有的模型遵循STGCN(Spatio-Temporal Graph Convolutional Network)[3]和DCRNN(Diffusion Convolutional Recurrent Neural Network)[4]的设计范式,采用空间组件(如图卷积网络(Graph Convolutional Network,GCN)[5]来捕获空间维度上的相关性(图中实线所示),并结合时间组件(如循环神经网络(Recurrent Neural Network,RNN)[6-7]或一维卷积神经网络(Convolutional Neural Network,CNN)[8])来捕获时间维度上的相关性(图中虚线所示)。由于空间组件和时间组件分离,这些模型无法建模时间维度和空间维度之间的相互作用。最近,Song 等[9]将时间维度和空间维度上的关系视为是同步的(即一个整体),并构造了一种时空同步图卷积网络STSGCN(Spatial-Temporal Synchronous Graph Convolutional Network)预测模型来同时捕获两个维度上的关系。尽管上述模型都取得了不错的效果,但是它们只捕获了局部时空关系中易于建模的一部分关系,大量的跨时空维度的直接关联性在上述模型中没有被显式建模。虽然上述模型可以通过大量组件迭代来间接地将At1的信息传递给Dt2以模拟跨时空关联,但是传递过程中的信息损耗导致这种模拟的关系存在误差,随着组件增多,迭代误差会逐渐累积,因此上述方法不能准确且全面地建模复杂的局部时空关系。

为了解决上述问题,本文提出使用超图[10]来对复杂的局部时空关系进行建模。具体而言,如图1(d)所示,将t1时间步的At1节点和它在下一时间步t2的自身At2、周围一定空间范围内的邻居Bt2、Ct2、Dt2和Et2组成一条超边来建模这些关系。由于这条超边同时连接着跨空间和时间维度的多个节点,本文称之为时空超关系。在此基础上,构造了一个新的时空超关系图卷积网络预测模型来捕获这种关系用于交通流量预测。本文的工作主要有:

1)提出一种新颖的时空超图建模方案,构造了一种时空超关系来全面地建模复杂的局部时空关系;

2)提出一种新颖的时空超关系图卷积网络(Spatio-Temporal Hyper-Relationship Graph Convolutional Network,STHGCN)预测模型用于交通流量预测;

3)在四个真实的公开数据集上进行了大量的实验,验证了本文模型的预测能力优于现有同类预测模型。

1 相关工作

交通流量预测是时空数据挖掘领域中的一个重要研究课题。早期的研究将它看作一个时间序列预测问题,常见的有统计学和传统机器学习模型,如历史均值(Historical Average,HA)法、向量自回归(Vector Auto-Regression,VAR)[11]、自回归综合移动平均(AutoRegressive Integrated Moving Average,ARIMA)[12]、支持向量回归(Support Vector Regression,SVR)[13]、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)[14]等。随着深度学习技术的快速发展,RNN 被广泛应用于时间序列预测任务中。RNN 虽然能够捕获序列在时间维度上的相关性,但是无法考虑节点在空间维度上的相关性。ST-ResNet(Spatio-Temporal Residual Network)[15]、ST-3DNet(Spatial-Temporal 3D Convolutional Neural Network)[16]和ConvLSTM(Convolutional LSTM)[17]能够通过CNN 来捕获空间信息,但是这类模型的输入被限制为标准的网格数据,无法用于图结构(如高速路网)的交通预测问题。

近年来,学者们开始利用GCN 来建模图结构数据里空间维度上的相关性。例如,STGCN[3]、DCRNN[4]、多组件时空图卷积网络(Multi-Component Spatial-Temporal Graph Convolution Network,MCSTGCN)[18]均使用GCN 来捕获空间维度上的相关性,并结合RNN或CNN来捕获时间维度上的相关 性。ASTGCN(Attention based Spatial-Temporal Graph Convolutional Network)[19]、Graph WaveNet(Graph WaveNet for deep spatial-temporal graph modeling)[20]、MTGNN(Multivariate Time series forecasting with Graph Neural Network)[21]等考虑到预定义的图结构是不精确的,于是通过注意力机制或者自适应参数学习的方式来动态地优化图结构。Zhang 等[22]提出的SLCNN(Structure Learning Convolution Neural Network)则是直接以数据驱动的方式自适应地学习局部图和全局图两种空间图结构,以捕获不同层面下空间维度上的相关性。这些模型虽然不同程度地改进了对空间维度上相关性建模的方案,但本质上都还是构造一个由不同组件组成的混合模型来分别捕获时间维度和空间维度的关系,无法建模这两种维度之间的相互作用。为了使模型更符合流量数据的演化规律,Song等[9]从时空同步的角度出发重构了邻接矩阵,提出了一种新的时空同步图卷积网络预测模型STSGCN,采用一个组件同时捕获在空间和时间维度上的相关性;Li 等[23]在此基础上提出一个变种STFGNN(Spatial-Temporal Fusion Graph Neural Network),通过建模站点间流量相似性来补充空间维度上的关联。这两种模型虽然均取得了不错的效果,但是仍然没有显式地建模跨时空维度的直接关联性,只是捕获了局部时空关系中易于建模的一部分关系。

近期的部分研究表明,超图能够建模图数据中的复杂关系。Feng 等[10]提出了超图神经网络(Hypergraph Neural Network,HGNN)框架,模型中能够使用超图结构来编码多个节点间的数据相关性。Dong 等[24]提出的HNHN(Hypergraph Networks with Hyperedge Neuron)设计了一种标准化方法来调整超边和节点的重要性,并定义了由两层非线性单元组成的超图卷积模型,模型在分类任务上的精度和运行效率方面都有较大提升。目前超图的工作集中于节点分类和图分割任务,本文提出的STHGCN 使用超图直接建模交通数据中存在的复杂局部时空关系,实验结果证实了模型的有效性。

2 问题定义

2.1 空间交通路网

空间交通路网被定义为一个无向图G=(V,E,A),其中:V为节点的集合,||V=N为节点个数;E为节点间连边的集合;A∈RN×N为空间交通路网的邻接矩阵,表示节点之间的相邻关系。

2.2 交通流量预测

将第t个时间步下在空间交通路网G上观测到的交通流量值定义为图信号矩阵X(t) ∈RN×F,其中F是指每个节点所采集的特征数量。本文的预测任务是根据各节点若干个历史时间步的流量观测值,预测各节点在未来若干个时间步内的流量值。定义T个历史时间步的观测值所组成的X=(X(t-T+1),X(t-T+2),…,X(t))∈RT×N×F为输入的图信号矩阵,P个未来时间步的观测值所组成的Y=(X(t+1),X(t+2),…,X(t+P))∈RP×N×F为待预测的图信号矩阵。本文的目标则是学习一种如式(1)所示的函数映射关系f(⋅)。

3 时空超关系图卷积网络

本文提出的STHGCN 架构如图2 所示。首先使用输入层将原始输入的流量特征映射到高维空间,同时基于交通路网构造超图;然后,堆叠多个带有残差连接的时空超关系图卷积层来捕获复杂的局部时空关系;最后,使用一个预测器预测未来一段时间的流量特征。

图2 STHGCN示意图Fig.2 Schematic diagram of STHGCN

3.1 局部时空关系建模

本文引入超图来建模复杂的局部时空关系。具体而言,如图1(d)所示,将前一时间步中的任意一个节点、该节点在下一时间步的自身以及它的前K(K为可选择的超参数)阶邻居建模在一起,组成一条超边。如此,两个连续时间步的时空节点一共能够组成N条超边。用H∈R2N×N来定义由两个连续时间步的时空节点所组成的超图关联矩阵。H标识了节点和超边的隶属关系(如果节点i是超边j所包含的节点,则Hij=1)。H的符号化定义如下:

其中:i为节点的编号(两个时间步的节点分别依次编号为0~N-1,N~2N-1);j为超边的编号,依次为0~N-1;N jk是编号为j的节点的前k阶邻居节点组成的编号集合。

3.2 超图卷积

在使用超图建模了局部时空关系后,受HNHN[24]的启发,本文进一步构建了超图卷积(Hypergraph Graph Convolutional Network,HGCN)方法来有效捕获时空特征。如图3 所示,该方法的本质是基于超图结构进行一个两阶段的信息聚合与分发过程。方法的第一阶段是捕获局部时空范围内特定的流量模式,例如在突发的暴雨天气状况下,整个局部区域的交通流量值都会骤减。超边的表示即表征了局部区域内站点的流量变化趋势。在第二阶段将超边的信息分发到各个站点上,能够辅助站点感知周围环境的变化,进而得到更好的节点表示。具体的符号化定义如下。

图3 超图卷积示意图Fig.3 Schematic diagram of hypergraph convolution

3.3 Mask矩阵

在超图卷积方法中,超图关联矩阵直接决定了信息聚合与分发过程的权重。前面的定义中,关联矩阵只标识了节点与超边的隶属关系,即取值为0或1。这种关联矩阵会限制聚合效果,无法应对以下两种情况:

1)不能较好地应对异常情况。例如,由于采集设备故障,在某段时间内,一个站点的流量值缺失,那么即使这个站点属于对应的超边,通常也希望不聚合或者少聚合它的信息,因此可以考虑减小该点对应的聚合权重。

2)无法区分不同站点的重要性。每个节点对它局部区域学习的影响程度应当不同。例如一个中转站点或者交叉路口往往承载着更大的流量,它的交通状况通常能够影响更多的邻居站点,有着更大的影响力,此时可以适当增大该点对应的聚合权重。

上述两种情况的存在往往限制了超图卷积的效果,为了解决这一问题,本文考虑在每一个时空超关系图卷积层STHGCL 中引入一个与关联矩阵H形状相同且可训练学习的参数矩阵Wmask∈R2N×N,并如式(6)所示,使用哈达玛积运算将它作用在H上以动态的调整聚合权重,得到更合理的信息聚合方式。

3.4 滑动窗信息融合

STHGCN 模型的输入为T个历史时间步的观测值所组成的图信号矩阵,而超图仅仅定义了相邻两个时间步的局部时空关系,因此本文使用如图2(b)所示的滑动窗口的方式来对输入的图信号进行切割,其中滑动窗口的大小为2,滑动步长1。滑动过程中,每两个相邻的时间步都会进行超图卷积操作,因此除第一个时间步与最后一个时间步之外,所有的时间步均会与它前后的时间步拼接,并分别进行一次超图卷积操作,进而得到两组节点表示。本文使用SUM 聚合融合了两组节点表示,以全面捕获时空信息。具体的融合过程即是基于某一层(如第l层)中由超图卷积得到的初始节点表示集合将同一时间步的表示进行SUM聚合,即

3.5 时空位置嵌入

在使用超图建模局部时空关系时,相邻两个时间步的节点被压缩到一个图中,这些节点混合在一起会模糊每个节点所处的时间位置和空间位置。受STSGCN[9]启发,本文创建了参数化的时间嵌入矩阵Temb∈RC×T和空间位置嵌入矩阵Semb∈RN×C来标识必要的时间和空间位置信息,以辅助模型更有效地捕获时空特征。

具体而言,本文是使用如式(8)中广播的形式将两种嵌入信息加到初始的时空图信号M中。

3.6 时空超关系图卷积层

如图2(b)所示,时空超关系图卷积层STHGCL 包含了滑动切割、超图卷积和滑动窗信息融合三个步骤。通常而言,卷积层数的增加会导致深度神经网络的退化,因此本文进一步使用了残差网络来解决这一问题,并在每一层中添加层归一化(Layer Normal)操作以标准化数据分布。

其中:Ml∈RT×N×C为第l层的输入表示。

3.7 输入层与预测器

输入层为一个全连接层,将输入的图信号矩阵X=(X(t-T+1),X(t-T+2),…,X(t))∈RT×N×F映射到高维空间,如式(10)所示。

预测器是一个两层的全连接网络,它的输入是最后一层STHGCL 的输出表示经重塑形状得到的,具体的运算过程如式(11)所示。

Yo再经过重塑形状得到最终的预测结果。其中:是可训练学习的参数,C'为预测器中第一个全连接层高维空间的维度。

3.8 损失函数

本文使用对回归问题具有较强鲁棒性的Huber Loss 作为损失函数,该函数的定义如式(12)所示。

其中:Y为真实值,为预测值,δ是控制选择两种损失的阈值超参数(取默认值1)。

4 实验与结果分析

4.1 数据集

基于STSGCN[9]的4 个公开的交通数据集展开实验,数据采集自美国加利福尼亚州的4 个不同区域的高速公路。按照5 min、10 min、15 min 的时间粒度进行聚合分别得到了3 种不同时间步粒度的数据集,详细介绍如表1所示。

表1 数据集详细信息Tab.1 Details of datasets

4.2 实验设置

数据集全部以6∶2∶2 的比率被拆分为训练集、验证集和测试集,并使用如式(13)所示的Z-Score 方法进行标准化,其中Mean(Xtrain)和Std(Xtrain)分别是训练集的均值和标准差。实验均使用前12 个时间步的流量值来预测后12 个时间步的流量值。高维空间的维度C、C'分别被设置为64、256。模型使用MXNet 实现,并通过Adam 优化器进行训练,学习率被设置为0.001。实验结果为5次实验的平均值。

4.3 基准方法与评价指标

本文对比的基准方法包括:1)统计学和传统机器学习方法VAR[11]、SVR[13]。2)深度学习方法:GRU(Gated Recurrent Unit)[7]、STGCN[3]、DCRNN[4]、ASTGCN[19]、STSGCN[9]。实验采用了交通流量预测领域中大多数工作经常使用的均方根误差(Root Mean Square Error,RMSE)、平均绝对误差(Mean Absolute Error,MAE)和平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)三个评价指标来评估所有模型的预测效果。

4.4 实验结果与分析

表2显示了不同模型在不同数据集上预测未来12个时间步的交通流量的整体预测性能。其中最优的结果用粗体标出,次优的结果用下划线标出。三个评价指标值越低,代表模型性能越好。不难看出,传统方法VAR 和SVR 由于缺乏非线性表达能力,所以预测性能往往不是特别理想。深度学习方法凭借着较强的非线性表达能力展现出很大的优势,其中GRU 由于只能捕获时间维度上的相关性,在深度方法中表现相对较差;同时考虑到空间和时间维度的深度模型DCRNN、STGCN、ASTGCN、STSGCN 和STHGCN 取得了更好的预测效果。近期较先进的模型STSGCN 通过同步建模时间、空间维度的相关性在基准方法中取得了较大的优势。而本文模型STHGCN 通过构造超图来全面地建模复杂的局部时空关系,在除PEMS03-5 外的所有数据集上均获得了最佳性能。实验效果展示了超图建模局部时空关系的优势。

表2 八种交通流量预测模型在不同数据集上的性能比较Tab.2 Performance comparison of 8 traffic flow forecasting models on different datasets

此外,还分别在5 min、10 min、15 min 的时间步粒度下进行了对比实验。由于在预测步长固定为12 的情况下,随着时间步粒度的增大,待预测的时间范围也会相应增加,因此在不同时间步粒度上的对比实验能够检验模型的长期预测能力。从表2 可以发现随着时间步粒度的增大,所有模型的预测性能均会下降。性能下降一方面是因为在时间步粒度更大的数据集中,流量特征的均值和方差也会更大,导致预测误差也随之增大;另一方面是因为时间步粒度的增大,会使得站点在一个时间步内能够影响到处于更远空间范围内的其他站点,导致模型训练学习的难度增加。实验结果显示了STHGCN 相对于基准方法性能下降更为缓慢,取得了更加稳定的效果。例如,在PEMS08 数据集的三个时间粒度上与STSGCN 相比,RMSE 指标的提升比分别是4.63%,6.19%,10.62%。这表明STHGCN 具有更强的长期预测能力,这种优势主要是因为STHGCN 构建的超图建模了处于更远时空范围内的邻居信息(前K阶邻居),能够更全面地捕获局部时空关系。

4.5 模型参数选择

为了研究模型超参数对模型效果的影响,本文分别在1~5和1~4范围内对K和STHGCL 堆叠的层数L两个参数进行了网格搜索,结果如图4 所示。可以看出随着两个参数值的增大,模型STHGCN 的性能开始会快速增长,随后增长速度逐渐放缓;随着数据集时间步粒度的增加,最优参数的取值也相对变大。例如在PEMS03数据集的三种时间步粒度上,最优的K取值均为5,而最优的L取值分别为1、2、3,这是因为这两个参数直接决定了模型能够捕获的时空范围。当数据集时间步的粒度变大时,站点在每个时间步往往能够影响到更远的邻居站点,此时这两个参数的取值会相应增大以捕获更远距离的时空信息。

图4 不同参数组合的模型效果Fig.4 Model effect of different parameter combinations

4.6 运行时间对比

表3 给出了不同模型在相同条件下的运行时间成本(仅模型部分,不包含数据处理)。

表3 部分数据集上的训练时间和推理时间对比 单位:sTab.3 Comparison of training time and inference time on some datasets unit:s

本文为所有模型使用相同的Minibatch,同一计算平台,并选取3 个不同规模的数据集进行比较。其中DCRNN 由于使用了循环预测多步的方式,运行速度与其他直接预测多步的方法相比较慢;STSGCN 为区分不同时间步的信息,模型中堆叠了大量的不共享图卷积模块,导致计算量较大,运行效率相对较低;本文模型在不同的时间步共享超图结构,并使用超图卷积来捕获局部时空关系,其中卷积模块里不包含大规模的复杂运算,计算量相对较小。从结果可以看出本文的模型无论是训练还是推理都花费了最少的时间,有着较高的运行效率。

5 结语

本文针对交通流量预测问题提出了一种时空超关系图卷积网络(STHGCN)预测模型,在模型中使用超图来建模交通流量数据中存在的复杂局部时空关系,并通过超图卷积和滑动窗信息融合机制以有效捕获时空特征。在不同公开数据集上的实验结果表明,本文模型具有较好的预测性能,实际上该模型也适用于其他基于图结构的时空预测问题,例如交通速度预测、空气质量预测等。在下一步的研究工作中,将考虑从构建动态超图的角度来优化模型架构,进一步提升模型的预测性能。

猜你喜欢
交通流量卷积时空
基于全卷积神经网络的猪背膘厚快速准确测定
跨越时空的相遇
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
玩一次时空大“穿越”
燕山路与曹雪芹西道交叉口运行有轨电车可行性研究
无人车对交通流的影响分析
交通流量增长下的空管安全预警系统研究
时空守护者之宇宙空间站