APP下载

基于深度CNN-LSTM-ResNet组合模型的出租车需求预测

2018-09-10段宗涛倪园园SAURABBajgain

交通运输系统工程与信息 2018年4期
关键词:趋势性交通流出租车

段宗涛,张 凯,杨 云,倪园园,SAURAB Bajgain

(长安大学信息工程学院,西安710064)

0 引言

随着Uber和滴滴出行等出租车需求服务的日益普及,人们能够不断收集大型的出租车数据.如何利用海量的离线出租车GPS数据来进行需求预测是一个有趣而关键的现实问题.准确的交通需求预测模型是国内外智能交通系统的研究热点,主要包括基于时间序列的统计模型、非参数预测模型和混合模型等.

在短时交通流量的预测方面,Smith等[1]采用季节性ARIMA模型来预测高速公路交通流.Ma等[2]根据LSTM具有长时间记忆历史数据和自动确定最佳的历史时滞的处理时间序列的能力,采用LSTM神经网络来捕捉短期交通速度预测的长期相关性和非线性交通动态.

随着日益丰富的交通数据,交通科学研究者将深度学习用于解决交通问题.Zhan X.等[3]提出了一种基于卷积神经网络(CNN)的交通流预测方法,使用浮动车的GPS轨迹数据来估算全市的交通量.接下来,Ma等[4]提出了一种大规模交通网络速度预测的深度卷积神经网络,将时空矩阵转换为图像作为CNN的输入.J.B.Zhang等[5]提出了基于CNN的深度时空残差单元来预测城市中的人流量变化.

在混合模型方面,罗文慧[6]利用CNN-SVR混合深度学习模型实现短时交通流预测.尤其是Shi X.等[7]将CNN和LSTM创新地集成在一个端到端的DL结构中,命名为ConvLSTM,从而为解决时空序列问题提供了新的思路.Wu Y.等[8]结合CNN和LSTM的优点,利用一维CNN捕捉交通流的空间特征,并且利用两个LSTM来挖掘交通流量的短期变化性和周期性.

综上所述,随着深度学习的发展,以及人们对时空数据更深入的认识,研究者将其结合应用于交通流预测研究中取得好的成效.但是,在有限的计算条件下,大多数模型不能充分学习交通流的时空特征.另一方面,交通流易受外界因素的影响,包括天气情况、交通事故、交通管制等,这使得交通流经常出现异常状态.为了克服以上挑战,本文提出了一种基于时空图像的预测方法,即CNNLSTM-ResNet(CLR)模型,采用网格划分的方法将城市范围内的大部分出租车GPS数据作为静态图像的集合进行快照,其中每个像素代表单个路段或多个路段的交通区域的流量,利用深层卷积神经网络挖掘整个交通网络中绝大多数链路的空间特征,并使用LSTM学习交通流变化的时空特征.

1 交通流预测框架

本文利用长期的出租车历史GPS数据预测未来几小时中城市居民对出租车的需求.预测的目标是解决一个包含空间层次和时间序列结构的问题,即给定历史观{Xt|t=0,…,n-1},预测Xn.

从这个角度来看,本文的研究对象是一个时空序列预测问题.假设本文在由M行N列组成的M×N网格表示的空间区域上的动态观察系统.在网格中的每个单元格内,都有P个测量值随着时间而变化.因此,任何时候的观测值都可以用X∈RP×M×N来表示,其中R表示观测到的特征域.如果定期记录观察,将得到张量的序列.时空序列预测问题是预测未来最有可能的长度K序列,给出了以前的J个观测值包括目前的一个,如式(1)所示.

1.1 基于时空特征的交通流矩阵

为了综合考虑时间与空间维度上的各种因素对交通流的影响,将历史出租车GPS数据栅格化,处理成带有时空信息的交通流矩阵,处理过程如下.

定义1区域和时间分区.

市区被划分为I×J网格,每个网格代表一个交通区域.考虑在30 min的时间间隔t内累积的交通量.对于位于第i行和第j列的网格(i,j)在时间间隔t的乘客的上车和下车分别定义为

式中:Ts是轨迹集;Ts中的轨迹点pn是地理空间坐标,pn∈grid(i,j)表示点pn位于网格(i,j)内;|∙|表示集合的基数.在第t个时隙内,在I×J区域内的乘客上、下车流量可以表示为张量Xt∈R2×I×J,其中

