APP下载

基于深度网络的出租车Pick-up需求预测

2021-02-27

计算机与现代化 2021年2期
关键词:解码器编码器出租车

李 巍

(杭州电子科技大学计算机学院,浙江 杭州 310018)

0 引 言

随着近些年来信息技术的不断发展,特别是如滴滴出行、Uber等互联网叫车业务在日常生活中的广泛普及,出租车在城市交通系统中的地位日益突出。然而,当前这个庞大的业务依然面临着许多效率低下的问题(例如乘客过长的候车时间和出租车司机过多的空载行程数)。在这种情况下,如果能够构建一个精确的区域出租车需求预测模型,就可以高效解决上述供需不平衡问题。

许多学者对预测出租车需求进行了深入的研究。文献[1]将泊松(Possion)模型和差分整合移动平均自回归(ARIMA)模型组合在一起,共同完成短期内乘客在空间的分布情况。周丰[2]应用PageRank对城市交通系统的时变复杂特性建模,并建立相应的ARIMA模型预测热点区域下一时间间隔的乘客数量。王成安[3]基于支持向量机(SVM)时空网格模型的出租车需求预测方法,建立了出租车需求序列的时间关系和空间关系从而预测出城市特定区域的出租车需求。郭宪等人[4]基于大量多元历史数据,通过特征提取和迭代学习建立GBRT预测模型实现网约出租车需求动态预测。文献[5]将气象数据添加进一个统一的线性回归模型,用于完成对若干兴趣点附近出租车需求的预测工作。文献[6]则是结合Daubechies5小波分析和最小二乘支持向量机(LS-SVM)构造出一个用于指定区域短期出租车需求的预测模型。

近年来深度学习在计算机视觉和自然语言处理领域上展现出杰出的性能,因而激励了研究人员将深度学习技术应用在交通数据预测问题上。例如文献[7]通过二维时空矩阵将时空交通动态转化为相应的图像,并应用CNN解决速度预测问题。文献[8-9]提出了时空残差网络完成交通流量的预测。谢开强等人[10]使用LSTM完成居民出行预测任务。林友芳等人[11]提出了一种基于时空LSTM的出发地-目的地(OD)客运需求预测模型(STLSTM-PDP),预测未来一段时间所有OD的客运需求量。张国兴等人[12]为了提高循环神经网络(RNN)的预测精度,将SDZ应用到RNN中,相比RNN预测方法不仅提高了预测精度,也降低了训练时间。黄敏等人[13]在使用深度神经网络预测出租车需求时添加了时空相关性分析机制,减少了过拟合现象,提高了需求预测的准确性。尹康[14]提出了一种基于LSTM的关联时间序列相关性建模方法(双通道LSTM),相比传统LSTM的内部结构,采用2个通道有利于显示对时空依赖特征的建模。

随着深度学习技术的进一步发展,越来越多的研究者选择将组合深度学习模型迁移到区域的出租车需求预测领域。例如路民超等人[15]综合考虑多个影响出租车需求的因素,通过建立多因素时空卷积网络模型(MFSTGCN)精确地预测出租车需求。文献[16]通过组合LSTM和自动编码器(autoencoder)来捕获序列前后的依赖关系,用来实现极端条件下的交通数据的预测工作。文献[17-18]将混合密度网络(mixed density network)添加到LSTM网络用于预测各个区域的未来时刻的出租车需求。文献[19]提出了一个多深度多视角时空网络来预测出租车需求,即分别使用CNN和LSTM对时空数据建模。除了前面提到的卷积神经网络以及循环神经网络以外,编码器-解码器框架也常应用于处理序列数据[20-21]。文献[22]提供了一个基于ConvLSTM的带有注意力机制的编码器-解码器框架预测未来区域的pick-up和drop-off需求。

考虑到深度学习模型的杰出性能,本文在层次注意力机制的循环高速网络(Hierarchical Attention-based Recurrent Highway Networks, HRHN)的基础之上,提出一个多时间分辨率的HRHN模型(Multi-time Resolution Hierarchical Attention-based Recurrent Highway Networks, MTR-HRHN)。MTR-HRHN具备同时考虑空间关系和时间依赖特性的功能,因此能够输出较为精确的预测数据。

