改进粒子群优化XGBoost模型的高速公路服务区交通量预测

2021-12-23 04:38孙朝云吕红云杨荣新魏振荣郝雪丽裴莉莉
北京交通大学学报 2021年5期
关键词:交通量服务区当量

孙朝云,吕红云,杨荣新,魏振荣,郝雪丽,裴莉莉

(1.长安大学 信息工程学院,西安 710064;2.陕西高速公路服务有限责任公司,西安 710000)

随着我国高速公路建设的不断推进和居民汽车保有量的持续增加,人民群众对美好出行的要求也日益提高,期望在服务区休憩和接受服务的时候,获得更多的幸福感和满足感.然而,我国大多数服务区修建时间较早,在布局规划初期没有相关建设指南进行参考,对交通量的发展趋势缺乏长远考虑,导致服务区的基础设施配置已经无法满足过往车辆和游客的服务需求,停车场、加油站、餐厅和公共厕所等区域常常出现大量拥堵和排队现象,给人们出行带来严重的阻碍.

近年来,高速公路服务区改扩建的需求日渐旺盛,很多服务区虽然提出了扩建申请,但由于没有相应标准,且相关管理部门意见不统一,致使服务区是否改扩建及改扩建规模较难决策.对于新建和改扩建的服务区,需首先预测驶入该服务区的车流和人流量,并结合基础设施种类计算其配置规模,然后给出服务区建设和人员管理费用方案[1].因此,如何科学合理的评估现有服务区的服务能力,并对改扩建服务区的设施配置给出量化建议,既节约投资成本又提高服务水平,成为当前值得重视并迫切需要解决的问题.

随着智慧高速公路和智能感知技术的发展和普及,多源异构交通量数据集日趋完善,将人工智能和机器学习技术应用于智能交通建设领域取得了显著的成效[2-4].通过将高速公路服务区各种基础设施运营数据和动态感知数据进行融合,构建多源异构的信息存储数据库,充分挖掘和利用交通量时空特征,建立基于数据驱动的交通量监测和分析平台,对高速公路服务区车流和人流量进行有效的量化和预测[5-6],是科学合理评价高速公路服务区服务能力的重要技术手段和先导.

早期的交通量预测主要依靠ARIMA时间序列和卡尔曼滤波模型展开[7-9].文献[10]将季节因素与高速公路交通站点间的空间依赖性相结合,提出了一种融合季节向量的自回归滑动平均模型对短时交通量进行预测.文献[11]将维纳滤波原理和经验模态分解(Empirical Mode Decomposition,EMD)相融合,提高了时间序列交通流的预测精度.随着计算机技术和深度学习的发展,文献[12]在对交通流的预测中采用了多任务深度信念网络(Deep Belief Network,DBN),该算法相较于传统学习方法,在多路口场景下预测精度显著提升.文献[13]利用模拟退火算法首先对花朵授粉算法进行改进,提出了一种基于相空间重构的SFPA-SVM 短时交通量预测模型.文献[14]以交通量预测模型的输入特征重要性为研究脉络,提出一种基于随机森林的短期和长期交通量预测模型.文献[15]综合考虑交通流时间和时空序列关系,提出用XGBoost算法对未来道路平均旅行时间进行预测,取得了较好的预测效果.文献[16]提出一种基于一维卷积神经网络和长短期记忆(1DCNN-LSTM)的短期交通量预测方法,结果表明1DCNN-LSTM的结构可以进一步提高预测精度.文献[17]通过分析时间序列数据的周期性和平稳性,提出一种基于LSTM-XGBoost模型的城市道路短期交通流量预测方法,可以实现有效的流量指导和流量控制.针对高速公路服务区交通量预测还面临以下问题:1)将交通量预测与高速公路服务区领域相关联的研究尚少.2)高速公路服务区的历史驶入交通量数据较少且获取困难,仅仅依靠少量的一维时序数据无法建立准确度较高的服务区交通量预测模型,同时在交通量预测方法中还没有引入服务区相邻截面处交通量调查数据这一重要空间特征去构建多维时空交通量特征.3)现有的交通量预测只考虑时序的整体交通量[18-19],缺乏交通量按类型的细致划分,且大多只考虑车流量,忽略了基于不同车种类型的人当量预测.

