城市交通时间预测的混合神经网络模型

2021-10-23 11:02张龙妹
西安科技大学学报 2021年5期
关键词:特征提取轨迹误差

张龙妹,陆 伟

(1.西安科技大学 通信与信息工程学院,陕西 西安 710054;2.西安财经大学 信息学院,陕西 西安 710100)

0 引 言

交通时间预测一直是基于位置的服务(location based services,LBS)和智能交通系统(intelligent transportation system,ITS)的重要研究内容之一。城市交通时间预测可以归结为轨迹预测问题,当前研究人员对轨迹预测的研究方法总体可以分为2大类:一类是基于理论模型的方法,另一类是基于数据驱动的方法。

基于理论模型的方法通常需要建立一个虚拟的道路网络模型,并利用动态交通分配的原理对模型进行仿真。例如,HANS等人基于变分理论以及充分变分图精确计算干线入口出口的累计计数,并由此推导出动态条件下的轨迹时间分布[1];CASTILLO等人考虑交叉口之间的交通信号协调,建立了一个考虑交叉口随机交通过程的链路出行时间分布分析模型[2]。随着实际交通状况越来越复杂,实际交通路网的建模越来越困难,使得该方法在实际交通时间预测中精度较低,对不同交通场景的适应性较差。

基于数据驱动方法通常使用历史轨迹路线、轨迹速度、道路容量、出发时间等相关变量,通过轨迹序列匹配对当前轨迹进行预测。例如,HADACHI等人基于城市稀疏轨迹数据,使用粒子滤波法以及路段的时间概率分布预测轨迹的行程时间[3];WEDIN等人对历史轨迹数据进行分析,建立具有历史交通模式的数据库并记录下不同道路在不同时间的平均速度,后续通过从历史数据中找到期望的交通模式,进而对轨迹进行预测[4];SINGH等人基于轨迹起始时间和目的地位置对历史轨迹进行聚类,在此基础上通过挖掘频繁的子轨迹对交通时间进行建模并预测[5]。在宏观上,历史轨迹可能存在周期相似性,但微观上,具体到不同日期、时段和道路的交通状态,轨迹相似度将大大降低,该方法预测效果和效率也随之下降。此外,历史轨迹分布一般具有偏态分布的特征,这将进一步影响该方法对于交通稀疏路段和较长里程轨迹的预测。

随着深度学习研究的兴起及其在计算机视觉、语音和自然语言处理方面的广泛应用,该方法在轨迹时间预测方面的应用也得到相关研究人员关注。以机器学习为基础的预测方法分为参数模型和非参数模型2种思路。贝叶斯模型[6-7]和时空隐马尔可夫模型[8-9]是参数模型的典型代表;非参数模型主要包括K近邻算法模型[10]、支持向量机模型[11]和神经网络模型[12]。深度学习是机器学习的一个重要研究方向,非常适合于非线性系统建模,并成为近几年的一个研究热点。卷积神经网络(convolutional neural network,CNN)和递归神经网络(recurrent neural network,RNN)是轨迹预测中应用较为普遍的2种神经网络结构。部分研究将轨迹数据划分为网格数据使用CNN进行处理,以提升路段行驶速度与流量预测精度[13]。RNN是一种适合处理时间序列数据的神经网络模型[14]。例如,DONG等人使用RNN构建了一个自编码器,用以提取轨迹序列中的时间依赖特征,在轨迹分类方面取得了较高的准确率[15]。但传统的RNN模型仅由一个隐层记录历史信息,在输入序列过长情况下会产生梯度消失或爆炸问题。长短期记忆网络(long short term memory network,LSTM network)模型通过引入记忆单元保存相关的历史数据,能有效缓解难以获取的长序列数据间的依赖问题[16]。对交通流的预测研究结果进一步表明,深度神经网络的非线性变换和特征提取更有利于时间预测中的时空相关性提取,从而提高轨迹时间预测准确率[17-20]。

文中在当前研究基础上,提出了一种基于一维卷积神经网络(Conv1d)-长短期记忆单元(LSTM)-残差网络(ResNet)的混合神经网络预测框架(convld-LSTM-resNet travel time estimation framework,CLRTT),并通过城市实际交通数据分析所提出框架的预测效果。

1 CLRTT模型整体框架

CLRTT模型框架包括4个部分:原始轨迹预处理、外部特征提取、时空特征提取和时间预测,模型整体框架如图1所示。

