Keywords: taxi demand prediction; graph neural network; GPS trajectory of taxis; spatial-temporal model; deep learning
是一篇发表在Sensors期刊上的有关基于多任务学习进行出租车需求预测的文章。
Abstract:
随着城市的发展,出租车成为城市中的一种重要的出行方式。在智能交通研究,准确的预测出租车需求是一大的热点,但由于其复杂的时空依赖性、动态性和不确定性,对出租车需求的预测极具挑战。为了充分利用道路交通流的全局和局部的相关性,本文提出了一种基于图卷积网络、长短时记忆(LSTM)和多任务学习的深度学习模型。
首先,考虑道路网络中出租车出行的空间格局分布,建立无向图模型;然后,利用LSTMs提取交通流的时间特征;最后,采用多任务学习策略对模型进行训练,以提高模型的可泛化性。
文章的创新点可以分为以下三点:
1、提出了一种基于图卷积网络(Graph Convolutional Networks)预测出租车出发、到达流的模型。同时,为了实现道路水平预测,在构建交通流图时,不是将城市空间划分为网格,而是采用路段作为节点,出租车需求作为节点的特征。
2、基于路段的局部相关性和全局相关性构建了两种类型的交通流图。这些图被称为直接图(direct graph)和间接图(indirect graph)。直接图基于路网拓扑构造,该图综合路段间的局部连通性和空间相关性。而间接图通过考虑交通网络中所有路段之间的全局相关性,从而判断不同路段间是否连通。
3、将出发流预测任务和到达流预测任务相结合,采用多任务学习策略加快学习过程,避免过拟合,得到更一般化的结果。
文章选取了两条路段的数据进行可视化,如下图所示。
可以看到这两条路段间存在相似性。接着进行了相似度的计算,如下图所示。
通过上图可以进一步证明路段间是存在相似性的,证明文章的可行性。
在实验中,通过对真实的出租车轨迹数据的验证,证明了该方法的有效性和准确性。同时,实验结果表明,该模型能够有效地预测交通网络层面的短期出租车需求,且优于现有的交通预测方法
1、文章结构
1.介绍了出租车需求的研究现状,以及深度学习模型及图卷积网络(GCN)在出租车需求预测中的现状。
2.介绍了写作动机,当前大部分使用图卷积网络预测时,图的构成是基于路段的物理连接,文章认为一些非物理连接路段的进出流应该存在相似性。提出了直接图(direct graph)以及间接图(indirect graph)。
3.介绍了各个参数的含义,以及用于获取时间序列相似性,也就是计算不同时间序列相似度用到了Fast-DTW算法。
(有关Fast-DTW以及DTW算法的补充:https://www.cnblogs.com/kemaswill/archive/2013/04/18/3029078.html)
4.提出了多任务预测模型。
5.将模型应用到实际数据中,获取结果并比对。
4、模型结构
模型的基本框架如下图所示:
整个模型可以分为四个模块:数据处理模块、特征提取模块、生成图模块、网络搭建和训练模块。
数据处理模块:
这一部分主要是删除数据中重复和无效的部分,进一步,由于是GPS数据,存在数据偏移的问题,为了修正GPS数据,文章采用基于隐马尔可夫(Hidden Markov)的地图匹配算法,对所有轨迹进行数据匹配。
特征提取模块:
该模块主要从出租车轨迹中提取乘客上、下车的位置,并根据时间段计算各路段的出行时间。从而得到某一时段内各路段出租车发车流和到达流,这一部分数据主要用于构造非直接图。对于每个路段,根据城市路网的拓扑结构提取相邻路段,这一部分数据主要用于构造直接图。
生成图模块:
这一模块主要是借助上一模块得到的数据,生成网络所需的输入数据。在生成图的过程中,生成了四种图,分别是:出发和到达的全局关系图和局部关系图。具体构建方法如下:
1、根据路段之间的连通性(物理连接),生成局部关系图的邻接矩阵。
2、通过计算不同路段的出发/到达流序列相似性,得到全局关系图的邻接矩阵。
出发和到达的局部关系图其实是一致的,而全局关系图是不同的。
网络搭建和训练模块:
最后一部分是基于GCN和LSTM网络预测出发流量,并结合多任务学习策略对模型进行训练。在多任务学习中,以出租车出发流预测作为主要任务,出租车到达流预测作为相关任务,有助于提高预测精度。
网络的基本框架如下图所示:
整个网络也可以分为三个模块:局部和全局空间特征提取模块、时间特征提取模块、特征融合模块。接下来细说这三个模块的功能和原理。
1.局部和全局空间特征提取模块
在该模块中,将路段设置为图的节点,每个节点的特征包括该节点对应路段产生的历史到达流序列。设路段总数为R,历史时段数为K,则图的特征矩阵为X,其维度为K * R,相邻矩阵为A,其维度为R * R(对于直接图,邻接矩阵就代表其物理连接;而对于非直接图,其邻接矩阵是由路段之间的相似度构成的矩阵,相似度是通过Fast-DTW算法计算获得)。
该模块由两层GCN+GLU组成。
其中GCN层的行为如下:
GCN+GLU+BN层的行为如下:
其中ReLu采用的是Leaky ReLu,最终的输出结果是一个KR的矩阵。
2.时间特征提取模块
该模块的输入为上一模块的输出,即一个K * R的矩阵,进入一个LSTM网络获取其时间特征。LSTM的具体结构图如下所示:
进一步其中的每个变量的计算方法如下:
其中,xt表示输入(此处为一个K * R的矩阵),W和U表示权重,b是偏置项,it、ft、ot分别表示输入门、遗忘门、输出门对应的输出项。
参数更新方法如下:
最终LSTM模块的输出结果是一个维度为1 * R的矩阵(其中R表示路段数)
3.特征融合模块
通过不同的输入,可以获取两种变量,一种是局部路段关系图,另一种是全局路段关系图,这两种变量的维度均为1R。将这两种变量进行拼接,得到一个2R的矩阵,输入到二维卷积网络中(kernel_size=21,stride=1, padding parameter was set to VALID),输出一个1 * R的矩阵,即每个路段下一个时间步的预测结果。
由于是多任务学习,损失函数为加权求和的形式,
上车客流的损失函数:
下车客流的损失函数:
总损失函数:
2、实验结果及分析
实验所用的数据集是来自西安的真实出租车轨迹。这些轨迹来自1万多辆出租车,覆盖了2万个路段。在每辆出租车中,GPS设备记录了车辆ID、时间戳、经纬度、车速和行驶方向,以及车辆的国家代码。
文章选取了每周7天的数据,前六天的数据作为训练集,第七天的数据作为测试集,此外,文章选择了出发流量大于15次/天的路段,共851个路段。在现有研究中,对于发车流量较小的路段,如15个/天,不作为主干道路段,而是作为一些分支路段的代表,如与主干道相连的一个小分支。这些路段对流量预测的影响很小,在大多数研究中往往被忽略。同样的,这些影响在本研究中也没有考虑。此外,文章将每天划分为288个时间段,每个时间段为5分钟。
文章采用了RMSE、MAE作为评价指标。
模型训练过程中的损失函数曲线如下图所示(左图表示在训练集上的结果,右图表示在测试集上的结果)
图中可以看出,文章提出的模型经过了适当的训练,没有过度拟合。下图显示了模型训练过程中的RMSE曲线。
3、总结
文章提出了一种多任务学习机制,通过对于进、出站客流的直接图和间接图的分析与融合,通过简单的网络,实现了对于城市出租车需求的预测。