Prediction method of train operation delay of Beijing-Shanghai High-speed Railway
-
摘要: 为快速、准确地掌握列车的运行状态及未来的运行趋势,需要对列车运行晚点预测方法进行深入研究。文章根据对北京—上海高速铁路(简称:京沪高铁)2020年列车运行数据的分析,包括停站时长对于晚点的影响及不同初始晚点时长下的传播车站数,提出了基于循环神经网络(RNN,Recurrent Neural Network)的全段预测方法,使用同步多对多模式的RNN模型作为基础模型结构,建立列车运行晚点预测模型。在特征值的选择上,采用集成梯度打分法,从多个特征值中选择12个最显著的变量作为模型自变量。采用该模型对京沪高铁2020年晚点数据进行验证,结果表明,该模型在验证集上5 min的误差范围内可以达到89%的准确率,该预测方法可以满足实际生产的需要,有助于调度部门进行科学决策,有利于提升铁路旅客服务质量。Abstract: In order to quickly and accurately grasp the train operation status and future operation trend, it is necessary to deeply study the prediction method of train operation delay. Based on the analysis of the train operation data of Beijing-Shanghai High-speed Railway in 2020, including the impact of dwell time on delay and the number of propagation stations under different initial delay time, this paper put forward a full section prediction method based on Recurrent Neural Network(RNN), and used the RNN model of synchronous many to many mode as the basic model structure, established a prediction model of train operation delay. In the selection of eigenvalues, the paper used the integrated gradient scoring method to select the 12 most significant variables from multiple eigenvalues as the independent variables of the prediction model, and verified the delay data of Beijing-Shanghai High-speed Railway in 2020 by the prediction model. The verification results show that the model can achieve 89% accuracy within the error range of 5 minutes on the verification set. The prediction method can meet the needs of actual production, help the dispatching department make scientific decisions and improve the quality of railway passenger service.
-
安全、正点是我国铁路的重要目标,而客运列车在运行过程中会受到外部环境、固定设备和移动设施故障、人为操作失误等多种因素影响,出现晚点的情况。快速、准确地掌握列车的运行状态及未来的运行趋势,不仅能为铁路运输调度高效指挥提供保障,且有利于客运部门及时有效地组织车站中转客流,更能方便旅客提前规划行程,减少大面积晚点导致的乘客滞留问题,因此研究列车晚点传播规律意义重大。
现阶段,国内外关于客运列车晚点规律的研究方法可分为传统模型法和数据驱动模型法。传统模型法主要是通过事件图、活动图等传统理论模型研究列车晚点规律[1-3]。数据驱动模型法包含列车初始晚点分布研究[4-5]和晚点传播规律研究,前者是通过建立高速铁路初始晚点不同致因对列车数量影响的分布模型;后者主要利用机器学习、随机森林和循环神经网络(RNN,Recurrent Neural Network)等方法进行研究[6-9]。这些方法多针对单个车站而无法对所有站点进行预测,且由于没有过滤大量的弱晚点数据,干扰了模型的准确率,不利于实际生产的应用。本文在前人研究的基础上,以2020年北京—上海高速铁路(简称:京沪高铁)列车运行晚点预测为例,采用RNN全段预测法并过滤了冗余数据,验证了算法的有效性。
1 列车运行晚点影响因素分析
京沪高铁由北京南站至上海虹桥站,全长1 318 km,设24个车站,设计的最高速度为380 km/h。通过分析2020年京沪高铁行车数据,共筛选出655 559条初始晚点数据,其中,初始晚点在1~4 min范围内的共有642 851条,占比98.1%;大于4 min的有12 708条。铁路部门将1~4 min范围内的晚点视为列车运行的正常波动,因此本文将研究的重点定位到大于4 min的列车运行初始晚点。
1.1 停站时长对晚点的影响
图1统计了2020年的京沪高铁列车运行在发生晚点的情况下,在不同的停站时长下,晚点的吸收、增加和平移的概率。从图1可以看出,随着停站时间的增加,晚点吸收的比率在上升,平移和增加的概率在减少,因此停站时间越大,越容易吸收晚点。
1.2 初始晚点对传播车站数的影响
将列车运行初始晚点时间按照1~4 min、5~10 min、11~30 min分为3类,分别统计每种类别初始晚点的传播长度,如图2所示。可以看出,在初始晚点为1~4 min时,晚点传播车站数量为2~3个;初始晚点为5~10 min时,传播车站数量主要范围在3~9个;对于较大的初始晚点,传播车站数量主要范围在6~15个。由此得出,随着初始晚点时间的增加,晚点传播的车站数量也在增加。
2 算法设计
2.1 RNN全段预测方法
RNN是在普通多层反向传播神经网络基础上,增加了隐藏层各单元间的横向联系,通过一个权重矩阵,可实现将上一个时间序列神经单元的值传递至当前的神经单元,从而使神经网络具备了记忆功能,对于处理有上下文联系的自然语言问题或有关时间序列的机器学习问题有较好的应用性。
全段预测中的“全段”指的是列车晚点传播的范围,这个范围指的是从列车发生初始晚点的车站至晚点消失车站或终到站。因此,全段预测是指对于列车晚点传播范围与传播强度的预测。
2.1.1 多对多模式的RNN模型
RNN模型的多对多模式可分为间隔多对多和同步多对多2种模式,如图3所示,水平箭头方向为列车行车方向,北京南站为列车运行初始晚点发生站,后续各站为晚点吸收/扩散站,晚点项为到发晚点时间。本文在初始晚点段预测场景中,输入的数据是初始晚点段所有站点的特征信息,要求输出的数据是所有站点的正晚点情况,其天然的序列性符合RNN模型的间隔多对多和同步多对多2种模式。但间隔多对多模式下,模型无法利用列车将要运行站点的特征,因此,本次建模选取具有同步多对多模式的RNN模型作为基础模型结构。
在同步多对多RNN模型中,所有站点对应的Y值都是下一站的晚点项。实际应用中,发生初始晚点后的晚点恢复情况是未知的、需要预测的,因此,建立模型特征序列时,除初始晚点发生站外,其他所有站点的晚点项需置0后作为特征项进入模型。
2.1.2 LSTM-RNN模型
利用RNN模型处理时间序列数据具有先天优势,但在长序列的训练模式下仍存在梯度消失问题。本文选取的2020年京沪线高铁列车运行初始晚点段预测场景中,序列平均长度为8个车站,最长可达22个车站。若直接使用传统RNN模型会导致梯度消失严重且模型参数更新缓慢,因此本文引入RNN的变体结构长短期记忆网络(LSTM,Long Short-Term Memory)来促使模型更好地学习长期特征。
LSTM 作为一种循环神经网络的变形结构,是在普通 RNN 基础上,隐藏层各神经单元中增加记忆单元,从而使时间序列上的记忆信息可控,每次在隐藏层各单元间传递时通过“门”来控制丢弃/增加信息,从而实现遗忘或记忆的功能。
为方便描述,下文将多对多模式下的LSTM-RNN模型统称为RNN模型。
2.2 评价指标
本文采用平均绝对误差损失(MAE,Mean Absolute Error)作为评价函数。其计算公式为
$$ \text{MAE}=\frac{1}{m}{\displaystyle \sum _{i=1}^{m}\left|\;\;\;{\hat{y}}_{i}-{y}_{i}\;\;\right|}\begin{array}{ccc}& & \end{array} $$ (1) 其中,
$ y $ 表示实际值;$ \hat y $ 表示预测值。实际值与预测值之间的误差越小,说明模型的预测效果越好。2.3 损失函数和优化器
本文选取
$\mathrm{S}\mathrm{m}\mathrm{o}\mathrm{o}\mathrm{t}\mathrm{h}\;{L}_{1}$ 算法作为模型的损失函数(Loss Function),公式如下$$ {L}_{1}=\left\{ \begin{aligned} &\;\;0.5{x}^{2},\qquad\left|x\right| < 1\\ &\;\;\left|x\right|-0.5\;,\;\;\;其他\end{aligned} \right. $$ (2) 其中,
$ x $ 表示模型的预测值$\hat y$ 与实际值$y$ 之间的差距。该算法下的梯度稳定,不易产生梯度爆炸问题。使用Adam优化器,其本质是通过一阶矩估计的动量项和二阶矩估计的自适应项对梯度和各参数的学习率进行动态调整。该优化器的优点在于,在偏移校正之后,确定每个迭代学习速率在固定范围内,可减少迭代过程的震荡,从而平滑地改变神经网络参数。
2.4 列车运行晚点预测模型
列车运行初始晚点段预测模型建立步骤如下。
(1)确立目标数据集:本次实验选取了2020年全年京沪高铁列车运行数据作为目标数据集数据。
(2)数据清洗及筛选:针对目标数据集进行缺失数据补全、重复数据/异常数据删除等操作。
(3)序列提取:提取初始晚点序列作为入模数据。
(4)特征构建:结合列车运行数据特点和运力、时间、线路等多个角度构建特征。
(5)数据分割:将入模数据按7:3的比例切分为训练集和验证集。
(6)建立RNN模型:选择隐藏层层数及输入层、隐藏层、输出层神经单元数。
(7)模型调参:设置不同的网络参数和模型训练参数,调整输入特征,反复在验证集上根据评价指标对实验模型进行评估,直至找到最优参数。
3 实例验证
3.1 数据预处理
结合前文晚点分析及算法设计,将目标数据集数据进行如下处理。
3.1.1 数据清洗
(1)删除重复样本;
(2)删除小于3站的行程;
(3)删除车站名缺失的行程;
(4)删除运行时间或计划时间异常的行程;
(5)删除区间吸收异常或车站吸收异常的行程。
3.1.2 晚点序列提取
全段预测的序列样本,从各个单独的行程采集而来,序列长度不一,需满足如下几个条件:
(1)从初始晚点开始采集,后续站一直采集到晚点吸收为止;
(2)序列采集的长度需要在3个站及以上;
(3)在全段预测场景下,只采集当前站的特征值,后续车站的晚点数据设置为0。
通过序列提取,本次建模仅选取初始晚点在5~30 min的序列,序列数为 4 182个。
3.2 特征提取
本文选择Captum工具对提取的特征进行筛选。利用集成梯度算法,全变量模型训练完成后,输入 1 个批次的数据进行前向传播,计算此批次中每条元素的每个属性值(特征项值)的积分梯度,再将批次中所有元素的积分梯度求和,当作该属性的集成梯度。梯度值越高,表明该属性就越显著。
假设常规归因下某个属性
$ x $ 有一个基线值$ {x}' $ ,神经网络的输出为函数$ f $ , 则积分梯度(IG,Integrated Gradients)的计算公式为$$ {\phi }_{i}^{IG}(f,x,{x}')=\left({x}_{i}-{x}_{i}'\right)\cdot {\displaystyle\int_{a=0}^{1}}\frac{\partial f({x}'+a({x}_{i}-{x}'))}{\partial {x}_{i}}da $$ (3) 上述公式是训练批次中单条记录对属性
$ x $ 的打分值,集成梯度是多条记录积分梯度的加总,将所有属性的集成梯度做归一化,得到最终的结果,如图4所示。基于铁路正晚点的业务场景,一共提取了38项特征,其中,存在很多不相关或冗余项,根据集成梯度对所有特征项的打分,最终选择12个最显著的特征作为模型自变量,如表1所示。
表 1 12个最显著的特征值序号 特征名 描述 1 stn_train_arr_early_ave 车次车站历史早到均值 2 whattime_EarlyMorning 00:00 — 06:00 whattime_Morning 06:00 — 12:00 whattime_Afternoon 12:00 — 18:00 whattime_Night 18:00 — 20:00 3 train_arr_delay_pct 车次历史晚到发生比例 4 qujian_tdtl_time 区间图定运行时间 5 stn_train_arr_delay_pct 车次车站历史晚到发生比例 6 qujian_ks_ave 区间历史晚到扩散均值 7 season_Spring 季节是否是春季 season_Summer 季节是否是夏季 season_Autumn 季节是否是秋季 season_Winter 季节是否是冬季 8 stn_arr_delay_ave 车站历史晚到时间均值 9 stn_train_arr_early_ave 车次车站历史早到均值 10 stn_arr_early_pct 车站历史早到发生比例 11 train_arr_early_ave 车次历史早到时间均值 12 stn_xs_max 车站历史晚到吸收最大值 3.3 模型训练与参数设置
本文使用pytorch深度学习框架,将提取后的晚点数据按照7:3的比例分割为训练集和验证集,进行模型训练。Epoch表示所有训练样本在神经网络中都进行了一次正向传播和一次反向传播。合适的Epoch次数,是神经网络能准确预测的基础,训练次数过小,误差较大;训练次数过大,会导致过拟合。
通过损失(Loss)测试和MAE测试,在100个Epoch的训练过程中,训练集的Loss和MAE始终保持下降趋势,说明模型拟合能力较好,如图5和图6所示。
准确率(ACC,Accuracy)是指模型使用验证集进行验证预测,预测结果正确(满足规定的误差)的样本数占总样本个数的比例。从验证集看,预测ACC在21个Epoch时已达到最优,同时MAE在21个Epoch时也达到了较优的数值,意味训练在21个Epoch时,模型达到了最优,如图7和图8所示。
经大量对比试验,本文最终设置的RNN模型网络结构参数及训练相关参数如表2所示。
表 2 模型训练参数模型训练类型 参数设置 隐藏层层数 4 隐藏层神经元数 256 网络双向性 False 损失模型 Smooth L1 Loss 模型优化算法 Adam 初始学习率 1e-3,每10个Epoch衰减10% 训练Epoch次数 100 训练批次 16 验证批次 64 3.4 预测结果分析
由上文可知,Epoch为21时,验证集准确率达到最优,因此选择此时的模型作为表现最佳模型。验证集预测误差在3~9 min不同情况下的准确率如表3所示,预测平均误差为152.2 s。
表 3 验证集的准确率误差/min 验证集准确率 3 79% 5 89% 9 96% 由表3可知,按表2参数设置模型,预测误差在5 min范围内的准确率可以达到89%,能够实现京沪高铁晚点时间的高精度估算。
4 结束语
本文通过分析京沪高铁列车历史运行数据,提取了时间、铁路网运力、运行线路、历史运行规律等较为显著的特征向量,在过滤弱晚点的基础上,设计了基于循环神经网络的全段预测方法,以期实现对高铁列车的全段预测。经验证,模型的准确率较高,可以满足实际生产的需要。
本文设计列车运行晚点预测模型还存在不足之处,如仅给出预测的列车晚点时间,而未给出列车晚点时间对应的概率,这是由于晚点预测模型选用RNN回归模型导致的。后续可尝试将晚点时间当作类别变量建模,同时预测晚点时间及其发生概率。
-
表 1 12个最显著的特征值
序号 特征名 描述 1 stn_train_arr_early_ave 车次车站历史早到均值 2 whattime_EarlyMorning 00:00 — 06:00 whattime_Morning 06:00 — 12:00 whattime_Afternoon 12:00 — 18:00 whattime_Night 18:00 — 20:00 3 train_arr_delay_pct 车次历史晚到发生比例 4 qujian_tdtl_time 区间图定运行时间 5 stn_train_arr_delay_pct 车次车站历史晚到发生比例 6 qujian_ks_ave 区间历史晚到扩散均值 7 season_Spring 季节是否是春季 season_Summer 季节是否是夏季 season_Autumn 季节是否是秋季 season_Winter 季节是否是冬季 8 stn_arr_delay_ave 车站历史晚到时间均值 9 stn_train_arr_early_ave 车次车站历史早到均值 10 stn_arr_early_pct 车站历史早到发生比例 11 train_arr_early_ave 车次历史早到时间均值 12 stn_xs_max 车站历史晚到吸收最大值 表 2 模型训练参数
模型训练类型 参数设置 隐藏层层数 4 隐藏层神经元数 256 网络双向性 False 损失模型 Smooth L1 Loss 模型优化算法 Adam 初始学习率 1e-3,每10个Epoch衰减10% 训练Epoch次数 100 训练批次 16 验证批次 64 表 3 验证集的准确率
误差/min 验证集准确率 3 79% 5 89% 9 96% -
[1] Rob M. P. Goverde. A delay propagation algorithm for large-scale railway traffic networks [J]. Transportation Research Part C:Emerging Technologies, 2010, 18(3): 269-287. DOI: 10.1016/j.trc.2010.01.002
[2] BKER T, SEYBOLD B. Stochastic modelling of delay propagation in large networks [J]. Journal of Rail Transport Planning & Management, 2012, 2(1): 34-50.
[3] Pavle Kecman, Rob M. P. Goverde. Online data-driven adaptive prediction of train event times [J]. Transactions on Intelligent Transportation Systems, 2015, 16(1): 465-474. DOI: 10.1109/TITS.2014.2347136
[4] 黄 平,彭其渊,文 超,等. 高速铁路故障分类及其影响列车数模型 [J]. 中国安全科学学报,2018,28(增 2):46-53. [5] 庄 河,文 超,李忠灿,等. 基于高速列车运行实绩的致因-初始晚点时长分布模型 [J]. 铁道学报,2017,39(9):25-31. DOI: 10.3969/j.issn.1001-8360.2017.09.004 [6] 黄 平,文 超,李忠灿,等. 高速铁路列车晚点时间实时预测的神经网络模型 [J]. 中国安全科学学报,2019,29(增1):20-26. [7] 胡 瑞,文 超,张梦颖,等. 高速列车晚点预测的机器学习模型 [J]. 中国铁路,2019(11):72-77. [8] 张 琦,陈 峰,张 涛,等. 高速铁路列车连带晚点的智能预测及特征识别 [J]. 自动化学报,2020,45(12):2251-2259. [9] 胡雨欣,彭其渊,鲁工圆,等. 基于初始晚点和冗余时间 的列车晚点恢复时间预测模型 [J]. 交通运输工程与信息学报,2020,18(2):93-102. DOI: 10.3969/j.issn.1672-4747.2020.02.011 -
期刊类型引用(3)
1. 何汶静. 住宅建筑消防车道智能管理云平台的建立与应用. 消防科学与技术. 2024(10): 1477-1481 . 百度学术
2. 杨桐. 基于图像处理的钢轨表面缺陷检测算法分析. 兰州工业学院学报. 2023(02): 73-77 . 百度学术
3. 陈有源. 智能化背景下计算机网络监控系统设计规划探究. 电脑编程技巧与维护. 2023(10): 119-121+147 . 百度学术
其他类型引用(0)