APP下载

基于CNN-XGBoost混合模型的短时交通流预测

2019-09-20

测控技术 2019年4期
关键词:交通流量交通流检测器

(中国科学技术大学 信息科学技术学院,安徽 合肥 230022)

交通诱导系统和交通控制系统是智能交通系统的两大核心子系统[1],交通流预测的好坏直接关系到交通诱导和交通控制的效果。根据预测的时间长度,交通流预测分为短时交通流预测和长时交通流预测[2]。长时交通流预测一般以时、天或者月为单位,受到影响因素多,导致预测精确难以提高,因此实用性较弱。相对来说,短时交通流预测的实用性更强,一般认为短时交通流预测是指预测的时间跨度不超过15 min[3]。

已有的短时交通流预测模型主要有非参数预测模型、统计学模型、概率图模型和混合模型等[4]。Kumar等人[5]利用改进的自回归整数移动平均模型建立预测模型能达到一定的精度,但是只适用于平稳的交通流状态。Sun和Zhang[6]使用贝叶斯网络解决短时交通流预测,对北京市交通路段进行实验,取得了一定的精度。随着大数据时代的到来,以机器学习、深度学习等以数据驱动的技术,成为近些年来研究的热点,并成功地在交通领域解决了不少问题。Yang等人[7]将GBDT(Gradient Boosting Decision Tree)模型[8]用于短时交通流预测,但是该方法过度依赖于人工构造特征的好坏。Zhao等人[9]运用长短期记忆模型对不同时间跨度的交通流进行预测,但是并没有考虑交通流的空间特征。Wu等人[10]用一维卷积神经网络挖掘出交通流空间特征,再结合两个长短期记忆模型挖掘交通流短时周期性特征,该方法虽然考虑了空间特征,但是由于使用的是一维卷积神经网络,所以空间特征的挖掘能力有限。Wang等人[11]提出了带误差反馈的卷积神经网络模型对交通流进行预测。在组合模型方面,雷斌和温乐等人[12]提出组合模型来提升预测精度,其组合模型包括改进的K近邻非参数回归和小波神经网络,该组合模型对于非平稳的输入也能表现出良好的变焦能力,同时在短时交通流预测精度也有明显提升。

以上模型虽然将深度学习运用到了交通流预测领域,并且取得了不错的效果,但是,交通流的时间和空间特征并没有被深入挖掘。同时,传统的机器学习方法在交通流预测方面的劣势在于需要人工构造、过滤特征等。本文结合这两类方法的优势,利用卷积神经网络自动特征提取和特征选择等特点,有效地提取出交通流的时空特征,抽象出交通流的本质特性,将其作为输入向量,输入到XGBoost模型进行交通流预测,避免了人工构造、过滤特征,同时保证了模型的预测精度。

1 CNN模型和XGBoost模型

1.1 CNN模型

CNN(Convolutional Neural Network,卷积神经网络)是一种包含卷积层的深度神经网络模型,近年来在图像任务上取得了不错的效果,通过局部连接、权值共享以及下采样等[13]解决了全连接神经网络参数过多等问题。从结构上看,CNN是一个多层的神经网络,主要由卷积层、下采样层和全连接层构成。考虑通道唯一的情况,CNN第l层输入记为xl∈RHl×Wl,xl经过第l层的操作后得到输出xl+1∈RHl+1×Wl+1。

1.1.1 卷积层的构造

卷积层主要是使用卷积核来提取输入的不同特征,CNN层数越深,所需的卷积核个数一般越多,卷积操作可表示为

(1)

式中,(il+1,jl+1)为卷积结果的位置坐标,并且满足:

0≤il+10≤jl+1

(2)

其中,wi,j为卷积核学习到的权重;H和W为卷积核尺寸。

1.1.2 下采样层的构造

下采样层具有特征不变性、特征降维和防止过拟合等作用,常用的下采样有最大池化和平均池化。平均池化为

(3)

最大池化为

(4)

1.1.3 全连接层的构造

全连接层功能是将提取到的特征表示映射到样本标记空间,该层是一个普通前馈神经网络,则有:

xl+1=f(wxl+b)

(5)

式中,w为权重矩阵;b为偏置矩阵;f为激活函数,可以选择Relu函数或者Sigmoid函数等。

1.2 XGBoost模型

(6)

式中,F={f(x)=wq(x)}(q:Rm→T,w∈RT),F表示回归树空间;w为回归树叶子节点权重;q为回归树的结构,把每个样本节点映射到对应叶子节点索引;T为叶子节点个数。为了学习到该模型的参数,需要最小化目标函数:

(7)

式中,l为损失函数;Ω为对模型复杂度的惩罚。XGBoost算法属于前向分步算法,即在第t轮迭代的时候,加入新的模型ft,需要最小化下面的目标函数:

(8)

XGBoost算法使用二阶泰勒展开进行优化,二阶泰勒展开后得到:

(9)

去掉常数项后,目标函数简化为

(10)

令Ij={i|q(xi)=j}为叶子节点j包含的所有样本,则目标函数可改写为

(11)

(12)

式(12)可以用于评估树结构q的质量,由于枚举所有可能的树结构的时间复杂度太高,因此一般使用贪心算法来确定树结构,即遍历所有可能的特征,选取特征的值作为分割点,计算划分前后的增益来确定划分方式。记I为分裂前样本集合,则I=IL∪IR,其中IL和IR为分裂后左叶子节点样本集合和右叶子节点样本集合,则增益计算公式为

