龙空技术网

基于GBDT算法的高速公路分车型交通流短时预测模型

交通科技 347

前言:

眼前咱们对“gbdt算法案例”都比较珍视,各位老铁们都想要知道一些“gbdt算法案例”的相关文章。那么小编同时在网摘上网罗了一些关于“gbdt算法案例””的相关文章,希望各位老铁们能喜欢,看官们一起来学习一下吧!

张耀方 陈坚

重庆交通大学交通运输学院

摘 要:为了准确预测高速公路短时交通流量,以制定科学合理的运营管理方案,运用高速公路联网收费数据和外界环境天气数据,实现数据清洗、预处理,挖掘得到日期、时段、车型等有效特征,构建基于GBDT算法的交通流短时预测模型。以成渝高速公路短时交通流预测为实例分析对象。结果表明,预测误差较BP神经网络模型、RF模型、SVM模型分别降低4.43%、0.32%、1.01%,表明模型具有较好的可靠性和有效性。

关键词:高速公路;交通流量;联网收费数据;预测模型;GBDT算法;

基金:重庆市教育委员会人文社会科学研究规划项目,项目编号19SKGH208;

在交通强国的背景下我国高速公路路网结构日趋完善,经济条件改善伴随着汽车保有量迅速增加。截止2019年我国高速公路网络规模总里程已经达到14.96万km 位居世界第一、机动车保有量达3.48亿辆(其中汽车保有量达2.6亿辆)。故高速公路出行成为居民城际出行的主要选择方式,使得高速公路网络面临着巨大的流量压力,而高速公路收费站作为高速公路交通路网的敏感点,积累了海量通行数据,对高速公路的交通流量进行准确地预测有助于民众明智地选择出行时间及路线,提升出行质量。也可为交管部门路网分流控制或者诱导服务提供依据,通过提升预测结果的准确性来实现改善高速公路服务水平和通行能力的目的。

短时交通流预测一直是智能交通系统的研究热点,境内外关于交通流预测的研究主要围绕基于统计理论、非线性理论、神经网络等方法开展,建立了大量预测模型,如时间序列模型、卡尔曼滤波模型、非参数回归模型、神经网络模型等[1]。Smith等[2]将非参数模型与ARIMA模型对比,提出非参数模型还存在着优化空间;Vlahogianni等[3]指出基于数据驱动的机器学习方法自动提取交通流相关特征成为众多学者在交通流预测问题中的研究热点;许岩岩等[4]对美国某高速路网交通数据研究提出一种基于CART分类回归树的交通流预测方法;张平等[5]基于信息熵的概念,提出了基于高速公路OD稳定模式的出口流量预测方法,其方法能跟踪到某个站点的流量异常变化;张兰芳等[6]考虑货车因素用遗传算法优化SVM建模,在数据集较小时提高了高速公路交通流的预测性能。王祥雪等[7]对交通流时间序列分析,构建基于LSTM-RNN神经网络的交通流预测模型,根据实时预测精度自适应更新训练模型,预测模型的实用性和扩展性得到了增强。上述方法均能在一定程度上预测交通流量,但分类回归树模型易存在过拟合问题,对不同数据集适用性差;SVM建模是凸优化问题,可得全局最优解,但其核函数的选择没有统一的指导标准,预测精度较低;神经网络模型着重强调训练过程易使模型的泛化能力受到限制,搭建神经网络复杂方法便捷性较差。而集成学习算法具有防止过拟合、泛化能力较强等优点,梯度提升树(Gradient Boosting Decision Tree, GBDT)[8]是集成学习的一个代表算法,本研究选用GBDT算法进行建模对高速公路交通流量进行预测。高速公路系统是一个具有高度非稳定性和非线性的复杂系统,天气变化、时间变化等因素对原本封闭的高速公路系统的交通状态影响极大,而且不同车辆类型具有较强的不确定性和随机性,现有学者[9]对分车型的车流预测相关研究以单一车型预测后再进行系数折算,基于深度学习的方法较少。故本研究考虑星期、时段等时变特征的情况下,提出了一种基于GBDT的高速公路分车型的短时交通流预测方法。