因此,本文作者构建集成学习XGBoost模型对高速公路服务区的交通量进行预测,并利用改进粒子群算法(IPSO)对XGBoost模型各参数进行优化,最终建立起IPSO_XGBoost交通量预测模型.该模型选取固定时间粒度的交通量调查数据为主要输入特征,与该交通量调查数据相对应的高速公路服务区交通量数据为预测标签,研究建立了小型车、大型车、货车、车当量和人当量五种具体车型的交通量时序预测模型.随着智慧交通和智能信息感知系统的不断完善,本文的技术方法和获得的相关性规律有助于服务区相关部门对服务区运营状态进行全面掌握和科学管理,及时开展对服务区基础设施服务能力的评价工作,并结合评价等级,不断提升服务区基础设施现代化服务水平,促进服务区高质量发展.

1 服务区交通量和调查数据预处理

选取韩城服务区和该路段相应的交通量调查数据为建模对象,原始数据集包含6、7、8三个月的时间.由于服务区交通量和交通量调查数据的特征字段不一致,因此需要进行数据质量提升,将时间尺度对齐和特征字段统一化.同时,将交通量以固定时间维度规约为小型车、大型车、货车三种具体车型类别,然后转换为车当量和人当量.

实际获取的韩城服务区交通量数据以天为单位进行文件存储,每日交通量数据字段为车牌号码、路口名称、车道、方向、车牌类型、过车时间、车速、车牌颜色、车身颜色、车辆类型以及车辆颜色深浅.与该服务区对应路段的交通量调查数据以小时为单位进行统计,主要字段有小时、行驶方向及各种车型的流量.

为了得到模型可用的有效输入数据,需要对服务区交通量和交通量调查数据在时间维度上进行车型类别统一化,然后折算出车当量和人当量.本文以小时为单位将服务区和交通量调查数据的交通量进行归档整理,归档标准化后的车型为小型车、大型车和货车3种类别,再根据相应比例折合为车当量和人当量,具体处理流程如图1所示,车当量和人当量计算比例见表1.

图1 时间尺度对齐和特征维度统一化过程Fig.1 Time scale alignment and feature dimension unification process

表1 车当量和人当量计算比例

经过一系列的数据预处理工作后,共得到交通量数据集2 136条,包括6月份720条、7月份744条以及8月份672条.数据集分为小型车、大型车、货车、车当量和人当量5种,图2给出了这5种数据集在服务区交通量和交通量调查数据上的时序分布曲线.

从图2中可以得出,各种类别的交通量时序分布在服务区和交通量调查数据间都呈现出一定的统计学规律,且服务区交通量和交通量调查数据存在内在的时序映射关系.因此本文引入交通量调查数据作为重要的交通量时空特征,服务区交通量为标签,构建IPSO_XGBoost预测模型是合理和可行的.

2 服务区交通量预测

2.1 改进PSO算法基本理论

本文对高速公路服务区交通量进行建模和预测时,待优化的XGBoost模型超参数较多,传统的粒子群优化算法已经不能搜寻到理想的超参数[20],因此需要对粒子群优化算法进行改进,赋予粒子群更强的寻优能力.为了增强粒子的局部搜索能力同时避免陷入局部极值,本文从以下两个方面对粒子群优化算法进行改进.首先对粒子群的拓扑结构进行改进,将粒子群划分为主粒子和从粒子,获得多个改进粒子组,通过调整改进粒子组中各个主从粒子的速度和位置,提高粒子对最优解的搜寻能力.改进后的粒子群拓扑如图3所示.

由图3可知,通过该拓扑结构,可将粒子群划分为N个改进粒子组,每个改进粒子组都由一个主粒子和多个从粒子构成.在迭代寻优过程中,每个改进粒子组中主粒子的位置为该主粒子和所属区域内所有从粒子的历史位置最优值,而从粒子区域的位置仅为该区域内所有从粒子的历史位置最优值,通过比较所有改进粒子组中主粒子的位置适应度就可以得到全局最优值.

图2 服务区交通量和交通量调查数据时序分布

利用该拓扑结构后,粒子群的寻优过程按如下步骤进行:

1)将粒子群中的所有粒子按照初始时刻粒子的适应度值从大到小排列,选取前N个粒子作为主粒子,N为正整数,将所述粒子群中除了主粒子以外的所有粒子作为从粒子.

2)将每个主粒子作为聚类中心,采用K-Means聚类的方法将所述的从粒子进行分类,获得多个从粒子组,所述的每个从粒子组中从粒子个数相同.

图3 改进型粒子关系拓扑Fig.3 Topology of improved particle relationship

3)将每个从粒子组与其对应聚类中心的主粒子作为改进粒子组,获得N个改进粒子组;

4)利用式(1)和式(2)对改进粒子组中主粒子和从粒子的速度进行更新;

(1)

(2)

5)根据更新的速度值利用式(3)和式(4)进行主从粒子的位置更新;

xmi(t+1)=xmi(t)+vmi(t+1)

(3)