(13)

2 本文模型(CNN-XGBoost)

2.1 模型的网络结构

考虑到传统机器学习方法需要人工对交通流提取特征,因此人工构造特征的好坏直接决定了模型性能的上限,而CNN模型可以实现端到端的学习,中间的特征可以通过模型自动学习得到。XGBoost模型是一系列分类回归树的组合,优势在于不容易过拟合、训练速度快和可解释性强。结合二者的优点,提出了CNN-XGBoost模型,使用CNN模型自动提取不同层次的特征,然后将得到的特征向量作为输入给XGBoost模型进行交通流预测。其中CNN模型由两个卷积层和一个全连接层组成,模型具体的网络结构如图1所示。

图1 CNN-XGBoost模型结构图

2.2 基于时空特征的输入矩阵

要预测监测点P在时刻t的交通流量,可以从时间和空间两个角度考虑。在时间上,短期内交通流量不会产生突变的情况,下一时刻交通流可以认为是上一个或者多个时刻交通流量的延续。在空间上,监测点P的交通流量必然会受到上下游交通流量的影响。综合考虑这两个角度的影响因素,把原始交通流量数据转化为一种包含时间信息和空间信息的二维特征矩阵。该特征矩阵的纵轴方向是按照检测器空间位置先后顺序排序,在横轴方向则是检测器监测的数据按照时间先后顺序排序,记xp,t为检测器P在t时刻的交通流量,则对应的输入矩阵为

(14)

式中,U为上游检测器个数;D为下游检测器个数;T为时间间隔长度。

2.3 模型的训练过程

CNN-XGBoost混合模型的训练过程分为两个过程。首先是CNN模型的训练,该过程主要是网络的前向传播和反向传播,前向传播主要体现了特征信息的传递,而反向传播则是通过误差信息对模型的参数进行矫正,经过若干次训练,直到模型收敛。然后通过得到的模型对输入的样本集合自动提取特征,作为XGBoost模型的输入,一旦XGBoost模型训练完成,则整个模型训练完毕。在CNN模型上采用MAPE(Mean Absolute Percent Error)作为损失函数,训练过程中的优化算法采用RMSprop(Root Mean Square Prop)算法,在XGBoost模型中采用平方损失函数。模型的训练过程如图2所示。

图2 模型训练过程

3 案例分析

3.1 数据描述

本文实验数据来源于美国加利福尼亚运输部的性能测量系(PeMS)数据库。为了验证本文模型的预测效果,使用了Los Angeles County内高速公路标号为I10-E的13个线圈检测器的交通流量数据,数据的采样间隔时间为5 min,数据的时间跨度为2017年4月1日到2017年10月27日。其中预测点检测器的编号为P(718415),上游检测器编号为U1(717022)、U2(717020)、U3(717016)、U4(717014)、U5(716036)、U6(717011),下游检测器编号为D1(763963)、D2(764249)、D3(717028)、D4(716047)、D5(716050)、D6(717032),时间间隔长度T为12。训练数据集为2017年4月1日到2017年10月16日,测试数据集为2017年10月17日到2017年10月27日,总共有57241个训练样本和2951个测试样本。

3.2 模型参数设定和实验结果

本文中CNN-XGBoost模型的参数大多为经验数据,其中CNN模型中卷积层个数为2,卷积核大小均为3×3,卷积核个数分别为64和128;全连接层的神经元个数为512,激活函数为Sigmoid函数。为防止过拟合,引入dropout层,参数设置为0.2;batch-size设置为64;XGBoost模型中学习率为0.1,最大树深为8,其他参数采用默认值。为了验证本文模型的有效性,选取CNN模型、XGBoost模型和CNN-XGBoost模型互相做比较,3种模型的参数设定保持一致。为了比较不同模型的预测结果以及定量评价模型的预测性能,采用如下4个评价指标:平均绝对差值(Mean Absolute Error,MAE)、平均绝对百分比误差(Mean Absolute Percent Error,MAPE)、均方根误差(Root Mean Square error,RMSE)和拟合度R2,定义分别如下:

(15)

(16)

(17)

(18)

表1 交通流预测性能指标

图3 CNN模型的预测结果

图4 XGBoost模型的预测结果

图5 CNN-XGBoost模型的预测结果

4 结束语

智能交通系统中,准确预测交通流对交通控制和诱导具有重要意义,针对短时交通流预测问题,提出一种应用CNN模型结合XGBoost模型的短时交通流预测方法。设计了两层卷积层CNN模型加XGBoost模型混合模型,并将原始交通流数据转化为带有时空信息的二维数据作为卷积神经网络输入。最后利用PeMS高速公路标号为I10-E的路段进行模型性能分析,实验表明,该模型比CNN模型和XGBoost模型具有更高预测精度,是一种有效的短时交通流预测方法。

本文实验选取的数据来自高速路段,未考虑城市路段的复杂性,下一步将结合城市路段进行研究分析,使模型具有更强的泛化能力,提高本文模型的普适性。

猜你喜欢

交通流量交通流检测器
基于LSTM的沪渝高速公路短时交通流预测研究
京德高速交通流时空特性数字孪生系统
基于XGBOOST算法的拥堵路段短时交通流量预测
基于二次否定剪切选择的入侵检测方法*
基于GA-BP神经网络的衡大高速公路日交通流量预测
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
口腔综合治疗台水路回吸检测器的研制与应用
路内停车对交通流延误影响的定量分析
混合非机动车交通流超车率影响因素模型