杨国亮,习 浩,龚家仁,邹俊峰
(江西理工大学 电气工程与自动化学院,江西 赣州 341000)
随着数据采集技术的蓬勃发展,车辆轨迹、道路传感器等交通数据逐渐增多。根据历史观测数据及时地进行交通流预测,可以帮助出行者更好地制定出行计划,缓解交通拥堵,提高交通运营效率[1]。因此,城市交通流预测[2]越来越受到人们的关注。
现有的交通流预测研究可以大致分为2 个方向:动态建模和数据驱动的方法。动态建模[3]是使用数学工具和物理知识通过仿真来实现交通流预测,仿真过程不仅需要复杂的系统编程和大量的算力,而且建模时的假设和简化都会降低模型的预测性能。因此,研究人员将注意力转移到了数据驱动的方法上。
经典的统计模型和机器学习模型是数据驱动方法的两大代表。自回归综合移动平均模型(autoregressive integrated moving average model,ARIMA)及其变体[4]是经典的统计方法,然而这种模型受到时间序列的平稳假设的限制,且未能考虑到时空的相互影响。因此,该方法不能满足工程应用上的预测性能需求。近年来,经典的统计模型在交通流预测任务上受到了机器学习方法的有力挑战。通过K近邻(K-nearest neighbor,KNN)算法[5]、支持向量机(support vector machine,SVM)[6]等机器学习方法,可以实现更高的预测精度和更复杂的数据建模。然而,这些方法只考虑了时间特征,而忽略了空间特征对准确预测的重要性。最近,基于深度学习的交通流预测方法得到了广泛关注,一些研究人员将图卷积网络(graph convolutional network,GCN)[7]及其变体应用到交通流预测任务,通过聚合邻域节点信息来编码交通网络的先验知识,捕获复杂的空间特征。之后使用递归神经网络(recursive neural network,RNN)在时间轴上获取时间特征。
尽管GCN的引入使得预测模型精度有很大提升,但仍然缺乏有效的方法来建模路网的时空相关性。交通路网中普遍存在3种不同的影响,路网中的每个节点都会在同一时间步中影响相邻的节点,这种影响来源于路网的空间结构;同时,由于时间相关性,每个节点也会在下一时间步中影响自身;此外,由于时空同步相关性[8],每个节点也会在下一时间步影响其相邻节点。现有方法只是使用2个独立的模块直接获取前两种影响,而忽略了第3 种时空影响。除此之外,现有的模型仅依赖基于空间距离构建的图来考虑道路节点间的关系,这种方式忽略了节点间的时间模式相似性[9]。例如:在上下班高峰期,大多数办公楼附近的道路都会出现一定的交通堵塞。
所以,为了解决现有工作中存在的2个问题,本文提出了一个基于多图融合的时空预测模型(spatio-temporal fusion GCN,STFGCN)。受动态时间规整(dynamic time warping,DTW)[10]算法的启发,首先,提出了一种数据驱动的图构建方法:基于时间序列的相似性构建一个时间图;然后,将多个空间图和时间图融合成局部时空图以充分获取隐藏的时空依赖关系;最后,引入GCN 和时间卷积网络(temporal convolutional network,TCN)对路网中长期的时空依赖关系进行提取。
交通网络被定义为一个无向图,其中,V为节点集合,E为两两节点之间的边集合,且W∈RN×N对应于图G中的邻接矩阵,拉普拉斯矩阵L =D-W。节点是位于交通路网相应道路上的传感器,每只传感器都会记录一些交通信息,如交通流量、车速和道路占用率。
对于一个交通网络,t 时刻在路网G 上观察到的历史交通流表示为图信号xt∈RN×P,其中,N和P分别为路网节点数和每个节点的特征数。给定T 长度的历史交通数据X =[x1,x2,…,xT]∈RN×P×T,交通流预测的目的是利用给定数据去预测未来Tp步长的所有节点的流量值,记为Y =[y1,y2,…,yTp]∈RN×Tp。根据Tp的大小,将Tp<30视为短期预测;30≤Tp≤60视为长期预测。
GCN包含谱域和空间域两种。谱域图卷积是借助于图拉普拉斯矩阵的特征值和特征向量,对两个图信号傅里叶变换后的乘积进行傅里叶逆变换来完成基于谱域的图卷积操作。基于空间域的GCN 将卷积操作定义在每个节点的连接关系上,提出使用类似卷积的操作来聚合每个节点及其邻节点的特征,提取拓扑图上的空间特征。
交通传感器数据、语音数据和气温数据等都属于时间序列数据,对这些数据的分析通常需要在数据库中搜索类似的时间序列。衡量时间序列相似度的方法可大致归为两类:1)基于时间步,如欧氏距离通过计算时间序列中点对点的距离和来反映序列的相似程度;2)基于序列曲线形状,如DTW先计算2 个时间序列的欧氏距离,然后对时间序列进行缩放,以实现2个序列之间的距离最小化。虽然,欧氏距离方法计算简单,支持多种类型的数据挖掘方法,但其对数据噪声的鲁棒性较差,序列在时间轴上的微小变化都会引起结果的巨大变化。
所以,在本文模型中,利用DTW算法来计算不同道路历史数据的相似度,然后根据结果动态构建出一个时间图,作为交通流预测的辅助信息。给定2 个时间序列X =[x1,x2,…,xn]和Y =[y1,y2,…,ym],序列长度分别为n 和m。首先,为了对齐这2 个时间序列,定义一个序列距离矩阵Mn×m,矩阵元素Mi,j=|xi-yi|表示xi和yi两个点的距离,所以Mn×m矩阵含有X和Y中各点之间的距离信息。然后定义一个累积距离矩阵MC,其中元素的计算方式如下
所以,经过多次迭代后可以得到矩阵MC(n,m),序列X和Y最佳对齐后的距离为dist(X,Y)=MC(n,m)1/2,可以用于表示2个时间序列之间的相似度。
本文提出的基于融合图的交通流预测模型结构如图1左,预测模型由3个结构相同的时空组件构成,分别被用于建模预测窗口的邻近、日周期和周周期的时空依赖关系,然后用可学习参数矩阵进行权重学习,将3 个组件的输出进行融合。时空组件的结构如图1 右,由GCN 和TCN 组成。组件首先接受历史数据和局部时空图的邻矩阵作为图卷积模块的输入,进行局部时空特征的捕获,然后将其输出传递给时间卷积模块,用于捕获长期时空特征。
图1 模型结构
假设交通流数据的采样频率为每天q 次,预测窗口为XTp,可以沿时间轴的历史输入数据截取3 个时间序列段Xh、Xd和Xw分别作为近期、日周期和周周期分量。输入时间序列与预测窗口的关系如图2所示。
图2 输入时间序列与预测窗口间的关系
2.1.1 生成时间图
当预测某一路段的交通流量时,不仅可以根据该路段附近的车流量推理得出,还可以借助时间模式相似的道路的车流量信息,获得道路交通流的大致走向,从而给出更准确的预测值。例如,图3 为PEMS08 数据集中节点124 和节点55在某一时间段的交通流量曲线,二者的曲线走势极为相似,所以称这2个节点具有相似的时间模式。因此,在进行预测时,就可以利用这些模式相似节点的流量信息去辅助推理其他节点的未来流量。
图3 节点数据走势图
所以,在此提出时间图的定义,通过DTW算法计算出节点间历史时间序列的距离dist(vi,vj),然后根据式(5)生成一个含有时间序列相似度的时间邻矩阵
式中 ε为确定时间邻矩阵Adtw的稀疏性的阈值,vi和vj均为路网中的节点。
2.1.2 构建局部时空图
为了能够直接捕获每个节点对当前时间和相邻时间步的时空影响,提出了一个局部时空图的概念。每个时间步的交通网络都有一个空间图,这个空间图是通过节点之间的空间关系构建的,且这种关系不随时间变化。通过将相邻时间步中的每个节点与自身相连,可以将多个空间图连接起来,连续的3个时间片连接起来构成的图称为局部时空图,如图4(a)。根据局部时空图的拓扑结构,可以直接捕捉每个节点与其时空邻居之间的时空依赖关系。
图4 局部时空图
使用A∈RN×N表示数据集中空间图的邻矩阵,含有N个节点,A′∈R3N×3N表示在3个连续空间图上构建的局部时空图的邻矩阵,含有3N个节点。图4(b)为局部时空图的邻矩阵,其对角线上的邻矩阵Ati是ti时间步空间图的邻矩阵,由数据集给出;对角线两侧的邻矩阵Ati-tj表示ti和tj2个相邻时间步的同一节点的连通性,若相邻时间步中是同一节点,其值为1,反之为0;2 个对角位置的矩阵Adtw含有历史时间序列相似信息,作为辅助信息融合到局部时空矩阵中。
在本文模型中采用一个GCN 来聚合时空网络中的局部时空特征。GCN 的输入是图信号矩阵和局部时空邻矩阵,图卷积操作可用式(6)表示
式中 A′∈R3N×3N为局部时空图的邻矩阵,X∈R3N×C为图卷积的输入,Y∈R3N×Cout为图卷积的输出,W1∈RC×C′,W2∈RC×C′,b1∈RC′,b2∈RC′为可训练参数,Sigmoid为激活函数,⊗为元素积。
图5所示为TCN卷积结构。首先,在网络中应用因果卷积,使得t时刻的输出仅与上一层t时刻及之前的元素相关,同时一维卷积可以接收任意长度的序列输入;其次,通过膨胀卷积使得TCN可以自由调节网络的感受野,且可以通过零填充以保持输入和输出具有相同的长度;最后,通过添加残差链接、WeightNorm 和Dropout 来提升网络的训练效率。
图5 TCN卷积结构
本文实验使用的交通数据集是PEMSD4 和PEMSD8。数据信息包含3种流量度量:总流量、平均速度和平均占用率。在本模型中,将预测的交通流量作为输出。
数据集按比例6:2:2 划分为:训练集、验证集和测试集。在验证集上根据误差最小选择最佳模型参数,并在测试集上对该模型进行测试。
将STFGCN模型与深度学习方法进行了比较。基线模型为:1)历史均值(historical average,HA)法;2)长短期记忆(long short-term memory,LSTM)网络;3)门控循环单元(gated recurrent unit,GRU);4)时空图卷积网络(spatialtemporal GCN,STGCN);5)时空注意图卷积网络(attention spatial-temporal GCN,ASTGCN)。
STFGCN模型的参数设置如下:输入的3 段周期数据长度均为12,预测长度为12,即预测未来1 h的交通流。在训练阶段,批次大小设置为16,学习率为0.001,GCN 和TCN的输入通道数64,实验以Huber loss 作为损失函数。引入平均绝对误差(mean absolute error,MAE)、均方根误差(root mean square error,RMSE)和 平 均 绝 对 百 分 误差(mean absolute percentage error,MAPE)作为评价指标用于评估不同方法的预测性能。
表1为STFGCN与5种基线模型在2个数据集上预测未来1 h交通流的实验结果,数据表明STFGCN模型在2个数据集上的预测性能均要优于基线模型。
表1 模型预测性能对比
从实验结果可知,本文提出的STFGCN 模型能够直接捕获路网中的3种时空影响,且通过DTW算法生成了具有相似时间模式的时间矩阵作为辅助信息,然后用于GCN和TCN构成的预测模块。在PEMSD4数据集上STFGCN模型较ASTGCN模型在MAE、RMSE和MAPE评价指标数值上分别下降了4.69%、5.38%和6.50%;在PEMSD8 数据集上,STFGCN模型在MAE、RMSE和MAPE评价指标数值上分别下降了11.04%、6.45%和16.48%。
由图6 可知,预测时间越长,相应的预测难度越大,因此预测误差会逐渐增大,但是不同模型的误差增长率(即折线斜率)不同。STFGCN模型通过构建局部时空图,可以更好地捕捉复杂的时空依赖及其动态变化,并且使用TCN捕获长期时间依赖,所以在短期和长期预测中均取得了最好的预测效果。
图6 不同方法随预测间隔的性能变化
STFGCN-A模型、STFGCN-T模型分别为在STFGCN模型的基础上,从局部时空矩阵去除DTW算法生成的时间矩阵、去除捕获长期时间依赖的TCN。表2 给出了STFGCN模型同2个变体模型预测未来1 h交通流的实验结果。
表2 消融实验结果
由表2得知,相比2 个变体模型,STFGCN模型的各个评价指标均为最小,表明STFGCN 模型中的时间矩阵和TCN均会影响模型的预测精度,组合在一起可以得到最好的预测性能。其中时间矩阵的采用对实验结果产生了较大影响,在PEMSD4数据集中尤为明显;TCN可以进一步获取长期的时空关系,也一定程度上提升了模型的预测精度。
本文提出了一种新的用于交通流预测的时空网络,可以从历史交通数据中获取节点间的相似性信息并生成时间矩阵,同时将空间图和时间图进行融合以生成局部时空图,可以直接捕获路网的时空关系并生成预测值。实验结果表明:STFGCN模型可以有效降低预测模型的误差,准确预测交通流的演变趋势。