APP下载

基于GBDT的列车晚点时长预测模型研究

2021-08-05张亚东葛晓程

铁道标准设计 2021年8期
关键词:车次晚点列车运行

廖 璐,张亚东,葛晓程,郭 进,禹 倩

(1.西南交通大学信息科学与技术学院,成都 611756; 2.哈德斯菲尔德大学铁路研究所,英国)

随着铁路网络化的快速发展,旅客出行需求的增长让铁路线路的利用率越来越高,列车开行密度越来越大。在保证列车安全运行的前提下,确保准点率是铁路运输服务质量的关键。

列车按预先设计的运行图运行,但在实际运行过程中往往会受到如恶劣天气、设备故障、人为失误等不确定因素干扰[1-2],造成初始晚点,其次由于晚点传播效应,初始晚点的晚点效应会延伸至后续列车,进而出现连带晚点。列车的晚点会延误旅客和货物行程,造成直接的经济损失,严重情况下可能引起铁路运输网中断,大大降低铁路运输效率,给行车组织工作带来巨大压力[3-4]。因此,准确有效地实现铁路列车晚点时长预测,对列车运行图优化、列车运行指挥优化和确保铁路运输服务质量具有重要意义。

列车晚点是一个一直受学术界关注的问题,国内外学者在列车晚点预测方面做了大量研究。Javad Lessan等[5]通过建立3种不同的贝叶斯网络结构来识别晚点传播链中变量的关系,以实现晚点预测;Steven Harrod等[6]基于运行计划中的缓冲时间和补充时间提出一种计算累积晚点的方法以实现晚点预测;Rob M.P. Goverde[7]采用max-plus方法计算由初始晚点引起的连带晚点,以此预测后续晚点值;随着铁路运营信息化的发展,在列车运行信息的全面采集和充分处理的基础上,通过利用机器学习和深度学习算法在列车晚点预测方面也有一些最新的研究。Luca Oneto等[8]建立了基于浅层和深层学习机的列车晚点预测系统,通过实际运行数据测试表明系统性能更优;Rahul Nair等[9]使用集成模型预测列车晚点,在实际数据集上预测效果提升25%;牟玮玮[10]等基于列车实际运行数据,运用随机森林和人工神经网络分别建立列车到达晚点的预测模型,实验结果表明随机森林预测效果更好;黄平等[11-12]以实际运行数据为基础,分别建立晚点恢复时间预测的随机森林模型和基于循环神经网络的列车晚点时间实时预测模型。曾壹等[13]基于晚点分类方法,采用反向传播神经网络预测晚点时长,但网络受突发事件影响较大。张琦等[14]针对高速铁路列车连带晚点,提出一种基于小波神经网络的列车连带晚点预测方法,但模型无法实现所有晚点预测。

在总结现有分析方法的基础上,通过对伦敦至曼彻斯特1H车次实际运行数据进行分析,提出一种基于GBDT(Gradient Boosting Decision Tree,梯度提升树)的列车晚点时长预测模型,并与其他分析方法进行了比较。根据列车实际运行数据分析验证表明,基于GBDT的预测模型具有更高的预测精度。

1 GBDT算法

GBDT属于一种有监督的集成学习算法,可用于分类问题的识别和预测问题的解决[15]。相较于随机森林、神经网络算法,能充分考虑每个分类器的权重,同时具有高准确率、高稳定性、低运算时间、算法参数少的特点,目前已应用于医学[16]、城市交通[17-18]、电力[19]、经济[20]等方面的预测研究中。

GBDT算法的核心是在第m轮基础模型中,利用损失函数的负梯度值作为该轮基础模型损失值的近似,并通过这一近似值构建下一轮基础模型,使目标函数的求解更为便利。算法的训练过程如图1所示。

图1 GBDT算法训练过程

GBDT算法操作基本步骤如下。

输入:数据集T={(x1,y1),(x2,y2),…,(xn,yn)},损失函数L(y,f(x))。