图1 CLRTT模型整体框架

轨迹预处理阶段主要任务是将原始轨迹数据映射到城市道路路网数据之上,并经过排序、采样、分段和匹配等步骤,得到符合实际交通路网的修正轨迹序列,该轨迹序列作为后续时空特征提取组件的输入。外部特征提取组件负责提取影响交通时间的司机驾驶习惯、时间、天气和里程等因素,并将其转换为低维实时向量,以适应神经网络输入要求。时空特征提取组件负责提取轨迹序列的空间相关性以及时间依赖性,分别采用CNN和RNN实现。时间预测组件负责融合外部特征提取和时空特征提取组件输出,并融合局部路径时间预测结果,预测最终轨迹时间。

2 模型描述

2.1 原始轨迹预处理

在目标对象实际移动过程中,基于GPS或北斗等定位技术的位置数据存在一定误差,并且这些位置数据按时间序列直接相连无法反映道路特征,因此,基于位置数据的原始轨迹与城市道路实况不能很好吻合,直接使用原始轨迹数据作为模型输入进行预测将会导致较大的误差,路网匹配是解决这一问题的有效方法[21]。路网匹配是指将移动目标的有序位置数据序列根据算法匹配到电子地图中路网上的过程,基于隐马尔科夫模型(hidden markov model,HMM)[22]的路网匹配算法是当前应用较为广泛的一类算法。文中采用基于HMM的轨迹修正方法,主要流程如图2所示。

图2 轨迹修正过程

2.2 外部特征提取

影响轨迹时间的外部因素有多种,比如不同司机有着不同的驾驶习惯,在同一时段同一路段上驾驶速度不一,进而导致轨迹行驶时间不同。此外,轨迹行驶时间也具有明显的以周为单位的周期性。使用外部特征拟合影响时间预测的主要外部因素,包括:驾驶员编号(driverId)、时间段(time)、星期(week)、天气(weather)、距离(distance)。

2.3 时空特征提取

时空特征提取组件包含2个部分:一部分是Conv1d层;另一部分是RNN层。Conv1d层使用CNN一维卷积提取空间相关性,将轨迹第一维度设置为批大小,第二维度设置为轨迹长度,第三维度设置为通道数,卷积过程如图3所示。

图3 空间相关性提取卷积过程

首先使用更细的粒度将四维轨迹点pi(经纬度、时间以及载客状态信息)通过公式(1)非线性映射到16维度的向量中。其中,pi.lat为轨迹点纬度;pi.lng为轨迹点经度;pi.time为轨迹点时间;pi.lod为载客状态;∘为连接操作;wloc为可学习的权重矩阵。

loci=tanh(wloc·[pi.lat∘pi.lng∘pi.time∘pi.lod])

(1)

然后使用c个大小为f的卷积核对每个局部路径进行卷积(局部路径之间的滑动窗口是1)后通过激活函数ELU得到初步的特征图。考虑到局部路径的长度对于局部路径时间预测的影响,再级联每一个局部路径归一化后的距离向量,最终得到locf特征图,该特征图捕捉了所有局部路径之间的空间相关性。

对于RNN层,使用双层的LSTM模型。从外部因素特征提取组件中输出的属性向量展开级联到Conv1d输出所得到的特征图locf中作为LSTM的输入数据,使用记忆单元记录时间序列中的历史信息,提取局部路径的时间依赖性,前向传播后训练模型得到每一个时间步的隐藏层参数H作为输出。

2.4 时间预测

时间预测组件融合前面2个部分的输出,预测最终的旅行时间。CLRTT模型结合局部预测和整理预测2种方法。对于局部路径预测,输入为LSTM层传来的参数,即隐藏层单元特征序列H[h1,h2,…]。对每一个hi再经过一个单元数分别为64和1的全连接层,将hi转化为数值,进而得到每个局部路径的预测时间;对于整体路径预测,输入仍为H,由于隐藏层单元H分量长度不同,因此需要使用均匀池化(mean pooling)操作,使得每一个局部路径的权重都相同。此外,一段路径预测准确率低主要是由于某些局部路径之间存在较多交叉路口以及交通信号灯等导致的交通拥堵被忽略而导致。为了解决这一问题,模型引入注意力机制,把外部因素特征提取组件中得到的输出属性数据,经线性映射σ后转为与隐层状态相同维度的向量X,经Softmax变换后得到特征矩阵H的权重向量α,最后通过加权求和实现对特征矩阵自适应关注,使模型能够更加准确地提取出轨迹序列的时空特征,得到更准确的轨迹时间预测。变换过程见式(2)。