1 HRHN模型介绍

HRHN模型是由Tao等人[23]于2018年提出的一个用于预测时间序列数据模型,已经在预测股指系数等问题上得到应用。HRHN是一个基于编码器-解码器框架的深度学习模型,它的结构如图1所示。对于每个HRHN,编码器包含CNN和循环高速网络(Recurrent Highway Network, RHN)。前者用于从外生数据的不同组成成分中学习空间上的相关信息,后者则是在不同语义层次上,对来自卷积神经网络的输入数据在时间上的依赖性建模分析。解码器中的RHN用来捕获待预测区域历史目标数据在时间上的依赖信息,同时还包含了一个新颖的层次注意力机制,从而能够选择相关的已编码处理后的多层语义信息。

图1 HRHN结构

1.1 编码器

1.1.1 卷积神经网络用于空间关联

给定外生输入(x1,x2,…,xT-1),编码器就可以对每个时刻的输入数据应用独立的局部卷积,以了解xt(1tT-1)的不同成分之间的相互作用。对于某个时间区间t,假设该时间区间对应的卷积层数为Kc,第u层的特征图数为Fu,并且将所有层的卷积核固定设置为1×q,那么在第u层的f型特征图的第i个卷积单元可以由公式(1)计算得到。其中k(u,f)是位于第u层的f类型特征图,γ是激励函数,在卷积神经网络中通常是ReLU函数。另外,对于第1层卷积神经网络而言,对应的公式(1)的输入数据是外生数据,即当u=1时,

(1)

另外,为了防止过拟合现象和提高训练效率,在2个连续的卷积层之间加入了最大池化层。假设采用l×s最大池化过程,相应的计算过程如公式(2)所示:

(2)

经过若干层卷积和最大池化处理后,将得到的输出数据馈送到全连接层,从而得到一个局部特征向量序列(w1,w2,…,wT-1)。

1.1.2 RHN用于外生数据时间动态

在经过卷积神经网络处理后,RHN将被用于对外生序列数据的时间动态建模。RHN由LSTM拓展而来,具备从不同的语义级别捕获复杂时间属性的功能。

(3)

1.2 解码器

为了预测在未来T时间区间的目标数据yT,在解码器中还包含另一个RHN解码输入信息,这样不仅可以捕获历史目标数据的时间动态,而且可以捕获其与历史外生数据之间的相关性。此外,在解码器中还加入一种基于不同层次发现语义的层次化注意力机制,以自适应地选择过去的相关外生特征。该层次注意力机制的结构如图2所示。

图2 层次注意力机制结构

1.2.1 层次注意力机制

尽管高速网络(highway networks)允许信息跨层流动,但存储在不同层中的信息可以捕获不同级别的时间动态,因此将对预测目标序列的未来行为产生影响。为了充分利用多级表示及其与历史观测值的交互作用,层次注意力机制会根据前一个解码层的输出数据计算出每一层编码器的隐藏层状态的软对齐。于是在第k层上的注意力权重可以通过公式(4)计算得到:

(4)

其中,T表示时间区间的长度,Tk和Uk表示第k层的非线性变换矩阵。

(5)

最后,对于任意时间区间t,通过公式(6)合并该时间区间不同层的所有子上下文向量,就可以得到提供给解码器的上下文向量。

(6)

一旦获得上下文向量,就可以将它与给定的解码器的输入数据,即历史目标数据(y1,y2,…,yT-1)按照公式(7)组合,得到一个表示相互作用的时间相关向量,将它作为解码器中RHN的输入数据。

(7)

1.2.2 RHN用于目标数据时间动态

与编码器中RHN层的操作类似,解码器中的RHN层的描述如公式(8)所示:

(8)

最终,通过公式(9),就可以得到未来 时间区间的目标数据的预测值。

(9)

2 模型构建