依据文献[9]的方法,本文以30 min为时隙建立时空矩阵,如式(3)所示.矩阵中的每一项Xloni,latj表示在t时隙的(i,j)网络区域的交通流量,即为本文模型输入的时空矩阵Bt.

式中:loni、latj分别为点x的经纬度坐标.

在城市道路网络拓扑方面,西安市道路网络是典型的方格式网络结构,比较适合进行网格划分.西安市经度范围为(34.181,34.370),纬度范围为(108.829,109.076),本文采用32×32的网格,每个交通小区的实际大小为[0.657 km×0.859 km].将1天分成48个时间段,统计每30 min所有交通小区的乘客上车和下车的次数.如1图所示,将交通小区的数据转换为栅格数据,其颜色越深表示该网格中上车或下车的乘客越多.

图1 交通流数据转换为二进制矢量图Fig.1 Traffic flow data is converted to binary vector illustration

1.2 时空轨迹数据的特征

由于早晚高峰、节假日和季节变化的影响,交通流会出现不同状态.接下来,从局部和整体两方面来分析交通流数据所具有的临近性,周期性和趋势性的特征.

(1)临近性.

图2显示了1天里工作区进出客流量的临近性特征.可以看到早上和中午进入工作区的客流量较多,同时,晚上和下午离开工作区的客流较多.可以看到每个时段的客流量变化受其前一时段的影响,而且它也影响后一时段的客流量.

图3为西安市的流入客流量的热力图,图中“hour:6.5”是指在6:00-6:30期间流入客流量的热力图,其他同;图中颜色越深表示进入交通小区的乘客越多,可以看出7:00,11:00和18:00时人流量较多.

(2)周期性.

图4为工作区和居住区在1周内的交通流状况,可以明显看到工作区和居住区的进入客流量具有周期性,且工作日的峰值比节假日的峰值高.

图2 工作区的交通流Fig.2 The traffic flow of work area

图 5 中,“2016010912~2016011512”依次表示星期六、日、一、二、三、四、五西安市范围5:30-6:00的乘客流入热力图.可以看出,节假日的交通流较少,工作日的客流量较多,且在星期二、星期三和星期四偏多.

图3 西安市的流入交通流Fig.3 The inflow traffic in Xi'an

图4 工作区和居住区的周期性Fig.4 Periodicity of work area and living area

图5 西安市的交通流的周期性Fig.5 Cyclical traffic flow in Xi'an

(3)趋势性.

图6显示3个月期间,从秋季到冬季,天气变冷,人们21:00-21:30进入工作区的流量减小,回到居住区的流量增多,体现了时空数据的趋势性.

图7为西安市区连续5个月,每月12日5:30-6:00的交通流热力图,表明从1月到5月随着温度的升高,人们在此期间的活动逐渐增多.

图6 工作区和居住区的趋势性Fig.6 Trends of work area and living area

1.3 模型的网络结构

首先根据式(3)从原始轨迹数据中提取Xclose,Xperiod和Xtrend,以矩阵形式(图1)输入到模型中.该模型首先使用卷积神经网络(CNN)捕获局部范围交通流量的空间特征,然后采用残差单元加深网络层数,并利用长短期记忆网络(LSTM)学习时空数据的时间临近性、周期性和趋势性,再使用CNN捕获城市范围的交通流量的空间特征,通过相应的权重融合以上3个分量,最后Xcpt与外部因素Xext(由节假日,天气,温度,风速,PM2.5组成,并按时间序列排列的矩阵,将它们馈送到两层完全连接的神经网络)融合,从而预测每个地区的交通流状况.根据文献[4]和1.2节的结论,轨迹数据具有临近性,周期性和趋势性,因此选择不同的时间戳并连接在一起,分别模拟临近性,周期性和趋势性.接下来,构建模型如图8中的Xclose,Xperiod和Xtrend这3个组件,并且与卷积神经网络共享相同的网络结构.这3个组件的第1个CNN用于提取如图3所示的临近性特征;第2个CNN可以提取图5所示的工作区和居住区的周期特征;从第3个CNN的结果可以看出图7中不同地区的趋势不同.如图9所示,本文利用2维CNN来捕捉交通网络的空间特征,模型的输入是表示一个城市范围交通状态的二进制矢量图.

图7 西安市的流入交通流的趋势性Fig.7 Trend of inflow traffic in Xi'an

图8 CLR模型及参数Fig.8 The CLR model and its parameters