1 基本理论

2001年Friedman J H提出的GBDT算法是由多颗决策树迭代将结论累加形成最终结果。每一棵决策树的构建都使得残差(真实值和预测值之间的差值)向梯度方向减小,在逐次迭代中使得模型残差不断减小。利用损失函数来评价模型性能,认为损失函数越小,性能越好。让损失函数沿着梯度方向下降,就能不断改进模型提升性能,该算法的优点是实验数据能同时允许连续值和离散值。GBDT算法过程如下。

(1)初始化弱学习器:

f0(x)=argminc∑i=1NL(yi,c)f0(x)=argminc∑i=1ΝL(yi,c)

(2)对m=1,2,…,M重复①~③三步。

①样本i=1,2,…,N,计算负梯度:

rmi=−[∂L(yi,f(xi))∂f(xi)]f(x)=fm−1(x)rmi=-[∂L(yi,f(xi))∂f(xi)]f(x)=fm-1(x)

②将rmi作为样本新的真实值,并将数据(xi,rmi),i=1,2,…,N作为下棵树的训练数据得到一颗新的回归树fm(x)对应的叶子节点区域有Rjm,j=1,2,…,J。对叶子区域j=1,2,…,J计算最佳拟合值γjm=argminγ∑xi∈RjmL(yi,fm−1(xi)+γ)γjm=argminγ∑xi∈RjmL(yi,fm-1(xi)+γ)。

③更新fm(x)=fm−1(x)+∑j=1JγjmI(x∈Rjm)fm(x)=fm-1(x)+∑j=1JγjmΙ(x∈Rjm)

(3)得到回归树:

fM(x)=f0(x)+∑m=1M∑j=1JγjmI(x∈Rjm)fΜ(x)=f0(x)+∑m=1Μ∑j=1JγjmΙ(x∈Rjm)

其中损失函数可以是平方损失、指数损失函数等多种方式。本文采用平方损失函数即L(y,f(xi))=(y-f(xi))2,利用损失函数的负梯度作为模型残差的近似值。

式中:M为回归树迭代次数;N为样本数;rmi为第i个样本m次迭代的负梯度函数;fm(xi)为第i个样本在m棵回归树的流量预测函数,L(y,f(xi))为损失函数。

模型的训练过程如图1所示,把收费站的交通流量f0作为输入的初始值,要预测某时段的流量 fi(x)=Ti1(x)+Ti2(x)+…+Tim(x)。

图1 GBDT算法训练

2 基于GBDT算法的收费站交通流短时预测模型

高速公路联网收费数据可以反映经由高速路网的车辆的多项信息,车辆的高速公路起讫站点、相应的进出时间、车辆类型、车牌号、实际里程等关键信息,体现了收费数据的时空特征性。预处理按照数据集成、数据清洗、数据变换与规约三步进行。数据集成有机地整合收费数据、路网数据、天气数据;数据清洗是对建立好的数据仓库中的数据进行筛选、纠错,如缺失值、无效值,并进行处理;数据变换与规约则将来自不同数据源的数据按照统一规范进行格式化操作,如统一日期格式为“YYYY-MM-DD”,并剔除无关属性。

2.1特征工程

由于机器学习中不必要的特征会降低训练速度,影响数据集的泛化能力,每个特征会对模型产生不同的影响,为降低计算复杂度、提高模型精度,需选取与目标变量相关的特征。结合交通流特性和现有数据情况,选取以下重要特征训练模型。

(1)星期特征。

星期特征即“周几”规律,将高速公路上某收费站5月“周几”的平均交通流量进行统计分析,发现一周中每天的变化趋势都不同,图2呈现某站5月平均交通流量“周几”变化趋势。故模型应将星期作为一个重要特征进行训练。

图2 某站5月平均交通流量“周几”变化趋势

(2)时段特征。