xsij(t+1)=xsij(t)+vsij(t+1)

(4)

6)根据主从粒子更新后的位置参数,重新计算适应度值,进行迭代寻优.

通过上述过程可以得出,采用提出的改进型粒子群关系拓扑结构时,当某区域的从粒子组陷入局部最优时,其他主粒子群也能够尽最大可能跳出局部极值,向全局最优搜索,提高参数优化的精度.

另一方面,在传统的粒子群优化算法中,φ1和φ2都是固定值,一般取0~2之间的常数,一定程度上限制了粒子的全局搜索能力和局部搜索能力.因此引入线性递增和线性递减函数对该部分也做出改进,改进公式如下

(5)

(6)

式中:φ01和φ02为学习因子的初始值;t和G分别为当前迭代次数和最大迭代次数.则改进后主从粒子的速度更新公式如下

(7)

(8)

综上,改进后的粒子群优化算法流程见图4.

图4 IPSO流程图Fig.4 IPSO flowchart

2.2 XGBoost模型基本理论

XGBoost是对GBDT提升树模型进行改进和优化的一种算法,其目标函数由两部分构成,分别是训练损失函数和正则化项.XGBoost模型并不是一次训练出所有的决策树,而是通过不断地加入新的决策树来优化目标函数,以残差的方式不断进行迭代,最终建立预测模型.

XGBoost的核心问题是如何确定树的最佳结构.对所有可能的树结构以枚举的方式确定和寻求最优得分值是难以实现的,往往需要非常大的计算量.因此XGBoost采用贪心算法来搜寻最优的树结构,每次选取增益最大的分割点进行分裂,增益为

(9)

式中:G为信息增益,等式右侧四项依次表示分割方案的左子树分值、右子树分值、不分裂情况下的分值和复杂度正则化惩罚系数.当树达到了深度限制或所有节点分裂方案出现G<0时,树停止分裂.

本文构建XGBoost模型时,分别以各种交通量的时序交通量调查数据为主要特征输入,与之对应的时序服务区交通量为标签,通过IPSO优化模型各参数取值以最小化目标函数,建立起最优的树结构模型.

3 服务区交通量数据预测模型构建

通过对原始交通量数据的质量提升,得到6、7、8月份服务区和交调站点的小型车、大型车、货车、当量和折算人数交通量数据集各计2 136条,在五种交通量数据集的模型构建过程中,选取80%的样本数据集进行模型训练和参数优化,剩余的20%作为测试集对模型的性能进行最后的评估.对XGBoost模型而言,其主要超参数包括学习率(learning_rate)、最小叶子节点样本权重和(min_child_weight)、树的最大深度(max_depth)、节点分裂所需的最小损失函数下降值(gamma)和L2正则化项的权重(lambda).为了避免在参数调优过程中出现投机性和计算量大等弊端,将改进型粒子群优化算法和XGBoost模型构建相结合,通过IPSO算法优化模型超参数的取值,以此来提高模型的预测性能.

在IPSO_XGBoost模型训练阶段,选取粒子的适应度函数为模型的预测准确度ACC,首先随机初始化粒子的种群数,设定模型各个参数的初始值和取值范围,并利用IPSO算法优化各个参数的取值;然后利用验证集对本轮训练的模型进行评价,以适应度函数的大小评估各个参数的取值是否为当前最优值,如果是最优值,则替换原有参数的取值,若不是,则继续保留当前的参数;最后判断是否达到设定的最大迭代次数,若是则输出历史迭代过程中保留的最佳超参数值,如不是则继续使用IPSO进行迭代优化.构建IPSO_XGBoost模型的流程图见图5.

图5 IPSO_XGBoost模型构建流程Fig.5 IPSO_XGBoost model construction flowchart

利用IPSO_XGBoost模型对服务区交通量进行预测的时候,学习率learning_rate默认值初始为0.30,取值范围为0.05~0.30,节点分裂所需的最小损失函数下降值gamma默认值为0,取值范围为0~0.20,树的最大深度max_depth默认值为6,取值范围为4~10,最小叶子节点样本权重和min_child_weight默认值为1,取值范围为1~10,L2正则化项的权重lambda默认值为1,取值范围为0.1~10.由于需要优化五个参数,因此D=5,每个微粒的位置初始化为五维向量,上述5个参数的搜索空间,微粒位置初始化为0

图6 IPSO和PSO优化XGBoost参数迭代曲线Fig.6 Parameter iteration curves of XGBoost optimized by IPSO and PSO