输出:梯度提升模型F(x)。

初始化(c为使损失函数达到极小值的常数)

(1)

对m=1,2,…,M(M表示迭代次数,即生成的基础模型的个数)。

(1)对样本i=1,2,…,n,计算损失函数的负梯度,用作残差的估计值

(2)

(2)利用数据集(xi,rmi)拟合下一轮基础模型,得到对应的叶子结点Rmj,j=1,2,…,J,计算每个叶子节点Rmj的最佳拟合值,使损失函数最小

(3)

(3)计算所有叶子节点Rmj对应的cmj之和得到第m轮的基础模型fm(x)

(4)

结合前m-1轮的基础模型得到最终强学习器,它表示每一个基础模型在样本点xi处的cmj之和

2 列车运行实际数据及分析

本文列车运行实际数据来自英国西海岸主线(West Coast Main Line,WCML)铁路,线路全长642 km,全线包含51个车站(伦敦尤斯顿站至曼彻斯特皮卡迪利站)。数据包含84个列车车次的1 024 079条列车运行记录,时间跨度为2019年3月1日至2019年3月31 日,相同车次的列车承担相同的运行计划,从数据中可知各车次列车运行间隔。本文以1H车次旅客快车为研究对象,进行后续分析和建模。当月共包含75 850条1H车次列车运行数据,该车次途经线路上37个车站,部分原始数据如表1所示。

表1 原始数据(部分)

表1中各字段具体含义如下:

(1)TRAIN_ID:当前列车ID;

(2)LOCATION:当前列车经过的车站编号;

(3)HEADCODE:列车车次;

(4)PLATFORM:站台编号;

(5)ACTUAL_EVENT_DATE_AND_TIME:当前列车活动事件的实际时间;

(6)PLANNED_EVENT_DATE_AND_TIME:当前列车活动事件的计划时间;

(7)TYPE_OF_EVENT:当前列车活动事件类型,D为出发事件,A为到达事件;

(8)TIMETABLE_VARIATION:与时刻表偏差值,单位为min;

(9)VARIATION_STATUS:偏差状态,E为早点状态,L为晚点状态,空值为准点状态;

(10)NEXT_REPORT:当前列车运行方向下一车站编号;

(11)TOC:运营公司代码。

原始数据中通过TIMETABLE_VARIATION和VARIATION_STATUS表示列车当前早晚点情况,如361H40MQ01次列车到达曼彻斯特皮卡迪利站(LOCATION=32000)处晚点3 min。

根据列车运行实际数据,以2 min为间隔统计1H车次列车的晚点时长分布直方图和核密度图如图2所示,该车次列车晚点时长多在20 min以内。以20 min为间隔统计1H车次列车全天的列车数分布如图3所示,该车次列车运行在早8点至凌晨3点之间;统计全线各车站晚点率如图4所示,除少数车站外,大部分车站晚点率在0.4以上,表明线路晚点情况比较严重。

图2 1H车次晚点时长分布

图3 1H车次全天列车数分布

图4 1H车次车站晚点率

在建模前,对原始数据进行以下预处理工作。

(1)异常值处理:由于异常值会影响模型预测效果,因此将数据中的异常值进行删除。

(2)重复值处理:重复观测值会影响预测模型结果的准确性,对数据集进行重复性检验,若存在重复观测,则进行删除处理。

(3)离散变量处理:原始数据集中的离散变量无法直接用于建模,同时由于数字无法准确还原不同类别信息之间的差异和关联,因此采用标志方法和数据转换方法处理离散变量。

(4)标准化:数据标准化的目的是处理不同规模和量纲的数据[21],使其缩放到相同的区间和范围,以减少规模、特征、分布差异对后续建模的影响。数据标准化公式如下

(6)

3 基于GBDT的列车晚点时长预测模型

3.1 特征选择