本文将HRHN模型应用到区域的出租车pick-up需求预测,需要根据需求数据自身的特性对原有模型的实施过程进行一些补充和优化。这一部分主要涉及如何设置属于需求数据的外生数据,以及如何将HRHN模型进行优化,以适应需求数据包含多个时间模式的特性。

2.1 外生数据的生成

对于某个指定区域的pick-up需求数据,首先相邻区域的pick-up需求数据是最有可能相关的,这主要是因为近处的事物相比远处的事物更相关。其次,即使是地理上相距较远的区域,如果它们都具有相似的需求模式,那么这些区域也有作为潜在关联外生数据的可能。最后,除了上述提到的pick-up需求数据之外,其他区域的drop-off需求数据也具有一定的关联性,这可能是因为在一个区域内生成了大量的pick-up需求,就有一定的概率给邻近或者其他区域在未来带来更多的pick-up需求。

在确定需求数据对应的外生数据的主要来源后,对于任意指定编号为i的区域,就可以按照如图3所示的流程生成待预测区域的外生数据(x1,x2,…,xT-1)。

图3 pick-up需求数据对应外生数据生成流程图

2.2 MTR-HRHN模型的构建

考虑到需求数据往往蕴含多个时间模式,本文从多时间分辨率角度考虑构建预测模型。本文提出一个如图4所示的MTR-HRHN模型,它由输入层、HRHN层以及合并层组成。其中,输入层用于采用不同的时间分辨率(采样间隔)从未来T时间区间以前的目标区域的pick-up需求数据和历史外生数据中切分出相应的序列。HRHN层由3个结构相同的HRHN组成,分别用于对目标区域历史pick-up需求数据和历史外生数据的紧密(closeness)、周期(period)和趋势(trend)这3个时间属性建模。合并层用于将所有HRHN模型的输出数据进行合并操作,并最终输出未来T时间区间目标区域的pick-up需求数据的预测值。

图4 MTR-HRHN结构

2.2.1 输入层

在closeness部分,从最近(recent)时间段分别选择Lclose个时间区间的目标区域(编号为i)历史外生数据Xi,close=(xT-Lclose,…,xT-2,xT-1)和历史pick-up需求数据Yi,close=(yT-Lclose,…,yT-2,yT-1)对时间上的紧密依赖建模。

同样,在period部分,从邻近(near)时间段分别选择Lperiod个时间区间的目标区域(编号为i)历史外生数据Xi,period=(xT-Lperiod×SP,…,xT-2×SP,xT-SP)和历史pick-up需求数据Yi,period=(yT-Lperiod×SP,…,yT-2×SP,yT-SP)对时间上的周期依赖建模。

同理,在trend部分,从遥远(distant)时间段分别选择Ltrend个时间区间的目标区域(编号为i)历史外生数据Xi,trend=(xT-Ltrend×St,…,xT-2×St,xT-St)和历史pick-up需求数据Yi,trend=(yT-Ltrend×St,…,yT-2×St,yT-St),它们将用于对时间上的趋势依赖建模。

值得注意的是,这里的SP和St是2种不同类型的周期。其中SP=12,用于描述半天的周期规律;St=24,用于描述一天的周期规律。

2.2.2 HRHN层

2.2.3 合并层

最后,将每个HRHN模型的输出数据与对应的权重矩阵相乘后求和,即按照公式(10)所示的操作,就可以得到未来T时间区间内目标区域的pick-up需求预测值。

(10)

(11)

3 实验与结果分析

3.1 数据集划分

本文选择2019年1月1日—2019年3月31日的纽约市黄色出租车出行记录数据(https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page)作为此次实验的数据集。其中数据集中最后2周的数据作为测试数据,其余数据作为训练集。另外,从训练集中选择20%的数据作为验证集。

3.2 时间区间划分和区域划分

