2019 IEEE Transactions on Intelligent Transportation Systems
1 Intro
- 出租车需求预测是智能交通系统中的一项重要任务
- 现有的方法大多只对出租车在出发地点的需求进行建模,估计各个地区或某些特定地点的出租车需求,忽略了乘客目的地的影响。
- 论文认为乘客目的地信息对于出租车预分配系统是很重要的。出租车预分配系统在不考虑乘客目的地分布的情况下,仅根据预测的出租车发车需求提前部署出租车,可能存在问题
- 论文进行OD矩阵的预测
- 关键在于如何捕捉不同时空的环境信息来学习需求模式
- 局部空间环境(local spatial context , LSC)
- 一些在空间上相邻的区域通常具有相似的需求模式(比如出租车需求数量和需求趋势)
- ——>论文的局部空间环境模块利用两个卷积神经网络分别从起点和终点两个角度学习局部空间依赖关系。然后将两个网络的输出结合起来生成最终的局部空间特征,其中包含了不同视角下出租车需求模式的混合信息。
- 时间演化环境(time evolution context, TEC)
- 出租车需求是一个时变的过程,出租车需求的演变与出租车目前所处的状态以及不断变化的天气等多种因素有关
- ——>论文将出租车需求的局部空间特征(LSC)和气象信息集成到卷积长短时记忆网络(ConvLSTM)中,分析出租车需求演化
- 全局关联环境 (global correlation context, GCC)
- 即使两个区域在空间上相距遥远,如果它们具有相似的功能(例如,它们都是住宅区),需求模式可能仍然具有一定的相关性。
- ——>为了捕获相隔较远的区域之间的相关性,全局相关环境模块模块计算任意两个区域之间的相似性,并将所有区域的特征与相似性权重相乘,生成每个区域的全局相关性特征
- ——>这样,每个区域包含了所有区域的信息,主要与、是与之有高度相似性的区域相关
- ——>最后,将TEC模块生成的局部时空特征与GCC模块生成的全局相关特征相结合,对未来出租车发车目的地需求进行预测
- 局部空间环境(local spatial context , LSC)
- 关键在于如何捕捉不同时空的环境信息来学习需求模式
2 notation
2.1 区域划分
- 根据经纬度将一个城市划分为H×W不重叠网格地图。
- 每个矩形网格代表城市中不同的地理区域。——(a)图
- 网格映射第i行和第j列上的区域在下面的部分中表示为R(i, j)。
- (b)图的R(4,2)表示第4行第2列这个区域在某一时刻前往其他区域的需求量
- 通过这种简单的划分方法,原始出租车请求记录可以直接转化为矩阵或张量
2.2 OD矩阵
- 如上图(b)所示,t时刻的OD矩阵被建模为
- H和W是2.1划分的城市网格地图的高度和宽度
- N是城市区域总数(N=H·W)
2.3 OD预测
- 给定t时刻之前的数据,预测t时刻的OD需求
- 但是OD需求会受到很多其他因素的影响(比如气象)
- 下图是相邻两周的OD需求量,可以看到下雪的时候,OD需求大幅降低
- ——>论文加入了历史气象数据M来辅助预测OD需求
3 模型
3.1 局部空间环境LSC
- 一般情况下,出租车的需求往往与当地的空间位置有关,空间相邻区域可能具有相似的需求模式
- 例如,人们倾向于在早高峰时段离开居住地前往就业地区。
- 在这种情况下,城市郊区的大部分居住区域都有较高的O点需求,而城市中心的大部分工作区域都有较高的D点需求。反之亦然。
- 近年来,研究者利用卷积层对出租车O点需求的局部空间环境进行了建模,但忽略了D点的需求。
- ——>这篇论文中涉及的LSC模块同时从源区域的视角和目标区域的视角,捕获出租车需求的局部空间信息
- ——>相当于利用了OD矩阵和DO矩阵
-
- 上图是论文中从OD矩阵转化成DO矩阵的过程,可以理解成,先把OD tensor转化成OD矩阵(reshape),然后进行转置,变成DO矩阵,再reshape回DO tensor
- LSC模块对OD tensor和DO tensor 分别进行特征融合
-
- 这里的是concatenate的意思
-
3.2 时间演化环境
- 出租车OD需求是一个随时间变化的过程,通常受多种复杂因素的影响。
- 除了自身的内部状态,气象条件也影响着未来的需求。
- 例如,持续的降雪可能会严重削弱居民的出行意愿,导致出行需求下降。【见2.3配图】
- ——>因此,论文结合历史需求特征和不断变化的气象条件,建模出租车OD需求沿时间维度的演变趋势。
- 除了自身的内部状态,气象条件也影响着未来的需求。
- 论文将LSC部分的卷积结果和对天气数据的embedding结果进行融合,然后输入到ConvLSTM层即可
- LSC部分的结果是一个32×H×W的tensor
- 使用ConvLSTM的原因是,它能在累积之前序列信息的情况下,更好地保持输入feature的局部特征
- *是卷积操作、⭕是哈达玛积(逐元素乘积)
- 对于气象数据,论文使用MLP进行编码
- 这里的MLP有三个全连接层组成,其中含有的神经元个数分别是64、18、8
- 将MLP最后一层的输出特征复制H*W次,以构建气象特征
- 所以气象数据embedding是一个8×H×W的tensor
- 得到LSC和气象embedding之后,论文使用一个卷积层(32个filter)将他们融合
-
这里的也是concatenate的意思
-
-
然后将融合后的LSC+气象信息送入ConvLSTM
-
记送入convLSTM后的隐藏层为hn,将hn送入有Clt个filter的卷积层中,以获得t时刻的时空局部特征
-
维度应该是Clt×H×W
-
3.3 全局相关环境 GCC
- 在上述两个模块中,卷积层和ConvLSTM只捕获了出租车需求的局部信息。
- 然而,出租车需求分布也与区域属性有关
- 例如,城市不同区域的大部分居住区在早高峰时段可能会有较高的出租车需求。
- 因此,即使两个区域相距遥远,只要两个区域的属性一致,它们的出租车需求模式也可能是相似的。
- ——》论文将这种关联称为全局相关环境。
- 论文通过全局特征融合操作,获取各区域间的全局相关性。
- 具体来说,论文将每个区域的全局相关特征表示为所有区域特征的加权和,权重计算为对应OD对之间的相似性。
- 这样,每个区域包含了所有区域的信息,主要是与之高度相似的区域信息。
对上图的上中下三路进行介绍:
- 中路:
- 将3.2的输出送入一个卷积层(Cs个filter),得到张量Fs,然后将Fs reshape成二维矩阵
- 用Fs计算全局相关特征权重S
- 是矩阵乘法
- 将3.2的输出送入一个卷积层(Cs个filter),得到张量Fs,然后将Fs reshape成二维矩阵
- 上路:得到权重矩阵S后,计算各区域特征的加权和,得到全局特征Fg
- 下路:Fg只encode了全局关联,但缺少局部本地特征,这可能导致模型效果不加
- 将Flt和Fg进行concatenate,得到最终的feature
- 此时的包含了本地局部环境、时间演化环境和全局关联环境
3.4 输出结果
- 送入有N个filter的卷积层(τ),得到最终的输出
4 实验
4.1 数据集
- 论文说,目前没有城市级别的OD需求公共数据集。于是他们创建了一个benchmark(NYC-TOD)【纽约2014年的:】
- 出租车OD需求数据
- 选择曼哈顿作为研究对象
- 将曼哈顿分成15*5的grid
- 132,000,000条OD数据
- 时间间隔为半小时
- 气象数据
- 考虑了如下的气候数据
- Weather Condition的部分是一个one-hot embedding,其他部分放缩成[0,1]标量
- ——>t时刻的气象数据是一个29维的向量
- 出租车OD需求数据
- 2014年最后的60天作为testing数据,之前的作为training数据
图5表示每天的出租车需求量
4.2 Metric
4.3 Baseline
-
HA-All:对整个训练集上每天相同时间间隔的历史需求进行平均;
-
HA-Rec:对之前n个时间间隔的需求进行平均
-
线性回归
-
OLSR:最小二乘回归
-
Lasso:带有L1范数的线性回归
-
-
ConvLSTM :只考虑origin的卷积结果(不concatenate destination的卷积结果)
4.4 效果比较
4.5 可视化预测结果
4.6 周中周末的比较
4.7 Ablation study
O-MAPE是只考虑源区域部分出租车的需求量
(区域x作为源区域,所有目标区域OD值之和
4.8 LSC是否需要destination的view?
4.9 Local和Global信息的重要性
4.10 是否需要气象数据
4.11 时间复杂度对比