铁路网中列车运行过程可以表示为一系列事件和过程的集合[22]。事件包含列车的到达事件和出发事件,过程包含列车的运行过程和停站过程。事件和过程之间的依赖关系可以用时间事件图(Timed-event Graphs)来表示。在时间事件图中,节点表示列车在车站的到达(A)或出发(D)事件,节点的权重表示列车当前事件的早晚点情况,有向弧表示事件的转移,有向弧权重表示事件之间的运行(停站)时间。以1H01车次和1H02车次为例,建立时间事件图如图5所示。

图5 时间事件图示例

从图5可以分析,当列车在车站/观测点发生晚点时,晚点会产生横向传播和纵向传播。横向传播即影响下一趟列车,若晚点不能被运行图吸收(晚点时间大于运行图设置的缓冲时间),则下一趟列车同样发生晚点;纵向传播即影响本次列车本身,若晚点不能被运行图吸收(晚点时间大于运行图设置的补充时间),则列车的下一事件仍然晚点。

考虑第t列车在车站s处的晚点值Dt,s应与列车在车站s-1处的晚点值Dt,s-1以及第t-1列车在车站s处的晚点值Dt-1,s有关,用r表示运行时间的补充时间,h表示列车追踪的缓冲时间,则晚点值Dt,s可以表示为

Dt,s=max(Dt,s-1-r,Dt-1,s-h,0)

(7)

根据以上分析,列车晚点值Dt,s与Dt,s-1、Dt-1,s、r、h相关,因此本文选取以下变量构成数据特征集。

(1)第s站的偏差值(time_difference)

列车在当前车站的偏差值,正偏差值表示晚点,负偏差值表示早点。

(2)上一趟列车第s站的偏差值(last_tradiff)

前一趟列车在当前车站的偏差值,正偏差值表示晚点,负偏差值表示早点。

(3)列车第s-1站的偏差值(last_locdiff)

列车在前一车站的偏差值,正偏差值表示晚点,负偏差值表示早点。

(4)列车与上一趟列车的计划运行间隔时间(lasttra_plan_runtime)

(5)列车与上一趟列车的历史实际运行间隔时间均值(lasttra_actual_runtime)

(6)列车第s-1站至第s站的计划运行时间(lastloc_plan_runtime)

(7)列车第s-1站至第s站的历史实际运行时间均值(lastloc_actual_runtime)

(8)到达事件/出发事件标志(A_flag)

重构后的数据特征集每条数据包含8个变量,其中因变量(预测变量)为列车第s站的偏差值。本文按照3∶1的比例将数据特征集划分为训练集和测试集,在训练集上进行参数选择和构建预测模型,在测试集上进行预测和评估,进而验证模型在样本外的表现能力。部分数据特征集如表2所示。

表2 数据特征集(部分)

3.2 参数选择

本文采用Python机器学习库中sklearn模块进行建模分析。该模块中GBDT模型参数主要分为三类:决策树参数、提升参数、其他参数[23]。部分主要参数如表3所示。

表3 GBDT模型参数

为使预测模型达到最佳的拟合效果,在建立预测模型前,应先进行模型参数调整。本文主要针对模型迭代的学习率(learning_rate)、基础模型数量(n_estimators)、基础模型包含最大深度(max_depth)和每个基础模型包含的最多分割字段数(max_features)四个参数进行调参,其他参数选择默认参数。在GBDT模型中,较小的learning_rate需要迭代更多的基础模型,增大计算量;较大的max_depth和max_features会导致模型过拟合,因此常利用交叉验证法确定合理的参数值。在训练集上的调参步骤如下。

(1)将learning_rate设置为0.5,采用5重交叉验证方法对n_estimators进行寻优。

(2)在得到最优n_estimators后,对max_depth和max_features同样用5重交叉验证方法寻优。

(3)降低学习率,并按比例增加基础模型数量,寻找使均方误差最低的学习率和基础模型数量组合。各学习率和基础模型数量组合下的均方误差值见表4。

表4 各参数组合的均方误差值