图9 CNN捕获城市范围交通流Fig.9 CNN captures city-wide traffic flow

卷积算子为

式中:*表示卷积运算符;f表示激活函数;W表权重矩阵;b是偏置数.

临近性,周期性和趋势性的3个分量的卷积算子为

基于权重的融合可以写成

式中:W(1),b(1)分别表示是第1层中的参数;H表示融合;c是临近性,表示实际的时隙为30 min;p是周期性,表示1天;tr是趋势性,表示1周.

最后进行众源数据融合时,使用tanh函数将轨迹特征数据XRes和外部数据XExt融合,预测t时隙的出租车需求为

式中:tanh是双曲正切函数,确保输出值在[-1,1];Hst是图8的时空分量的输出;Wst和WG是参数.

利用均方根误差(RMSE)来衡量本文中交通流预测的性能,即

式中:observedt是第t个测试样本的真实值;predictedt是第t个测试样本的预测值.

2 实验分析

2.1 实验数据

研究所使用出租车的GPS数据来源于西安交通管理中心.研究的出租车共11 300多辆,数据收集时间为2016年1~5月(114天)和9~11月(88天).本文对错误和异常的交通流数据做了预处理,研究的时间范围为全天.

从网上公开数据集0①外部数据集:https://www.wunderground.com/history/airport/ZLXY/2018/4/4/DailyHistory.html?req_city=Xianyang&req_statename=China手动提取节假日,如表1所示,西安市的天气、温度、风速和PM2.5的数据.17种天气类型使用二进制表示,其中每一位都代表一种天气.当某一位的标志为1时,表示这一时隙的天气类型,比如晴天为“10000000000000000”.当多个位标志为1时,所以表示这一时隙为组合天气类型,比如晴~多云指的是“11000000000000000”.

表1 外部数据集Table 1 External data set

2.2 定性分析

参数设置:CLR模型的优化器是用Adam进行训练的;卷积核的大小为3×3;学习率设为0.001;衰减参数设置为0.9;batch-size设置为32;损失函数是均方误差(MSE);CLR模型训练的迭代次数为98.模型利用正态分布N(0,1)来初始化参数.使用python语言在tensorflow和Keras构建模型和实现预测的,并使用图形处理单元(GPU)来加速模型学习过程.选择数据集最后2周的数据作为测试数据,并将之前的所有数据作为训练集.

(1)提出方法的变体进行比较.

为了验证所提出的CLR中的临近性,周期性和趋势性特征对预测结果的影响.本节评估CLR_CPTM的3个退化模型,包括CLR_C,CLR_CP,CLR_CPT.与CLR-CPTM模型相比,CPT不考虑外部因素,CP不包括趋势分量和外部因素,C仅使用临近性.从图10中可以看到CLR_CPTM效果显著,表明周期性和趋势性对预测更为重要.

图10 数据特征影响Fig.10 The data features impact

对比CLR不同残差层数所得到的均方根误差(RMSE)结果,结果显示,RMSE随着残差单元数量的增加而减少,表明使用残差单元加深模型的复杂度,能够提高准确率.

(2)与交通流常用的模型进行比较.

为了验证模型的有效性,本文选取了5个模型(HA,ARIMA[10],CNN,ConvLSTM[9],ST-ResNet[7])与CLR做性能比较,其中深度学习模型CNN,ConvLSTM,ST-ResNet设置的参数值与CLR中的保持一致.接下来对5个模型进行介绍:

①历史平均值(HA).通过对应时间段内的历史流入和流出来预测当前的交通流,本文中对应时间段均为所有历史20:00-20:30.

②自回归整合移动平均值(ARIMA).把交通流时间序列的数据结构分解为线性自相关结构,将移动平均值和自回归分量组合用于建模时间序列.

③ConvLSTM.具有LSTM的时序建模能力,还可以通过CNN捕获局部特征,因而能够对时空数据的时空特征进行学习.

④CNN.1个卷积层可以很好地描述空间区域的近地依赖性,2个卷积层可以进一步描述远地的依赖性.深层卷积层,可以模拟城市中任何两个地区之间的附近和遥远的空间依赖关系.

⑤ST-ResNet[7].采用残差神经网络的CNN框架来分别模拟人群流量的临近性,周期性和趋势特征.