可以看出利用IPSO优化的XGBoost模型在迭代过程中有着更高的适应度值,且收敛速度比PSO算法快.在迭代寻优过程中,IPSO算法的搜索稳定性较高,在300次迭代左右,已经搜寻到XGBoost模型的最优超参数组合.而PSO算法在迭代寻优过程中波动性较大,在600次迭代时仍未出现收敛,且适应度与IPSO算法的差距进一步拉大,试验最终的收敛适应度也低于IPSO算法的寻优结果.在给定的终止迭代条件下,利用IPSO优化得到的模型参数为learning_rate=0.25,gamma=0.13,max_depth=7,min_child_weight=3,lambda=1.

4 服务区交通量预测结果与比较分析

通过IPSO优化算法选取出最佳的XGBoost模型参数,并以最佳参数组合建立起IPSO_XGBoost预测模型,图7各个子图给出了交通量数据集在提出的IPSO_XGBoost模型上的代表性性能曲线,同时,本文也将同一类别交通量数据集下不同模型的预测准确率ACC和均方误差RMSE进行计算,结果见表2.

通过图7不同模型的预测性能曲线和表2、表3不同模型预测性能参数对比,可以看出本文构建的IPSO_XGBoost模型在小型车、大型车、货车、车当量以及人当量五种交通量数据集上的预测准确率依次为0.913、0.815、0.872、0.931和0.924,均方根误差RMSE分别为9.64、1.84、4.63、11.55和31.73.

图7 IPSO_XGBoost模型 对不同交通量的预测性能Fig.7 Prediction performance of IPSO_XGBoost model for different traffic volumes

比较分析可得,无论是对于哪种类型的交通量数据,IPSO_XGBoost模型都有最高的预测准确率和最低的均方根误差RMSE.该模型对小型车的预测准确率比LSTM、XGBoost、CNN-LSTM和PSO_XGBoost分别高出21.8%、10.5%、8.2%和3.9%,对大型车的预测准确率比LSTM、XGBoost、CNN-LSTM和PSO_XGBoost分别高出21.3%、12.0%、7.4%和5.4%,对货车的预测准确率比LSTM、XGBoost、CNN-LSTM和PSO_XGBoost分别高出20.9%、12.8%、7.1%和4.9%,对车当量的预测准确率比LSTM、XGBoost、CNN-LSTM和PSO_XGBoost分别高出20.7%、13.0%、8.0%和4.1%,对人当量的预测准确率比LSTM、XGBoost、CNN-LSTM和PSO_XGBoost分别高出17.3%、9.9%、5.8%和4.3%.比较结果表明,使用IPSO_XGBoost模型来构建交通量调查数据和服务区交通量之间的预测关系是准确的,且模型性能优于LSTM网络、XGBoost算法、CNN-LSTM结构和PSO_XGBoost模型.提出的模型能够挖掘出优异的模型参数权重,使得XGBoost模型更好地学习出交通量调查数据和服务区交通量之间的数据变化趋势,在交通量细致划分的基础上,实现了交通量调查数据对服务区交通量的有效预测.

表2 不同模型预测准确率对比Tab.2 Comparison of prediction accuracy of different models

表3 不同模型预测RMSE误差对比Tab.3 Comparison of RMSE prediction error of different models

5 结论

1)对粒子群算法进行改进,提出划分主从粒子拓扑关系和迭代学习因子动态调整的IPSO优化算法,解决了粒子群在迭代过程中容易陷入局部最优区域的问题,同时缩短了粒子的迭代寻优收敛时间,提高了粒子群的参数寻优精度.

2)将交通量调查数据和服务区交通量以小时粒度进行交通流统计,通过时间尺度对齐和特征融合统一,构建了服务区小型车、大型车、货车、车当量、人当量五种多源异构交通量数据,同时将改进粒子群算法IPSO融入XGBoost模型参数优化过程中,对XGBoost预测模型的超参数进行了优选.

3)提出的IPSO_XGBoost预测模型相较于其他算法,有着更高的预测精度和更强的泛化能力.该模型可以有效地挖掘交通量调查数据和服务区交通量之间的内在关联和统计学关系,实现按不同车型细化的交通量预测.同时,该预测结果可以作为评估服务区通行能力和服务水平的量化指标,为服务区进一步改扩建提供科学依据.

猜你喜欢
交通量服务区当量
基于AIoT+GIS的智慧服务区构建
基于ETC门架数据的高速公路交通量转换探究
高速公路服务区信息技术的应用
基于动态差法的交通量监测技术应用
壁面喷射当量比对支板凹腔耦合燃烧的影响
高速公路补偿交通量模型研究
建言高速公路服务区实现“双提升”
基于四阶段法的公路交通量预测研究
超压测试方法对炸药TNT当量计算结果的影响