根据实验结果(表4),本文选择各参数取值如下:learning_rate=0.05,n_estimators=800,max_depth=5,max_features=5。利用上述参数组合,建立GBDT晚点时长预测模型。

3.3 晚点时长预测模型构建

由于GBDT训练的过程是通过不断降低偏差来提高最终模型的精度,因此弱分类器一般选择具有低方差和高偏差的决策树模型。同时预测模型的因变量是连续的数值型变量,因此选择平方损失函数作为模型的损失函数。

初始化弱分类器:对式(1)中的平方损失函数直接求导,令导数等于零,得到c。

(8)

因此初始化时,c的取值为所有训练样本标签值的均值。

梯度提升模型中基础模型数量M=800,对于m=1,2,…,M:

(1) 对样本i=1,2,…,n,根据式(2)计算损失函数的负梯度值

(9)

(2)利用数据集(xi,rmi)拟合下一轮基础模型,模型最大深度为5,所包含的最多分割字段数为5。得到第m棵决策树的叶子节点,并计算各叶子节点的最佳拟合值

(10)

式(10)表示cmj的取值为第m棵树的第j个叶节点中残差的均值。

(3)更新

(11)

结合前m-1轮的基础模型,加入学习率为防止模型过拟合。得到梯度提升模型

FM(x)=FM-1(x)+vfm(x)

(12)

其中,v为学习率。

4 模型验证与评估

本文将采用预测连续变量常用的衡量指标均方误差(MSE)和决定系数(R-square)对模型进行评估。计算公式如下

(13)

(14)

为判断调参后GBDT模型优劣,采用同样的数据集构建了集成模型中的随机森林模型、单一模型中的决策树模型以及基于默认参数的GBDT模型进行预测结果对比,其中随机森林模型和决策树模型均使用交叉验证法确定了最优参数。调参后GBDT模型预测结果见表5,其余各模型预测结果见图6,MSE和R-square值如表6所示。

表5 GBDT模型(调参)预测结果

表6 各模型指标对比

图6 各模型预测结果

针对以上预测结果可以看出:(1)调参后的GBDT预测模型预测精度较高,在允许误差3min以内预测精度为99.76%;(2)预测结果图中,决策树模型和基于默认参数的GBDT模型预测值较真实值偏差较大,随机森林模型预测效果较好但其点分布较调参后的GBDT模型仍然分散;(3)调参后的GBDT模型均方误差为0.4685,决定系数值为0.9878,预测效果优于决策树模型、随机森林模型和基于默认参数的GBDT模型。因此,调参后的GBDT模型是预测结果最佳的模型。

同时对调参后的GBDT预测模型使用模型内置函数feature_importances提取特征对于模型的重要度,特征重要度如表7所示。结合各特征重要度排序,可以看出影响该车次列车晚点的关键因素是列车第n-1站的偏差值,这表明列车在前一站的晚点对本站影响较大。

表7 特征重要度排名

5 结论

结合列车运行实绩数据提出一种基于GBDT的列车晚点预测方法,并对比分析了与决策树模型、随机森林模型、默认参数的GBDT模型的预测效果。数据实验结果表明,调参后的GBDT预测模型具有更好的预测效果,在误差允许3 min以内的预测精度为99.76%。同时,经过预测模型中特征重要度的排序,识别出影响列车晚点的关键因素是列车前一站的晚点偏差值。在后续研究中,可基于列车运行间隔和相似性分析,将预测模型推广至其他车次和线路。

猜你喜欢

车次晚点列车运行
基于马尔科夫链的高铁列车连带晚点横向传播
调度集中系统车次号技术的研究
晚点的火车(外三首)
动车所车次号处理逻辑存在问题分析与对策
改善地铁列车运行舒适度方案探讨
Folic acid attenuates high-fat diet-induced steatohepatitis via deacetylase SlRT1-dependent restoration of PPARα
ATO模式下列车运行效率影响因素分析及优化
“晚点围巾”揭德铁伤疤
八月一日夜车次徐州口占
铁路调图