在时间区间划分上,本文设置每个时间区间的长度为1 h,将每天划分为24个时间区间。在空间区域划分上,本文使用纽约市官方制定的出租车区域划分方案:它把纽约市的5个大区(Bronx、Brooklyn、Manhattan、Queens、Staten Island)按照不同行政功能划分成一系列区域块,从而方便市政部门进行管理,同时也更有易于城市运营商理解(https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page)。例如图5就是Manhattan大区的区域划分结果,图片中每个多边形表示一个特定区域。本文则是从Manhattan区选择12个高需求的区域(编号分别为:42、79、142、161、162、163、170、186、230、234、236、237)用于后续的模型训练及性能的测试。

图5 Manhattan区域划分结果

3.3 评价指标

(12)

3.4 参数设置

在实验中,将强线性相关阈值r设置为0.7。MTR-HRHN的编码器中的卷积神经网络层数Kc设置为3,卷积核大小1×q设置为1×5,最大池化过程中的1×s设置成1×2。MTR-HRHN中编码器中RHN的层数与解码器中RHN的层数相同,Kr均设置成3,并且隐藏层向量的维度设置成128。closeness部分对应的序列长度Lc设置成4,period部分对应的序列长度Lp设置成2,trend部分对应的序列长度Lt设置成2。

3.5 比较方法

将本文方法与以下几种方法比较:

1)历史平均值法(HA)。HA使用在训练集中相同相对时间间隔(即一天中的同一时间)给出的位置上的先前需求的平均值来预测需求。

2)差分整合移动平均自回归模型(ARIMA)。ARIMA是时间序列预测领域一个经典的模型,它结合了移动平均(MA)和自回归成分(AR)来对时间序列进行建模。

3)线性回归(LR)。在统计学中,线性回归是利用线性回归方程的最小平方损失函数来对一个或者多个自变量和因变量之间关系建模的一种回归分析方法。

4)多层感知机(MLP),也可以称为人工神经网络。除了输入层和输出层之外,还可以包含若干层隐藏层。

5)XGBoost。XGBoost是一种Boosting算法,这样一个强大的树推进算法目前在数据挖掘领域得到广泛的应用。

6)长短途记忆网络(LSTM)。LSTM能够有效处理RNN梯度消散问题,在时序数据处理方面具有很强的性能。

7)CNN+LSTM。这个时空深度网络使用CNN提取目标区域与其邻近区域(实验中的邻近区域是那些与目标区域直接相连的区域)在空间上的相关信息。紧接着使用LSTM网络处理CNN的输出信息,进一步提取时序上的特性。

表1总结了所有方法的结果,可以看出MTR-HRHN模型在性能上优于其他模型。这是因为尽管有一些模型(例如XGBoost)和其他的一些神经网络模型(例如MLP、LSTM)也具有一定的学习非线性数据的能力,但它们的表现还是比本文模型差。主要原因在于它们都无法同时提取时间和空间信息,而CNN+LSTM虽然能够提取这些复合信息,但相较于本文模型对外生数据的提取仍然不够充分。

表1 模型比较结果

总的来说,本文提出的深度网络模型相比以上所有对比模型都能取得更精准的预测结果,这是因为本文的预测网络能够同时从时空2个角度挖掘相关信息,并且由于采用了多个时间分辨率挖掘数据的内在规律,相比单个时间分辨率挖掘了更多的时间模式,从而进一步强化了模型的预测性能。

4 结束语

本文通过拓展已有HRHN模型和补充相关实施细节,提出了一个MTR-HRHN模型对区域未来时刻的出租车pick-up需求进行预测,相比其他预测方法,更进一步地提取出需求数据在时空上的动态联系。实验针对2019年前3个月的纽约市开源出租车数据进行预测及验证,通过均方根误差和平均绝对百分误差的对比,可知MTR-HRHN模型取得了较为优秀的预测结果,说明该模型在区域的出租车需求预测上具有一定的帮助作用。

猜你喜欢

解码器编码器出租车
科学解码器(一)
科学解码器(二)
科学解码器(三)
乘坐出租车
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于FPGA的同步机轴角编码器
凭什么
基于双增量码道的绝对式编码器设计
开往春天的深夜出租车
李书福炮轰出租车