如表2所示,从各个模型的预测结果来看,HA预测和ARMIMA预测误差较大;CNN预测,cnnv2dLSTM和ST-ResNet表现出类似的精度,表明时空特征在短期交通流预测中具有相似的预测性能.CLR与5个模型在短期交通流预测相比中,表现出较好的准确度,因为CLR考虑了时空特征,学习了全市范围的交通流所具有的空间特征和时间规律性.由于LSTM是长短期记忆网络,CLR可以执行长期预测.

表2 模型对比Table 2 The model comparison

接下来,分别对工作日、节假日的出租车需求预测,首先排除HA和ARIMA的结果,是因为它们表现不佳.可以看到工作日的预测结果最好,节假日预测比整体预测还差.因为在工作日,人们通常有规律的生活方式,上班族要按时上班,学生要按时上学等.而在节假日,人们的生活方式各不相同,很难预测居民对出租车需求.

为了评估本文方法的可行性,比较节假日与工作日的预测误差,根据文献[11]定义为分别是工作日和节假日的平均预测误差.如表2所示,工作日和节假日误差均最小的是CNN,但CNN仅对车辆GPS数据的空间特征进行预测,忽视了时间特征;而ConvLSTM、ST-ResNet、CLR同时考虑车辆GPS数据的空间和时间特征,相比之中,误差相对增加最小是ConvLSTM,但工作日和节假日误差较大;虽然CLR的工作日和节假日误差均比ST-ResNet大,但CLR的节假日与工作日的相对误差比STResNet小.更重要一点,在CLR模型中的LSTM能够长期学习和记忆历史数据,因此CLR的预测(不区分工作日、节假日)误差为7.714 403,而STResNet达到了8.427 856.

为了验证1.2节中时空轨迹数据具有的特征,比较3个模型对1星期的7天分别做预测.从图11可以看到ConvLSTM分别对1星期内不同时间预测的RMSE都为8.75左右,最大误差为0.06.因为ConvLSTM利用CNN卷积乘客在进入和离开每个交通小区的空间位置,LSTM学习和记忆乘客的历史上下车时间,但没有考虑现实中的复杂的交通状况,此外,如果给定的交通流受很多因素影响,局部错误可能会累积,因而不能有效的模拟现实交通.ST-ResNet和CLR均考虑影响乘客对出租车需求的多种关联因素,融合了时空轨迹数据和外部影响数据,因而更加接近现实中乘客对出租车需求.其中星期二~四的RMSE比较低,因为这3天属于工作日的中间时段,居民有固定的生活方式,对出租车需求也比较固定.例如人们从居住的地方乘车上班,按时上下班.节假日2天的RMSE比较高,是因为在节假日时,人们各自有不同的生活方式,对出租车需求也不同.而星期一和星期五受节假日的影响,星期一是经历2天节假日后,也是1周工作的开始;星期五是连续5天工作日的最后1天,同时代表着节假日的开始.CLR比ST-ResNet在1周内的RMSE小,再一次证明了CLR模型的LSTM能够记忆和学习更长的历史数据,进而模拟更加接近现实的出租车需求,验证了图5的结论.实验证明,CLR可以预测未来7天的交通流,且均方误差较小.如果有更多的训练数据,模型预测的结果可能更精准,预测的时间越长.

图11 不同日子的预测结果Fig.11 The Predict Results of Different Days

3 结论

在本文中提出了一种新的基于深度学习的出租车需求预测模型,即根据历史轨迹数据,节假日和天气预测城市每个地区居民的出租车需求.本文利用西安市的出租车数据评估了模型,预测结果超过5种常用的预测方法,证实了本文的模型更适合出租车需求预测.

本文从宏观上分析了西安市的出租车需求问题,局部只针对居住区,工作区研究,未考虑交通路网的复杂性,下一步的研究将考虑复杂的交通路网相关信息,对城市具体的路段和更为丰富的地区(娱乐区,工作区,商业区,旅游景点等)分类研究乘客的出租车需求,从而增强预测模型的泛化能力,进一步提高算法的适用性.

猜你喜欢

趋势性交通流出租车
基于LSTM的沪渝高速公路短时交通流预测研究
京德高速交通流时空特性数字孪生系统
乘坐出租车
农产品流通竞争力的趋势性和区域分异性
凭什么
基于M—K方法及成分提取的海洋表层热状分析
开往春天的深夜出租车
李书福炮轰出租车
路内停车对交通流延误影响的定量分析
混合非机动车交通流超车率影响因素模型