将高速公路上某收费站5月每天的交通流量以小时为单位进行统计分析,因该站11日和22日收费数据缺失值比较多,为不影响规律总结而剔除。分析高速公路在一个月内连续每一天的流量分布呈相似的规律变化,不同时段的交通流量变化很大,流量分布呈现早晚高峰的双峰模式,图3呈现某站5月每天各小时交通流量变化。故模型将时段作为一个重要特征进行训练。

图3 某站5月每天各小时交流流量变化

(3)车型特征。

将高速公路上某收费站5月的交通流量分车型按“周几”计算平均值,分析发现客车和货车车流量变化的规律性有不同的特点,图4呈现某站5月客货车的平均交通流量变化情况。故模型将车型作为一个特征进行训练。

图4 某站5月客货车的平均交通流量变化

(4)天气特征。

利用爬虫代码从天气网(http: //lishi.tianqi. com/chengdu/)获取2018年历史天气数据,将天气数据和高速公路上某收费站的交通流进行多源融合处理,根据天气情况选取5月8日为雨天、15日为晴天、29日为多云、30日为阴天,分析发现天气会影响人们的出行选择,不同天气类型的流量变化情况不同。故模型将天气类型作为一个特征进行训练。

图5 某站5月不同天气类型的交通流量变化

2.2数据处理2.2.1连续数据的处理

交通流量数据为连续值,本文采用max-min规范化,使处理后的结果值映射到[0 ,1]之间。转换函数如下:

x∗=x−xminxmax−xminx*=x-xminxmax-xmin

式中:x为原始值;x*为转化后的值;xmax、xmin为样本数据的最大、最小值。

2.2.2离散数据的处理

星期、时段、车型、天气为离散类型数据,需要将离散特征进行抽象化的处理。本文采用独热编码(One-Hot编码),即使用N位状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候,其中只有一位有效。编码后每一维度的特征都可以看作是连续的特征,就可以对每一维特征进行归一化。比如:星期特征编码后为7维向量,星期一表示为向量[1,0,0,0,0,0,0],星期日表示为向量[0,0,0,0,0,0,1]。经过处理后的样本数据如表1所示, 其中w1~w7为星期位、h1~h24为时段位、c为车型位(0:客车,1:货车)、s为天气位。

表1 预处理后数据

Input

Output

w1

w2

w7

h1

h2

h24

c

s1

s2

s3

s4

T

T+1

1

0

0

1

0

0

1

0

0

0

1

0.002 2

0.005 2

0

1

0

0

1

0

1

1

0

0

0

0.001 1

0.003 6

0

0

0

0

0

0

1

0

1

0

0

0.009 61

0.020 2

0

0

1

0

0

1

0

1

0

0

0

0.196 31

0.599 5

2.3基于GBDT模型的高速公路交通流短时预测算法

基于GBDT模型的高速公路流量短时预测算法步骤,流程框架如图6所示。

图6 基于GBDT算法的短时交通流预测流程

(1)样本数据进行特征工程和归一化等处理之后,将全部的训练数据X随机选择x的样例构建训练集,剩余的作为测试集。假设当前时段的交通流量为qi(t),则下一时段qi(t+1)的训练样本为 xi=(w(t),h(t),c,s(t),qi(t)),其中w(t)表示星期数据,h(t)为24维时段向量,c为1维车型数据,s(t)为天气数据。

(2)确定本研究损失函数(平方损失)和模型的评价指标。

(3)根据已知训练数据调整参数来训练模型,本文参数包括最大采样率(α)、学习步长、回归树的数量以及树的深度。

(4)将测试集输入到模型中,得出预测结果f(x)=T1(x)+T2(x)+…+Tm(x),其中 f(x)为预测结果,Tm(x)为第m棵树的结果。

(5)将预测结果反归一化处理,进行模型评估。

2.4模型评价指标

本文采用平均绝对百分比误差(Mean Absolute Percentage Error, MAE) 和均方根误差(Root Mean Square Error, RMSE)对预测的性能进行分析,其值越小则表示预测结果越准确。各指标定义及表达式如下。

(1)平均绝对百分比误差(Mean Absolute Percentage Error, MAPE) 是实际值与估计值差值除以实际值取平均,其能够消除由于计量单位不同或者原始数值的大小不同而造成的影响。

MAPE=1n∑i=1n∣∣∣∣yi−yi∧yi∣∣∣∣×100ΜAΡE=1n∑i=1n|yi-yi∧yi|×100%

(2)均方根误差(Root Mean Square Error, RMSE)为实际值与估计值差值的平方取平均值后再开平方,可以体现出估计值与实际值之间偏差的大小。

RMSE=1n∑i=1n(yi−yi∧)2−−−−−−−−−−−−−√RΜSE=1n∑i=1n(yi-yi∧)2

式中:yi 表示第i个实际值;yi∧yi∧表示第i个预测值;n表示数据个数。

3 实例分析3.1数据集

本研究选取2018年5月四川省高速公路ETC收费数据(表2),共计14 888万条,日均约496万条流水记录,其中包含四川省内548个收费站的信息。在oracle数据库进行数据清洗过程中,发现原始数据中存在很多异常数据,主要采取了以下清洗方式:删除重复数据、修正异常平均行程车速数据、去除虚拟收费站等情况。

表2 联网收费数据集介绍

序号

字段名称

代表意义

数据示例

1

ExTime

出口时间

01-5月 -18 03.48.32.000000 下午

2

ExStation

收费站编号

460

3

EnStation

入口站号

060

4

EnTime

入口时间

01-5月 -18 03.22.34.000000 下午

5

VC

最终车型[1-5:客车;11-15:货车]

1

6

VT

车种[1:普通车;2:军车;5:生鲜车]

1

7

RealDistance

实际里程(m)

41 278

8

VLP

车牌号

川A***Y2

3.2预测场景

成都作为国家西部地区中心城市,成渝双城经济圈纳入国家重要发展规划。近年来成渝高速公路交通量日益增多,成渝高速公路各重点收费站的交通拥堵现象逐渐明显。根据相关部门确定,未能及时快速掌握成渝高速公路各路段的实时路况以及缺少交通流量预警信息是造成收费站出现拥堵的主要原因。而成渝成都站作为成渝高速公路收费站的典型代表,故为验证模型的有效性,本文选用成渝成都站的交通流量数据进行实验。训练数据为2018年5月1日至31日的数据,预测数据为2018年6月1日~14日共两周的数据,数据粒度为1 h。

3.3实验结果分析

实验环境采用Python3.7和sklearn模块,编程工具:Pycharm + Jupter Notebook 。

3.3.1参数实验分析

GBDT模型的参数调优分为基于Bagging的框架参数、基于Boosting的框架参数以及决策树的参数。Bagging的框架参数包括最大采样率(α)以及最大迭代次数;Boosting的框架参数包括学习步长(learning_rate)、子树的最大数量(n_estinmators);决策树的参数主要指树的深度(max_dapth)。本文使用网络搜索(GridSearch)法调优,得到α=0.9、learning_rate=0.2、n_estinmators=350、max_dapth=5时模型达到最优。从图7中可以得出,预测趋势与实际值的趋势比较吻合,平滑段预测效果较好,拐点处预测波动较大,拐点处的精准预测将作为下一步研究的改进方向。

3.3.2不同特征的实验分析

在本实验中,尝试评估不同特征的有效性。比较了以下几种变体模型的模型性能。GBDT为上文提出的模型;GBDT1为不考虑星期特征;GBDT2为不考虑天气;GBDT3为不考虑车型。结果表明,GBDT性能最优,验证了全局特征的有效性。GBDT1性能最差,故在所有特征中星期特征是最有效的。这一结果与已有的许多研究成果一致,认为高速公路交通流通常具有较强的周期性。

3.3.3不同条件下的实验分析

在本实验中,尝试研究不同条件下的模型性能。时段的划分见参考文献[10],评估了高峰时段工作日、非高峰时段工作日、高峰时段节假日、非高峰时段节假日的模型性能。实验结果如表4所示,结果显示:在非高峰时段工作日模型性能更好,可能是交通流模式在异常情况下(如高峰时段、节假日)更不稳定。

3.3.4与基准模型的对比实验分析

为了分析文中预测模型的有效性及预测效果,本文将其他学者们常用的交通流预测方法,随机森林(Random Forest)、BP神经网络和支持向量机(Support Vector Machine)进行了对比实验。除了前文提到的评价指标外,加入了模型的训练时间作为性能方面的指标分析。从表5可以发现,基于分类树修剪枝的RF模型结果与GBDT最接近,模型预测误差高0.32%,训练时间略低;SVM模型核函数的确定困难,模型训练时间最短,但预测误差高1.01%;BP神经网络计算速度慢,训练时间最长,且预测误差高4.43%。本文方法具有较好的可靠性和有效性,可以提升交通流量短时预测的精度。

图7 2018年6月1日0时至14日24时成渝成都站客货车交通流量预测值和真实值对比

表3 不同特征的实验结果

算法

MAPE/%

RMSE

GBDT

6.64

519.11

GBDT1

6.82

526.02

GBDT2

6.68

520.94

GBDT3

6.67

520.41

表4 不同条件下的实验结果

算法

MAPE/%

RMSE

高峰时段工作日

6.69

520.99

非高峰时段工作日

6.64

519.11

高峰时段节假日

6.71

521.32

非高峰时段节假日

6.65

520.11

表5 几种模型的预测指标对比

算法

MAPE/%

RMSE

训练时间/s

GBDT

6.64

519.11

357

RF

6.96

539.02

348

SVM

7.65

579.45

262

BP

11.07

667.39

453

4 结语

为了准确预测高速公路的交通流,利用联网收费数据提出了基于GBDT的预测模型,利用oracle数据库进行样本数据的清洗,提取出星期、时段、车型等特征再融合天气数据,通过网格搜索法调优参数,然后设置最优参数实现模型预测。同时,将GBDT模型预测的评价指标和RF、SVM、BP模型进行了对比。应用场景选取成渝高速公路的成渝成都站作为预测点,验证了本文方法具有较好的可靠性和有效性。为不同时段站点的分类别运营管理、路网分流控制或者诱导服务、提升改善高速公路服务水平等方面提供科学依据。

本文所建立的模型仅基于单个高速公路站点进行了实证研究,下一步将预测粒度更加细化,并加入考虑路网复杂性等空间特征来改进模型,进行时空相关的流量预测研究。

参考文献

[1] 刘静,关伟.交通流预测方法综述[J].公路交通科技,2004,(3):82-85.

[2] Smith B L,Williams B M,Keith Oswald R.Comparison of parametric and nonparametric models for traffic flow forecasting[J].Transportation Research Part C:Emerging Technologies,2002,10(4):303-321.

[3] Vlahogianni E I,Karlaftis M G,Golias J C.Short-term traffic forecasting:Where we are and where we’re going[J].Transportation Research Part C:Emerging Technologies,2014,43:3-19.

[4] 许岩岩,翟希,孔庆杰,等.高速路交通流短时预测方法[J].交通运输工程学报,2013,13(2):114-119.

[5] 张平,张明欣,宋国杰,等.基于OD稳定模式的高速公路出口流量预测方法研究[J].交通运输系统工程与信息,2012,12(3):122-128.

[6] 张兰芳,赵焜.考虑货车因素的高速公路短期交通流风险预测[J].同济大学学报:自然科学版,2018,46(2):208-214.

[7] 王祥雪,许伦辉.基于深度学习的短时交通流预测研究[J].交通运输系统工程与信息,2018,18(1):81-88.

[8] Friedman J H.Greedy Function Approximation:A Gradient Boosting Machine[J].The Annals of Statistics,2001,29(5):1189-1232.

[9] 周桐,杨智勇,孙棣华,等.分车型的高速公路短时交通流量预测方法研究[J].计算机应用研究,2015,32(7):1996-1999.

[10] 邢雪,于德新,田秀娟,等.基于数据挖掘的高速公路行程时间预测[J].华中科技大学学报:自然科学版,2016,44(8):36-40.

标签: #gbdt算法案例