(2)

模型分别获得局部路径的预测时间和整体路径的预测时间后,使用3层的残差全连接网络得到最终整段路径的预测时间E。

2.5 损失函数与激活函数

(3)

局部路径使用每条训练轨迹上的局部路径的平均绝对百分比误差Llocal作为损失函数,整体路径使用所有训练轨迹的平均绝对百分比误差Letr作为损失函数,以(β*Llocal+(1-β)*Letr)作为最终的全局损失函数,其中β作为权重系数。

模型使用ReLU、Tanh、ELU这3种激活函数。其中,在Conv1d中,卷积后使用ELU激活函数;在双层LSTM模型和注意力机制网络中,使用Tanh激活函数;在残差全连接网络中,使用ReLU激活函数。

3 仿真实验

3.1 数据集与预处理

实验所用轨迹数据选择2014年8月3日到30日之间成都市约13 600辆出租车的每日浮动车GPS位置数据。为防止出现轨迹的稀疏性问题,轨迹时间范围取为每日的6:00至24:00,空间范围覆盖成都市的整个市区。

为了得到适合模型输入的短轨迹序列,基于载客订单将一天的轨迹分割为较小的轨迹序列,并且对轨迹点进行采样,使2个连续点之间的距离差距在200 m到400 m左右。为加快模型训练速度,实验中抽样选取3 600条轨迹作为训练数据,1 400条轨迹作为测试数据。

3.2 模型参数

模型CLRTT基于PyTorch深度学习框架实现,所选数据集包含24 000辆出租车,在模型的外部因素特征提取组件中,将driverID从24 000维降维至16维;将每日以分钟为划分,6:00为起始点,划分为1 440个维度,将timeID从1440维降维至8维;将出发日期的星期由7天降为3维。在时空特征提取组件中,Conv1d层卷积核大小kernel-size设为3*1,使用32个卷积核进行Conv1d运算,LSTM双层网络隐藏层单元参数H的大小为128。在整体路径时间预测组件中,使用注意力网络将外部属性转换为维度128维的权重加到隐藏层单元参数上,最后残差全连接层的固定层数为3,每层单元数为128,以权重参数β设为0.3得到实际最终的损失函数对模型进行训练。

模型训练过程中,迭代次数epoch设为100,mini-batch设为50,使用Adam优化器进行训练,学习率为1e-3,模型中用正态分布N(0,1)来初始化参数。

3.3 对比算法

AVG和KNN是轨迹时间预测最常见的2种方法,并且对于不同数据集具有相对较好的稳定性;而当前基于机器学习的预测方法,数据集不同、数据集预处理方法不同以及模型参数不同都会导致预测结果相差较大。因此文中选取AVG算法和KNN算法作为基准进行对比分析。对于AVG算法,实验中将一天的时间从早上6:00到晚上24:00分割为144个时段,每个时段10分钟,根据历史轨迹前18天的轨迹计算每个时段的平均速度。对于KNN算法,实验中选取k=10作为实验参数,对于一个待预测轨迹,在历史数据中查询与其起点和终点近似的历史轨迹,以其跟待测轨迹的距离作为权重,根据历史轨迹时间的加权和预测待测轨迹时间。

3.4 实验结果分析

为了全面准确地度量不同参数或者其他因素对模型预测轨迹时间的影响,实验中使用均方根误差RMSE、平均绝对误差MAE以及平均绝对百分比误差MAPE作为评估标准对结果进行分析。

3.4.1 权重参数β的影响分析

模型内部参数往往会影响所训练出模型的泛化能力,整体路径和局部路径时间预测的权重β是最直接的可变参数,在其他参数不变的条件下,调整β从区间[0,1]变化,得到模型预测结果误差的MAPE变化情况如图4所示。

图4 模型预测误差MAPE随权重β变化情况

从图4可以看出,当β设置为0.4时,模型预测误差MAPE达到最小,约为12.63%,从整体上看,模型预测误差随β变化波动并不是很大。

3.4.2 数据集质量对预测结果影响分析

为了分析数据集质量对预测模型的影响,本文分别采用原始轨迹数据和经过路网匹配修正之后的轨迹数据作为输入,进行模型训练和验证。在epoch=50,β=0.4情况下,验证集损失函数随训练迭代次数增大的变化如图5所示。

