基于时空多图卷积循环网络的网约车需求预测
2021-03-01黄官伟
黄官伟,郭 巍
(同济大学 经济与管理学院,上海 201804)
0 引 言
目前,许多国家正大力发展以数据为驱动的智能交通系统[1],预测区域内乘客打车需求是系统中的一个重要组成部分[2]。随着信息技术在交通领域的广泛应用,网约车的出现解决了传统出租车市场“打车难”的问题,成为城市居民出行的主要方式之一。精准的网约车需求预测,可以更合理地指导车辆调度、减少乘客等待时间、提高车辆利用率,进而缓解交通拥堵和节约能源。该任务的主要挑战在于同时捕获复杂的时空依赖关系,受到交通拓扑结构和时间动态性的影响,使得网约车的需求量具有复杂的时空关联。
随着机器学习和深度学习的发展,已有学者将其应用在交通预测领域。K 近邻算法(KNN)[3]、支持向量回归(SVM)[4-6]等基于机器学习的算法比较依赖于特征工程,同时难以计算高维交通数据的时空相关性。由于深度学习技术在语音识别、图像识别、自然语言处理等领域表现出具有构建复杂模型和捕获非线性关系的优势,使得越来越多学者借助深度学习技术捕捉交通数据的动态特征。Zhang 等人[7]根据邻近时间、周期时间和趋势时间的交通数据,使用堆叠的残差单元序列,构建基于卷积的残差神经网络(ST-ResNet)。文献[8-10]融合卷积神经网络(CNN)和长短时记忆网络(LSTM)构建模型,提取交通流的时空特征。在此基础上,Yao 等人[11]引入基于门控机制的局部卷积神经网络,学习空间不同位置上的动态相似性;Zheng 等人[12]加入注意力机制,为不同时间的交通流数据分配不同的权重;Liu 等人[13]建立了由局部空间、时间演化、全局相关3 个上下文组成的时空网络(CSTN),捕获环境信息学习需求特征。但是,传统的卷积神经网络(CNN)仅适用于标准的网格数据,不适用于具有图结构特征的交通数据。图卷积网络将欧几里得空间中传统的的卷积运算,推广到非欧几里得空间中的图网络特征运算。Yu 等人[14]构建时空图卷积网络(STGCN),处理拓扑结构复杂的交通网络;Zhao 等人[15]利用图卷积网络(GCN)提取路网结构,利用门控循环单元(GRU)学习交通数据动态变化;Guo 等人[16]将时空注意力机制和时空卷积相结合,分别捕获时间和空间的动态相关性。然而,在空间维度,需求量通常受邻近区域的影响,同时也会受遥远但相关性高的区域的影响,并且这些研究考虑的交通拓扑图结构比较单一,难以全面捕获空间依赖关系提取需求的空间特征。
针对上述问题,本文提出了时空多图卷积循环网络(STMGCRN),对城市区域的网约车需求量进行预测。该模型建立了距离图、类别相似图和需求相关图,从3 个图中提取不同区域之间的相关关系分别进行图卷积(GCN)。特征融合后,利用门控循环单元(GRU)学习时间依赖关系。由于交通信息具有较强的周期性,即在时间维度,需求量可能会受到临近时间片段,一天前、甚至一周前相同时间片段的影响,因此整合3 个时间状态(临近、一天前、一周前),捕获需求数据的周期依赖关系,最后加权融合3 个模型的输出,得到最终的预测结果。
1 网约车需求预测算法框架
1.1 基本定义和问题描述
定义1城市区域网格V
本文根据交通领域常用的城市区域划分方法[7,13],依据经纬度,将研究区域划分成若干个大小相等的不相交网格,每个网格代表城市的一个子区域v∈V,V代表所有区域的集合,如图1 所示。采用这种划分方法,则可以用R(i,j)表示第i行第j列的子区域,便于后续用矩阵或张量处理网约车需求数据。
图1 城市区域网格Fig.1 The city region grids
定义2网络图G
本文用无向图G=(V,E)定义城市区域。其中V是图的顶点集合,即城市中的所有网格区域。V={v1,v2,…,vN},N是区域的数量,E是边的集合,代表区域间的关系,边的权重代表区域间的关系强度,A∈RN×N表示图的邻接矩阵。
定义3特征矩阵X
首先将时间轴划分成间隔相等的时间段,网约车需求量定义为乘客在t时刻o区域请求出发的数量。Xt=∈RN代表所有区域在t时刻请求出发的数量,则特征矩阵X={X1,X2,…,XT}∈RN×T表示所有区域的T个时间片段的历史需求量数据。其中,T是时间序列的长度。
因此,本研究是在已知拓扑图结构G的基础上,利用历史需求量的特征矩阵X,预测未来F个时间片段的所有区域的需求矩阵Y={YT+1,YT+2,…,YT+F} ∈RN×F,是一个多步需求预测问题。
1.2 模型框架
STMGCRN模型总体框架如图2 所示,主要由具有相同网络结构的3 个子模型构成。
图2 STMGCRN模型Fig.2 The Spatial- Temporal Multi- Graph Convolutional Recurrent Network
首先将历史数据沿时间轴划分成3 个长度相等的时间序列,分别表示临近时间的需求量、前一天相同时间的需求量、上一周相同时间的需求量,提取时间的临近特征和周期特征。
每一个子模型由多图卷积循环网络MGCRN 构成,如图3 所示。其基本单元是由多图卷积和门控循环单元结合形成的多图卷积循环单元MGCRU。通过学习需求的动态变化规律,来捕获复杂的时空相关性,进而对时空依赖关系进行建模。最后将3个时空模型的输出结果利用参数矩阵进行加权融合,得到最终的预测结果。
图3 MGCRN 子模型Fig.3 Multi-graph convolutional recurrent network
1.3 空间相关性建模
1.3.1 关系图定义
从不同角度构建关系网络,准确描述各区域之间的不同类别的相关性是图卷积的重要工作。通常,区域之间的需求模式越相似,则相关性越强,反之相关性越弱。本文定义了距离图、需求相似图和类别相关图,3 种图结构描述区域之间的相关性。
1.3.1.1 距离图
根据Tobler[17]的地理学第一定律可知,距离近的地图比距离远的相关性大。基于这一思想,在本文中体现为两个地理位置相近的网格,其需求量的相关性大。因此,本文用距离作为衡量区域相关性的一个因素。将网格中心点视为图的顶点,两个相邻网格间的中心距离记为D0,计算i和j两个区域间实际距离Di,j,任意两个网格中心的相对距离为,则距离图的邻接矩阵可用相对距离的倒数表示,如公式(1):
考虑到区域之间的距离不同,对需求量的影响大小不同。当距离相关性较小时,对需求量几乎没有影响。因此,为减少模型复杂度,当两个区域的相关性小于阈值δD时,则这两个区域视为不相关。
1.3.1.2 需求相似图
一般情况下,在城市区域层面,人们的出行轨迹具有规律性。如果两个始发区域到其他目的地区域的订单量分布比较相似,那么这两个区域之间的相关性较强。若用表示乘客从i区域出发到u区域的历史订单量,则i区域的流出量定义为Ci=,即从i区域出发到其他区域的订单量。用Pearson 相关系数计算两个区域之间订单量的相关性作为边的权重,计算方法如下:
1.3.1.3 类别相关图
区域的建筑设施类型和数量在一定程度上影响网约车的分布,比如写字楼、火车站、住宅等集中的地区,对网约车的需求较多。本文用POI(兴趣点)来衡量区域的类别属性,如果两个区域的类别相似度较高,那么其具有一定的关联性。用Pi∈RM表示i区域的POI,M是POI 的种类数量,则两个区域间的类别相关性可用Pearson 相关系数计算得到:
其公式参数参考需求相似图。
1.3.2 图卷积
现有图卷积方法大致可以分为谱域图卷积和空域图卷积。谱域图卷积是根据图谱理论,利用图傅里叶变换,将图信号从空域转换到谱域进行卷积操作;而空域图卷积是直接在拓扑图上定义卷积操作,计算复杂度较高。因此,本文采用谱域图卷积方法,图信号为每个网格的需求量数据。
图的拉普拉斯矩阵经过对称归一化后可表示为L=IN-D-1/2AD-1/2。其中,IN是单位矩阵;A是图的邻接矩阵;D是度矩阵;。拉普拉斯矩阵的特征分解可写为L=UΛ UT,其中U和Λ是特征向量和特征值对角矩阵。传统傅里叶变换的基函数是拉普拉斯算子的特征函数,而图上的拉普拉斯算子就是拉普拉斯矩阵。因此,图傅里叶变换的基函数对应拉普拉斯矩阵的特征向量,图的傅里叶反变换公式为,图的傅里叶变换为Tx,则图卷积公式如下:
其中,x是图上信号(2.1 中定义的需求量的特征矩阵);g是空域内的卷积核;gθ是频域内的卷积核;*G表示图卷积运算;F是图的傅里叶变换;F-1是图的傅里叶反变换;☉是hadamard 乘积。
然而,在处理大规模图数据时,拉普拉斯矩阵的特征值分解消耗时间过多,参数复杂度较大,因此采用Chebyshev 多项式近似求解[18]:
其中,K是卷积核的感知域大小;βk是Chebyshev 多项式系数,βk∈是缩放后的拉普拉斯矩阵;λmax是最大的特征值;是k阶Chebyshev 多项式。这种方法通过空间关系提取每个节点到其(K-1)阶邻居的信息并进行特征融合。
本文的多图卷积模型如图4 所示,采用4 阶Chebyshev 多项式的图卷积建模,即通过每个节点的三阶邻域来捕获空间特征进行自身的特征更新,公式如下:
图4 空间相关性模型MGCNFig.4 The spatial correlation model MGCN
g(x(l),Ai)代表第l层通过提取区域拓扑图的空间关系,得到图卷积的输出特征。其中,Ai是定义的3 种关系图的邻接矩阵Ai∈{AD,AC,AP}。本文使用ReLU作为激活函数,针对每个时间片段,x(l) ∈RN是第l层的输入,W(l)和b(l)分别是第l层训练过程中的权重矩阵和偏置向量。因此,每个节点都通过其0~3 阶邻居的信息进行自身的特征更新,得到下一层的输出x(l+1)。在此基础上,通过堆叠2 层图卷积,最大程度地扩大卷积核的感受野半径,从而捕获更多的空间依赖关系:
通过以上步骤,可以分别得到3 个关系图的卷积运算结果f(x(l),Ai),最后需要对这些结果进行加权融合:
其中,☉代表hadamard乘积;WD、WC、WP是特征融合的权重矩阵;φ(x(l),A)是融合后的输出结果。
1.4 时间相关性建模
长短期记忆(LSTM)[19]和门控循环单元(GRU)[20]是常用的处理时间序列问题的循环神经网络。GRU 作为LSTM 的一种变体,在相同数据集上的表现和LSTM 相差不大,但由于GRU 训练参数少,收敛速度更快,可以加速迭代进程,甚至可以增强模型的泛化能力,所以本文使用基于GRU 的循环神经网络来捕获时间依赖关系,如图5 所示。
图5 时间相关性模型GRUFig.5 The temporal correlation model GRU
在每个时间片段,将图卷积得到的每个节点的空间邻域信息,输入到GRU 门控循环单元中。在门控循环单元的传递中,通过重置门和更新门可以有效地结合上一时刻的累积历史信息和当前时刻的信息,同时将隐藏状态和历史数据经过多图卷积后的结果作为输入,可以继续保持节点的空间依赖关系,公式如下:
其中,ht-1是t-1 时刻的隐藏层状态;xt是t时刻的输入;br、bz和bh是偏置向量;[ ]是张量拼接操作,即将上一时刻的隐藏层状态和当前时刻的输入拼接起来作为图卷积的输入特征;*代表矩阵相乘操作;☉代表hadamard 乘积;σ是sigmoid 激活函数;rt是重置门;决定上一时刻隐藏层状态ht-1中有多少保留在当前记忆内是更新门,决定记忆细胞内有多少信息保留到当前隐藏状态ht,余下部分用上一时刻的隐藏层状态ht-1进行更新。
1.5 模型融合
本文输入的时间序列主要包含临近时间序列、前一天时间序列、上一周时间序列3 部分,。临近时间序列是指与预测区间直接相邻的时间序列,前一天、上一周时间序列分别是指在前一天或是上一周和预测区间相同的时间序列:
假设将一天均等地划分为P个时间片段,每个时间序列包含T个时间片段的历史数据,to代表当前时间片段,Xto-1代表上一个时间片段的所有区域的历史订单量数据,Xrecent、Xday和Xweek分别表示临近、前一天和上一周的时间序列。例如,预测区间是11 月8 日12:00-13:00,则临近时间序列为11 月8日11:00-12:00 的每个片段的订单量,前一天时间序列和上一周时间序列分别是11 月7 日12:00-13:00、11 月1 日12:00-13:00 的每个片段的历史订单量。这3 个序列体现了需求量数据的临近特征和周期特征。
构建3 个时空图卷积模型分别捕获需求量数据的特征,得到的3 个输出结果对最终需求量预测值的影响程度不同,因此利用参数矩阵进行特征融合,得到最终的预测值:
2 实验与结果分析
2.1 数据集处理
本文的数据集是由滴滴出行“盖亚”数据开放计划提供的西安市2016 年10 月1 日~2016 年11月30 日二环局部区域轨迹数据[21],轨迹点采集间隔为2~4 s,字段包括订车编号、司机编号、时间戳、经纬度等。将西安市区划分成边长为1 km 的正方形网格,POI 数据由高德地图API 得到,主要以餐饮服务、风景名胜、公司企业、交通设施服务、科教文化服务和商务住宅为统计标准。3 个子模型的超参数完全相同,时间间隔是10 min,关系图阈值δD=0.25、δC=0.1、δP=0.3,多项式阶数K=4,历史时间序列的长度T=6,预测的时间序列长度F=6。沿着时间轴按照6:2:2 的比例划分出训练集、验证集和测试集。
2.2 评价指标
本文选取交通预测领域常用的均方根误差(RMSE)与平均绝对误差(MAE)作为模型的评价指标,来衡量预测的准确性。
其中,M为数据个数,Yi和分别表示真实值和预测值。
2.3 实验结果分析
实验选取4 种模型与本文算法进行对比。分别是:图注意力(GAT)[22]、长短期记忆(LSTM)[19]、图卷积(GCN)[18]、门控循环单元(GRU)[20]。实验结果见表1。可以看出,本文提出的STMGCRN模型的算法性能均优于其它4 种模型。
表1 需求预测模型的性能比较Tab.1 Performance comparison of demand forecasting models
GAT 是一种将注意力机制引入图卷积模型中的方法,利用注意力机制在卷积过程中对邻域节点区别对待;LSTM 是一种克服了一般循环神经网络的长期依赖问题的方法,将历史网约车需求量数据输入模型,进行多步预测;GCN 是一种基于Chebyshev 多项式的图卷积方法,为保持公平性,该方法和GRU 方法均与本文中使用相同的参数设置。
3 结束语
本文提出了一种时空多图卷积循环网络(STMGCRN)来对网约车需求进行多步预测。该模型定义了城市区域网络图,构建距离图、需求相似图和类别相关图,来描述各区域之间的空间相关性,学习时间序列的动态变化来捕获需求量数据的时间相关性,从而根据复杂的时空依赖关系,预测每个区域内网约车的需求。在滴滴出行提供的数据集上进行了对比实验,结果表明,在常用的交通领域评价指标上,STMGCRN模型的算法性能均优于其它模型,可以进行更为精准的预测。但是,网约车的需求量也会受到其它外部因素的影响,在未来的研究中需要考虑人口数量、天气等更多元化的信息,探究其与需求量之间的关系,进一步提高模型预测的准确率。