文章信息
该文章发表在“The 25th ACM SIGKDD Conference on Knowl-edge Discovery & Data Mining (KDD’19)”,题为《Co-Prediction of Multiple Transportation Demands Based on Deep Spatio-Temporal Neural Network》,时间为2019年。该文章主要关注多模式交通需求预测。
摘要
出租车和共享单车给城市交通带来了极大的便利。许多现有研究通过预测下一时期的上下车需求来提高出租车服务或共享单车系统的效率。与现有研究不同,文章的研究动机主要体现在以下两个方面:1)从微观上看,任意时隙的观测空间需求可以分解为多个隐藏空间需求基的组合;2)从宏观上看,多个交通需求在空间和时间上都存在较强的相关性。基于此,文章提出了一种基于时空神经网络的协同预测方法CoST-Net。文章通过构造深度卷积神经网络,将空间需求分解为隐藏空间需求基的组合。用组合权向量表示分解后的空间需求。在此基础上,提出了一种异构长短时记忆算法,对多种运输需求的状态进行集成,并对其进行混合动态建模。最后,将湿度和温度等环境特征与所获得的整体隐藏状态相结合,同时预测多种需求。在真实的出租车和共享单车需求数据上进行了实验,结果表明,所提出的方法优于经典和最新的交通需求预测方法。
文章的创新点如下:
1. 文章设计了一个深度卷积AutoEncoder来实现交通需求的空间分解。基于该网络,可以将快照交通需求编码为空间需求基的组合。
2. 文章提出了一种异构LSTM,以同时建模多种运输需求的动力学,并将它们集成到一个统一的时空神经网络的隐藏状态。
3. 文章根据统一的隐藏状态和外部环境因素,提出了一种协同预测模块,用于预测多种交通需求。
问题定义
多该文章旨在实现多种交通模式的需求预测,具体而言,文章的多种交通模式指出租车与共享单车。多模式交通需求预测旨在利用多模式交通历史需求信息以及对应的额外特征,预测下一个时间段多模式交通的需求,具体可由下式表示:
其中,表示共享单车的历史上下客需求,表示出租车的上下客需求,表示历史的额外特征,包括天气和事件。
模型细节
下图展示了模型的基本框架:
1.空间需求分解
如图中图(b)所示,文章认为交通模式的空间需求由若干种基组成,因此,文章假设有一些空间需求基础。它们在不同的时间间隔中是不变的,每一种基础都有其独特的城市表征。此外,各区域在每个时间区间的需求可以看作是空间基的组合,定义如下:
其中,是一种空间需求矩阵,表示区域(i,j)的需求。为保证空间需求库的表达能力,文章对需求库的组合进行了深度非线性设计。因此,组合系数可以嵌入很多次,如下所示。
其中,r表示嵌入层数,表示将低阶分解转化为高阶特征的函数。相应地,可以通过每一层的基底得到Xt的非线性分解。以第r层为例,如下所示。
文章针对空间需求分解问题,共划分为两个部分。首先是分解并获取空间需求基,其次是基于CNN的需求模型。
分解并获取空间需求基:
文章提出使用深度卷积AutoEncoder来获得城市交通中的多层基。模型定义如下:
其中,公式(6)表示encoder的结构,(7)表示decoder的结构,是可训练参数。值得注意的是,encoder与decoder是对称的,二者深度相同。
基于CNN的需求模型:
由于在给定时间段t内,历史需求信息可以被视为一张图片,称之为“需求图”,文章选择使用CNN对历史需求数据进行处理。对于一个需求序列,文章将每个需求图输入深度卷积AutoEncoder。不同交通方式的上下车需求具有不同的空间需求基础。为了不影响捕获高级表示的性能,需求图被单独编码。编码器由K层CNN组成,以上一层的输出作为输入。decoder采用encoder的对称结构。CNN的层数和Transposed CNN层数定义如下。
其中,r表示层数。值得注意的是,文章在使用CNN时,设置padding为0,因此随着encoder的层数增加,需求图逐渐减小,并输入至异构LSTM中处理,最后后decoder会将需求图放大至原本的大小。
2.异构LSTM
在深度卷积AutoEncoder训练完成后,固定编码器和解码器的参数。因此,给定一个需求图序列,文章对序列进行编码,通过预先训练的编码器获得高阶表示。因为每个特征图都可以看成是空间需求基的组合,所以特征映射序列可以看成是空间基的系数变化。因此,多模式交通需求预测问题被转化为预测下一个时间段的空间需求基的系数。基于RNN的基本表达,该预测问题可由下式表示。
其中,分别表示共享单车上客,共享单车下客,出租车上客,出租车下客对应的隐藏状态,进一步上式可简化表述如下:
基本RNN存在爆炸和消失梯度等问题,而随着LSTM的兴起,由于其具有学习时间动态长、短依赖关系的能力,文章选择LSTM进行预测,并提出了针对异构数据的异构LSTM,定义如下:
其中,第一行表示输入门,第二年行表示遗忘门,第三行控制LSTM的输出。
3.融合与协同预测
在这个模型中,文章主要考虑天气和事件。外部因素数据为枚举类型和数值类型,枚举类型将使用one-hot进行编码。编码后,文章使用全连接层来提取外部因素的相关性和表示。异构LSTM的输出由下式表示:
其中,表示外部因素,是全连接层。异构LSTM的输出可以分解为四个部分:
分别对应出共享单车和出租车的上下客数据。最后,上述数据通过decoder进行解码,得到下一时刻的需求图。值得一提的是,文章中的decoder并不需要训练,如果想要预测共享单车的上客需求,decoder的参数将从预先训练的卷积AutoEncoder中复制,该算法使用共享单车的上客需求作为输入和真实值。定义如下:
文章的损失函数定义如下:
由于四种模式的权重难以训练,实际上,文章分别对四种需求进行了预测。
实验
文章选择纽约的共享单车数据与出租车数据作为实验的数据集。实验分为以下几个部分:
1.与基准模型的比对
实验结果如下,可以看到CoST-Net,即文章所以出模型取得了最低的RMSE,以及最高的皮尔森相关系数。
2.方差比对
文章将XGBoost、ConvLSTM、DeepST、ST-ResNet和CoST-Net的实验结果绘制了箱线图。
3.CoST-Net与其变种的比对
具体而言,例如,如果期望预测共享单车的上客需求,使用单通道的实验(“A Channel”)意味着只使用共享单车的上客需求数据来用我们的模型进行预测。双通道预测(“Two Channels”)表示采用自行车提车需求和自行车落车需求数据进行实验。而四个输入通道表示原始的CoST-Net。
4.在不同时间点的模型性能
总结
文章提出了一种新的交通需求预测方法,即基于时空神经网络的协同预测。它由三个模块组成:1)表示学习模块,将空间需求分布编码为隐藏的空间需求基的组合;2)异构学习模块,融合多种交通需求状态,并对这些状态进行动态建模;3)融合环境因素的集成模块,提出多种交通需求的预测。得益于多种交通需求的空间分解表示和异构融合,CoST-Net能够优于现有的交通需求预测方法。为了验证文章提出的方法,在真实出租车和共享单车数据上进行了实验,结果证明了CoST-Net在预测精度和鲁棒性方面的有效性。
Attention
欢迎关注微信公众号《当交通遇上机器学习》!如果你和我一样是轨道交通、道路交通、城市规划相关领域的,也可以加微信:Dr_JinleiZhang,备注“进群”,加入交通大数据交流群!希望我们共同进步!