从图5可以看出,对原始轨迹数据集进行路网匹配修正后,模型预测误差明显减小,证实采用路网匹配方法对轨迹数据进行预处理的有效性。

图5 数据集修正前后模型MAPE变化对比

在同等条件下,轨迹数据集路网匹配处理前后模型各项表现见表1。

表1 路网匹配处理前后模型预测效果对比

3.4.3 对比实验

1)不同算法模型预测误差对比。采取路网匹配处理后数据集前18天的数据进行模型训练,后7天的数据进行验证,在相同的数据集和实验环境下,提出的模型与2种常用的轨迹时间预测模型预测结果对比见表2。

由表2可知,相比基于AVG算法和KNN算法的预测模型,文中所提出的预测模型CLRTT在相同条件下的预测精度有了大幅提升。

表2 不同算法预测误差对比

2)模型对不同影响因素的敏感性分析。城市交通环境下,轨迹长度和时间段对轨迹耗时具有较大影响。为了分析预测模型对轨迹长度的敏感性,将测试集中的轨迹以5 km为单位分组,不同算法预测误差对比情况如图6(a)和图6(b)所示。

图6 轨迹长度对预测误差的影响

根据图6(a)中的dist-MAPE对比结果,随着轨迹距离在0~20 km间增大,CLRTT模型的预测误差MAPE总体趋势是减小,在20~25 km时MAPE达到最低点12.63%;根据图6(b)中的dist-MAE对比结果,随着轨迹距离在0~20 km间增大,基于AVG与KNN这2种算法的模型预测误差MAE快速增加,尤其对于大于20 km的长轨迹,预测效果较差,而CLRTT模型的预测误差MAE随轨迹长度增加缓慢增长,而对于大于20 km的长轨迹出现小幅下降。这说明相比于AVG和KNN算法模型,文中提出的CLRTT模型预测误差随轨迹长度的波动相对较小,表现出较好的稳定性。

为了分析预测模型对轨迹时间段的敏感性,实验中以一天作为一个周期,模型对测试集中不同起始时间(包括从早上6:00到晚上24:00)的轨迹时间预测误差情况如图7所示。其中,“Label”点的纵坐标代表的是该轨迹的真实行驶时间,“Prediction”点纵坐标表示的是轨迹的预测行驶时间。

图7 时间段对模型预测精度的影响

从图7可以看出,CLRTT预测模型在不同时段的预测误差MAE大部分在230 s以下,普遍低于400 s,这说明CLRTT模型对于不同时间段的轨迹时间预测具有较好的稳定性和精度。

选取测试集中6:00到24:00之间的18个小时,以小时为时间分段,3种算法模型误差MAPE和MAE对比情况如图8(a)和图8(b)所示。其中横坐标如“06”表示出发时间在6:00到7:00之间。

图8 分时段模型误差对比

从图8可以看出,以一天为周期,3种预测模型在20:00后的误差都较低,而在7:00至9:00、14:00至16:00、18:00至20:00之间,误差都有一个较大的起伏,产生这一现象的主要原因是:在早中晚高峰期中,城市人流量大,路段中的信息变化迅速,而模型并没有把交通管制类路况信息等作为外部因素加入到模型中,因而模型无法响应这类变化。3种模型预测误差随时段变化趋势大体一致,但文中CLRTT模型误差相对更加平稳。

4 结 论

1)基于一维卷积神经网络(Conv1d)-长短期记忆单元(LSTM)-残差网络(ResNet)的混合神经网络预测模型CLRTT,主要由原始轨迹预处理、外部特征提取、时空特征提取和时间预测4个部分构成。

2)实际城市出租车运行轨迹数据上的仿真实验结果表明,采用的原始轨迹预处理方法能够有效提升模型预测精度。对于不同时段和不同长度的轨迹预测,提出的CLRTT预测模型相比于常用的AVG和KNN类算法模型,具有较高的精度和平稳性,尤其在较长轨迹时间预测方面,预测精度提升明显。

3)通过实验结果发现,所有模型对于交通高峰期预测精度均会下降,主要原因在于交通高峰期的交通管制以及突发交通事故影响,而这些因素具有突发性和不确定性,目前很难有效融入模型之中,这一问题值得后续进一步研究。

猜你喜欢
特征提取轨迹误差
解析几何中的轨迹方程的常用求法
北斗导航种萝卜百米误差仅2厘米
轨迹
轨迹
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究