第一作者:林友芳(1971—),男,福建龙岩人,教授,博士,博士生导师.研究方向为网络科学与智能系统.email:yflin@bjtu.edu.cn.
林友芳,北京交通大学计算机与信息技术学院副院长、北京交通大学大数据研究院院长、交通数据分析与挖掘北京市重点实验室常务副主任、综合交通运输大数据应用技术交通运输部行业重点实验室副主任、民航旅客服务智能化应用技术民航局重点实验室副主任、教育部创新团队成员.研究领域包括大数据技术、人工智能技术、智能系统建造、行业数据挖掘等。目前主要从事行业大数据与智能技术研究,包括民航大数据、道路交通大数据、超大型数据中心运维大数据、特种交通领域智能驾驶等应用基础研究.担任相关领域咨询专家、中国计算机用户协会民航信息技术应用分会第一届理事会理事、中国造船工程学会舰船航空保障学术委员会委员、中关村民生大数据专委会专家.在IEEE、TITS、JSTAT、CIE、PhysicaA 等重要学术期刊和AAAI、ECMLPKDD、ICARCV、ICINCO 等高级别学术会议上发表论文40余篇.译箸3本,是经典书籍《数据仓库》的主要译者.曾被中国科协评选为科学中国人2015年度人物(信息技术领域).
客运需求预测是打造智能交通系统中的重要一环,精准的预测模型有助于预分配交通资源,改善用户出行体验.然而客运需求的动态时空特性导致准确预测客运需求具有很大的挑战. 本文提出了一种基于时空长短期记忆网络(LSTM)的出发地—目的地(OD)客运需求预测模型(STLSTM-PDP),显式地建模了客运需求时间序列内部的时间依赖关系和序列之间的空间依赖关系,预测未来一段时间所有OD的客运需求量.在全国民航重点航线客运需求量数据集及某城市区域间出租车客运量数据集上进行了实验,结果表明:STLSTM-PDP模型优于其他现有的预测方法,其MAE比其他方法降低了4.4%~41.4%,RMSE降低了4.3%~49.1%.
Passenger demand prediction is an indispensable part of intelligent transportation systems.An accurate prediction model can help us to pre-allocate traffic resources and improve users’ travel experiences. Predicting passenger demand is of great challenges as it has dynamic temporal and spatial characteristics.In this paper, we propose a spatio-temporal LSTM model, called STLSTM-PDP, to predict the passenger demands of origin-destinations.The model can simultaneously capture the temporal and spatial dependencies of multiple time-series to forecast the demands of all the ODs for a period of time in the future. Experiments on two types of real-world datasets, viz., the taxi demand data and online booking data of civil aviation, demonstrate that our method outperforms other existing forecasting methods, where its MAE falls by 4.4% to 41.4% and RMSE falls by 4.3% to 49.1% against other methods.
随着人们出行需求的增加, 交通领域的客运需求预测越来越受到政府决策者、相关运营公司的关注.交通领域的客运需求有很多种, 比如:1)城市内区域间的出租车需求量, 其准确预测有利于降低空车率从而增加出租车司机收入、减少能源浪费等; 2)民航领域的航线客运需求量, 其精准预测有利于航空公司进行飞机排班调整、价格调整等从而降低航空公司运营成本, 提高服务质量.因此如果能够准确地预测客运需求, 将对提前感知市场动态、预分配交通资源、改善用户出行体验等都具有十分重大的意义.
由于客运需求具有动态时空特性, 准确地预测客运需求具有很大的挑战, 主要原因如下:1)出发地-目的地(OD)的客运需求时间序列本身在时间维度上存在很强的相关性; 2)不同OD的客运需求时间序列之间存在空间相关性.因此如何设计模型能同时捕获数据在时间和空间维度上的相关性具有很大的难度.
目前, 交通领域的时间序列数据预测模型主要分为两大类.1)经典的时间序列分析方法, 如历史平均模型(HA)、向量自回归模型(VAR)[1]和自回归滑动平均模型(ARIMA)[2]及其变体等已被广泛应用于交通预测问题.最近的研究在考虑引入其他技术模拟空间交互, 如文献[3]使用路网上的矩阵分解来获取道路连接的区域之间的相关性以预测交通量.一些研究也提出通过正则化来平滑附近位置和时间点的预测差异以获得临近的时间依赖和空间依赖[4].然而这类模型大多重点关注于数据在时间维度上的变化特点, 而对于空间维度的建模, 大多是建立在假设附近地点的交通状况相似的前提下, 因此无法对空间和时间的复杂非线性关系进行建模.2)利用机器学习方法针对交通数据复杂多变的特点进行建模.传统的机器学习方法如线性回归(Linear regression)、支持向量机回归(SVR)[5]等对于高维非线性的交通数据处理能力不足.
由于GPS的广泛应用, 使得车辆轨迹等能反映客运需求的数据收集变得十分便利; 同时互联网和移动智能终端技术的快速发展使得用户在线查询机票所占比例越来越高, 从而产生大量查询数据, 这些查询数据可以很好地反映航线需求.需求数据的积累为我们使用深度学习方法对需求量建模提供了很好的机会.近几年循环神经网络(RNN)在序列学习中取得了很大的成功[6], 特别是长短期记忆网络(LSTM)[7]的应用使得RNN能够学习长期的时间依赖性, 可以有效缓解传统RNN在训练时存在的梯度消失问题[8].例如, 文献[9]提出应用LSTM网络和自编码器捕获时间依赖关系, 预测高峰时段和事故发生后等极端条件下的交通情况.然而, 这些模型只能捕获时间序列中的时间依赖性, 而忽略了交通数据中广泛存在的空间相关性.为了解决这个问题.文献[10]提出了一种深度学习方法来同时提取交通数据的非线性空间和时间相关性.文献[11]提出时空循环卷积神经网络(SRCNs)预测交通流量, 有效捕获了交通数据的时间相关性与邻近区域的空间相关性.文献[12]提出了深度多视图时空网络(DMVST-Net)用于预测某区域的出租车需求.文献[13]提出的卷积LSTM(ConvLSTM), 可用于捕获序列的时间相关性以及部分临近序列的空间相关性.总体来看, 这些时空网络模型处理的均为网格化的数据, 且多数只能捕获邻近区域的空间关系.
准确地预测交通客运需求需要同时建模时间维度上的OD自身历史客运需求的规律, 以及空间维度上与其他OD客运需求序列之间的关联.但是现有方法都无法同时有效捕获这些信息.因此, 本文作者提出了一种新颖的基于时空LSTM的OD客运需求预测模型(Spatio-Temporal LSTM for Passenger Demand Prediction, STLSTM-PDP).该模型改进了传统LSTM模型的细胞内结构, 显式地建模了序列内部的时间依赖关系和序列之间的空间依赖关系, 综合预测未来一段时间所有OD的客运需求量.选取民航领域的城市间相应航线的实际订票查询量及城市内区域间出租车实际客运量作为交通领域的客运需求代表, 在这两个真实数据集上的实验结果证明, STLSTM-PDP模型优于其他现有方法, 极大地提高了预测准确率.
交通领域的客运需求是针对特定的出发地(O)和特定的目的地(D)而言.如城市内客运需求可以由不同时间段、多个区域对之间的出租车载客情况来反映; 民航领域的客运需求可由人们对未来不同出发日期的航线查询量来反映.特定OD的客运需求受人们作息时间的影响, 在时间维度上呈现固有的规律性和趋势性.除了OD客运需求序列自身的规律之外, 它还与其他OD的序列间存在相互影响与联系, 如图1(a)所示的民航领域中的转机需求, 假设A→ C地的机票售罄, 必然会增加A→ B及B→ C的转机需求; 城市内区域间客运需求如图1(b)所示, A地区到B地区的需求会受到A、B的分流和汇入的影响.由此可见, OD间的客运需求需要从多条OD需求序列曲线的关联性去分析.
![]() | 图1 交通网络中OD客运需求相互影响示例Fig.1 An example of the interaction among OD passenger demands in transportation networks |
本文中使用的符号及相关概念定义如下:
定义1 OD对:用C={C1, C2, …Cm }表示区域集合, OD对由出发区域o和目的区域d共同确定, 用< o, d> 表示OD对, 其中o∈ C表示出发区域, d∈ C表示目的区域.xt(< o, d> )表示第t个时间区间内的从出发区域o到目的区域d的客运需求量, 即< o, d> 上的客运需求量.设N为研究的OD对的总数量, xt∈ RN表示第t个时间区间内的所有OD对的需求量.
问题定义需求预测:对于所有OD对的客运需求, 已知n个观测值{xt |t=1, 2, …, n}, 预测所有OD对的k个时间间隔后的需求值xt+k.
标准的长短期记忆网络(LSTM)细胞结构如图2所示.LSTM中新增加了门控单元用于控制时序信息的记忆和遗忘, 更善于处理长序列数据.在每个时间步t中, xt为输入向量, ct为细胞状态向量, ht是根据ct输出的隐藏状态向量, 计算公式如下
式中:W* 、U* 表示权重矩阵; b* 是偏置向量, * ∈ {i, f, o, c}.sigmoid函数(f(x)=1/(1+e-x))被用作输入门it、遗忘门ft和输出门ot的激活函数; ct$和ht通常使用双曲正切tanh函数(f(x)=(ex-e-x)/(ex+e-x))作为激活函数; 。表示Hadamard乘积.3种类型的门控单元控制每次进入和离开LSTM细胞的信息.输入门调节进入LSTM细胞的新信息, 遗忘门控制多少历史信息应该保存在LSTM细胞中, 输出门定义了输出的信息量.LSTM门控结构使其能够在时间序列上平衡对序列时间维度上的短期和长期依赖.
每个OD对的客运需求序列数据在时间维度存在关联性, 同时不同OD对之间也存在空间相关性.传统LSTM单独处理每条OD需求序列时, 无法捕获不同序列之间的相关性; 同时处理多条需求序列时, 在每一时刻, 第1层LSTM将所有OD对需求数据xt∈ RN 作为该时刻的N维特征, 通过神经网络提取、映射成一定维数特征后作为下一时刻及下一层LSTM网络的输入, 即t时刻所有OD对信息被完全融合到一起统一提取特征, 统一的特征显然丢失了很多重要信息, 无法充分捕获N条序列的独有特征及N条序列之间的相关性.因此, 本文提出了STLSTM-PDP模型, 显式地建模需求序列的时空相关性, 从而更加精准地预测交通领域的客运需求.STLSTM-PDP模型如图3所示, 包含时空长短期记忆网络(STLSTM)模块和融合(Fusion)模块.
2.2.1 时空长短期记忆网络
STLSTM的细胞状态如图4所示.STLSTM始终保持两个通道显式地建模序列内时间依赖(图4中蓝色线通道)与序列间空间依赖(图4中绿色线通道).如式(2)所示, 在序列内时间依赖维度建模时, 不同于多维输入的传统LSTM将多条序列信息融合进行特征提取, 然后用提取的特征表示原来所有OD对的信息, 本模型对于每个样本在每个时间片中, 控制序列内信息的门控结构(Iinner_t、Finner_t、Oinner_t、Cinner_t)的维度由传统LSTM中的Ru变为Ru× N, 其中u表示输出维度即本层神经元个数.因此为每条OD对需求序列单独构造了特征, 最终得到时间依赖维度的输出Hinner_t.序列间空间依赖维度的输入Xinter_t经过空间关系矩阵S的转换得到X'inter_t, 即X'inter_t中的各个特征融入了序列间的相互影响信息, 其中S∈ RN× N用于融合序列间的相互影响, 可以将每条序列的各个特征通过融合所有序列的信息进行重构, 从而服务于空间依赖维度的建模.控制序列间信息的门控结构由融合了空间关联信息之后的X'inter_t以及上一时刻空间依赖维度的隐藏层输出Hinter_t-1共同决定.同样地在每个时间片, Iinter_t、Finter_t、Ointer_t、Cinter_t的维度由传统LSTM中的Ru变为Ru× N, 即为每条OD序列单独构造序列间特征, 最终得到空间依赖维度的输出Hinter_t.Hinner_t和Hinter_t组成最终的输出Ht, Ct 同理.
式中:W* 、$W_{* }^{'}$ 、b* 、$b_{* }^{'}$ 均为学习参数.l代表STLSTM的层数, 则$X_{inter\_t}^{l}$=$H_{inter\_t}^{l-1}$∈ Rd× N, Xlinter_t=Hl-1inter_t)∈ Rd× N, l=1时, $X_{inner\_t}^{1}$=$X_{inter\_t}^{1}$=$X_{t}^{'}$∈ R1× N)(由xt∈ RN 扩展得来).W* =[$W_{* }^{x}$, $W_{* }^{h}$], 其中$W_{* }^{x}$∈ Ru× d, $W_{* }^{h}$∈ Ru× u), $W_{* }^{‘ }$ 与W* 类似, b* 和b$b_{* }^{'}$∈ Ru 为偏置.S作为先验知识输入到模型中, 其初始化可以根据OD之间的距离、各OD对是否包含相同区域等信息.输入门、输出门、遗忘门仍用sigmoid作为激活函数, 而Cinner_t、$\widetilde{C}_{inter\_t}$和Hinner_t、Hinter_t使用线性修正单元(ReLU)为激活函数, 即f(x)=max(x, 0).
2.2.2 融合空间依赖与时间依赖
融合模块将STLSTM输出的两通道结果进行融合, 结构见图5.如式(3)所示, 首先使用参数Θ 1 和Θ 2对时间维度和空间维度的特征加权求和, 然后将融合特征展平得到$\widetilde{C}_{inner\_t}$, 最后如式(4)所示用一层全连接网络对时空特征进一步抽象和提取.
$X_{fusion\_t}=\Theta_{1}$$\circ$$H_{inner\_t}+\Theta_{2}$$\circ$$H_{inter\_t}$ (3)
$x_{seq\_t}=relu(W_{seq}\bullet$$x_{fusion\_t}^{'}+b_{seq})$ (4)
其中$\widetilde{C}_{inner\_t}$∈ Rd× N由Xfusion_t∈ Rd× N展平得到, Θ 1, Θ 2∈ Rd× 1, Wseq∈ Ru× Nd, bseq∈ Ru表示学习参数.该模块同样使用ReLU作为激活函数, 其输出结果为xseq_t.
2.2.3 客运需求预测
在每个时间片将融合了时间特征与空间特征的xseq_t经过一个全连接层再次进行特征提取, 最后通过tanh函数激活, 将输出值映射到[-1, 1], 得到最终的预测结果$\hat{x}_{t+k}$.具体计算公式如下
$\hat{x}_{t+k}=tanh(Wx_{seq\_t}+b)$ (5)
式中:W∈ RN× u_seq, b∈ RN表示学习参数.
STLSTM-PDP模型使用Adam算法[14], 通过最小化真实值向量xt+k和预测值向量$\hat{x}_{t+k}$之间的均方误差来训练模型, 具体公式如下
$L(\theta)$=||$x_{t+k}$-$\hat{x}_{t+k}$$||_{2}^{2}$ (6)
式中:θ 表示STLSTM-PDP模型中的所有待学习参数.
3.1.1 民航重点航线客运需求量数据
本文使用的民航重点航线客运量数据集来自某在线订票网站提供的真实机票查询数据集, 数据中包含以下信息:航线(由出发城市和目的城市共同确定)、出发日期、查询日期、查询小时、查询次数(即查询量, 可以反映航线的客运需求).
数据集中一共包含了10个国内有机场的重点城市:北京、上海、深圳、成都、广州、西安、郑州、南京、武汉、天津.出发城市和目的城市的不同组合共构成90条重点航线(OD对).选取查询日期区间为2014/12/17— 2015/05/15(共150 d)对出发日期区间为2015/02/07— 2015/05/15(共98 d)的查询数据作为本文的实验数据集, 并从中选取查询日期与起飞日期间隔为7~17 d的序列作为训练集, 查询日期与起飞日期间隔0~6 d的序列作为测试集.查询数据的时间间隔为1 h, 因此在本文的实验中对样本按每小时一次滑动构建新的预测时间段.对于每一个出发日期, 共有17× 24=408个样本, 因此实验数据共有98× 408=48 552个样本, 其中训练集包含23 520个样本, 测试集包含16 464个样本.
3.1.2 城市内区域间出租车需求数据
本文使用的城市内区域间的出租车客运量数据由某城市的出租车GPS数据统计得出, 该数据包含经纬度坐标、GPS时间、载客状态等信息.首先根据出租车上下客点密度将城市划分为10个区域, 然后根据出租车GPS信息将各区域间的每半小时的客运量进行聚合, 得到出租车客运量数据集.
数据集中一共涉及到了某城市的10个区域, 包含100个OD对.选取日期区间为2017/07/31— 2017/09/11(共43 d)作为训练集, 日期区间为2017/09/12— 2017/09/30(共19 d)作为测试集.在本文的实验中对样本按每半小时一次滑动构建新的预测时间段, 因此实验数据共有62× 48=2 976个样本, 训练集包含2 064个样本, 测试集包含912个样本.
本文将提出的STLSTM-PDP模型与其他5种现有的时间序列预测方法进行对比.
Pre:使用前一天同时间段的值作为预测值, 由于本文中预测长度最长为一天, 因此Pre基准方法的预测结果在预测间隔为一天之内时, 不随预测间隔的改变而改变.
HA:使用历史同时间段的平均值作为预测值, 由于预测长度最长为一天, 使用的同时段值均为一天前的值, 因此在预测间隔为一天之内时该方法的预测结果也不随预测间隔的改变而改变.
ARIMA:自回归移动平均模型(Autoregressive Integrated Moving Average Model)是一种著名的时间序列预测方法, 其优势在于短期预测.
LSTM[7]:长短期记忆网络(Long Short Term Memory Network)是一种循环神经网络, 可以捕获时间序列的长期模式.
ConvLSTM[13]:输入变换和循环变换是通过卷积实现的LSTM网络的变形, 是当前最新提出的一种神经网络预测模型, 可以同时捕获时间趋势和临近的空间关系.
本文采用平均绝对误差(MAE)和均方根误差(RMSE)作为评价指标, 具体计算公式如下
MAE=$\frac{1}{n}$$\sum\limits_{i}|x_{i}-\hat{x}_{i}|$ (7)
RMSE=$\sqrt{\frac{1}{n}\sum\limits_{i}(x_{i}-\hat{x}_{i})^2}$ (8)
式中:xi和$\hat{x}_{i}$分别表示真实值和预测值; n表示预测值个数.
本文采用最大最小归一化方法将原始需求量数据归一到[-1, 1]之间, 最后评价模型时, 将预测值反归一回正常值, 然后再与真实值进行比较.
在STLSTM-PDP模型中, 使用了2层STLSTM层和1层融合层, 每次训练的样本数量(batch size)为256. 学习率(learning rate)的设置方面, 尝试了如下取值{0.1, 0.01, 0.005, 0.001, 0.0005, 0.0001}, 综合考虑预测效果及训练速度, 最终将学习率设为0.001.在本文中对未来一天的交通客运需求进行预测, 由于民航需求数据的时间间隔为1 h, 因此预测间隔k在民航需求预测中取[1, 24]; 出租车需求数据的时间间隔为半小时, 因此在出租车需求预测中k取[1, 48].
3.4.1 民航需求预测结果及分析
表1给出了本文提出的STLSTM-PDP模型与5种已有方法的MAE和RMSE值对比, 从表1可以看出, STLSTM-PDP模型由于专门建模了序列之间的空间相关性, 可以很好地描述如转机需求带来的序列之间的相关性, 所以其MAE比其他方法降低了10.8%到41.4%, RMSE比其他方法降低了6.8%到49.1%, 说明本文提出的模型在民航需求预测任务上明显优于其他方法.
![]() | 表1 民航数据集上不同方法的预测结果对比 Tab.1 Performance comparisons of different methods |
图6给出了在民航重点航线客运需求数据集上不同模型的预测误差随k的变化情况.
![]() | 图6 不同预测模型的MAE、RMSE随预测间隔变化(民航重点航线数据集)Fig.6 Comparison of MAE and RMSE along with prediction interval of different models(civil aviation data) |
由于ARIMA模型的RMSE在k> 8时就大于其他模型的最大误差, 且随着k的增大, ARIMA模型的RMSE与其他模型的差距越来越大, 因此未在图中画出.可以看出除了ARIMA在最近的3 h的短期预测有优势外, STLSTM-PDP模型均有较明显优势.HA和Pre方法在k取值为[1, 24]时误差不变, 但仍与STLSTM-PDP模型差距很大, 且实验证明k> 24时预测误差会明显升高.STLSTM-PDP模型误差上升趋势相对平缓.由于STLSTM-PDP显式建模了序列内时间与序列间空间依赖, 能够更好地捕获由转机等因素带来的序列间空间相关性, 因此预测结果明显优于基本的LSTM模型以及仅捕获部分临近序列空间关系的ConvLSTM模型.
3.4.2 出租车需求预测结果及分析
表2给出了本文提出的STLSTM-PDP模型与5种已有方法在出租车数据集上的MAE和RMSE值对比, 可以看出, STLSTM-PDP模型的MAE比其他方法降低了4.4%到8.3%, RMSE比其他方法降低了4.3%到12%.
![]() | 表2 出租车数据集上不同方法的预测结果对比 Tab.2 Performance comparison of different |
图7给出了在出租车需求数据集上不同模型的预测误差随预测间隔k的变化情况.由于ARIMA方法仅在预测1~2个点时有优势, 随k增大误差明显增大, 且与其他方法差距较大, 因此未在图中画出.从图7中可以看出, 深度学习预测模型效果要明显优于传统预测方法, 而LSTM由于仅能捕获时间依赖, 因此效果要比ConvLSTM和STLSTM-PDP差, 而STLSTM-PDP模型由于使用两个通道显式建模了出租车需求量数据的时空依赖, 预测结果具有一定优势, 且随着预测间隔的增大, 性能下降较慢.
![]() | 图7 不同预测模型的MAE、RMSE随预测间隔变化(出租车需求数据集)Fig.7 Comparison of MAE and RMSE along with prediction interval of different models(taxi demand data) |
上述实验结果表明, 本文提出的STLSTM-PDP模型对预测未来较长一段时间的客运需求是行之有效的.
1) 研究了交通领域的需求预测问题, 提出了STLSTM-PDP模型, 设计了一种新颖的STLSTM细胞状态, 采用时空两个通道显式地建模客运需求时间序列的时间依赖关系和空间依赖关系.
2) 在民航重点航线真实订票查询数据集以及某城市出租车客运量数据集上的实验结果证明, 本文提出的STLSTM-PDP模型优于其他现有的预测方法, 极大地提高了准确率, 从而有助于从业人员及时掌控交通领域客运需求的变化动向, 及时进行合理的资源调度与安排, 进而有助于提升交通运营部门的收益和用户的出行体验.STLSTM-PDP模型也为交通领域的时空数据建模问题提供了新的思路.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|