• 查询稿件
  • 获取最新论文
  • 知晓行业信息
官方微信 欢迎关注

基于随机森林算法的铁路货物运达时间预测研究

邓蕲, 董宝田

邓蕲, 董宝田. 基于随机森林算法的铁路货物运达时间预测研究[J]. 铁路计算机应用, 2021, 30(4): 22-25.
引用本文: 邓蕲, 董宝田. 基于随机森林算法的铁路货物运达时间预测研究[J]. 铁路计算机应用, 2021, 30(4): 22-25.
DENG Qi, DONG Baotian. Prediction of railway freight arrival time based on Random Forest algorithm[J]. Railway Computer Application, 2021, 30(4): 22-25.
Citation: DENG Qi, DONG Baotian. Prediction of railway freight arrival time based on Random Forest algorithm[J]. Railway Computer Application, 2021, 30(4): 22-25.

基于随机森林算法的铁路货物运达时间预测研究

基金项目: 中国国家铁路集团有限公司科技研究开发计划重大课题(K2018X012)
详细信息
    作者简介:

    邓 蕲,在读硕士研究生

    董宝田,教授

  • 中图分类号: U294 : TP39

Prediction of railway freight arrival time based on Random Forest algorithm

  • 摘要: 为更准确地预测铁路货物运达时间,运用Python,设计实现了基于随机森林算法的铁路货物运达时间预测模型。根据不同的车辆属性来预测车辆到达终点站的时长,将车辆的各种影响因素考虑进去,进行特征向量的计算,在行驶过程中不断修正误差,使得终到时间预测更为精确。以张兰—定边的货物运输为实例进行实验验证,准确率较高,具有推广应用价值。
    Abstract: In order to predict the arrival time of railway freight more accurately, this paper used Python to implement the prediction model of railway freight arrival time based on random forest algorithm. According to different vehicle attributes, the paper predicted the time of vehicles arriving at the terminal, took into account the various factors of vehicles, calculated the eigenvector, and constantly corrected the error in the process of driving, so that the prediction time to the destination was more accurate. The Zhanglan–Dingbian freight transportation was taken as an example to verify the model. The verification results show that accuracy of the model is high, which has the value of popularization and application.
  • 铁路货物运输本质上是铁路为顾客提供的对于货物的位移服务。随着经济发展和社会需求不断增加,市场对铁路货物运输提出了更高的要求。如何从接受货物开始将货物更安全、更快速、更准时地送到目的地,已经成为铁路行业在货物运输市场中必不可少的一个考量因素。

    梁栋[1]在原有的货物运输组织基础上构建了时空隧道图,基于车辆在每个技术站的作业需求,对作业流程进行了预估并预测了运输时间;李玮[2]分析了货物在运输途中的主要时间分布,并据此对最终的运达时限做出了预测;李夏苗[3]通过分析货物到达时间数据集,列出了铁路货物运输送达时间的回归方程,并做出优化;贾玉卫[4]将可靠性理论应用到铁路货物送达时间预测中,得到铁路运输过程的时间分布函数,建立了可靠性评价体系,提出保障时间可靠性的方法。

    目前,货物运达时间的主要研究方向是从现有运达时限的基础上出发,提出保障运达时限的具体措施或构建优化组织的模型,但涉及到车辆的某些具体特征(装载的货物种类、车次等)时,现有算法都将车辆进行了无差别处理,导致在一定程度上对车辆具体运达时间的预测出现偏差[5-6]。在这种情况下,本文基于随机森林算法,结合铁路货物运输组织过程,将运输路径上的起始站、技术站做为节点,根据货物相关信息,将其各种属性转化为特征值加入到运达时间预测中,从而预测货物终到时间,并根据实时运行情况在每一个技术站都重新计算货物终到时间,以求得到最新的货物终到时间。

    在铁路的日常货物调度中,调度人员都是根据货物的距离、种类、数量等信息,以自己的经验来预测货物到站时间。仅根据个人经验来判断,不够科学和精确,无法对设备工作能力和线路的通过能力进行最大化的利用。货物运达时限的准确预测能让调度人员更加明确铁路货物运输所需时长以及即将到达的货物流信息,从而更好的对整个物流有全局的认识,也方便调度人员安排调度计划和编组计划,扩大铁路运输量[7]。由此可见,更准确地预测铁路货物运达时间不仅对客户有益,也利于提升铁路自身效益和员工工作效率。

    铁路货物运输过程中有较多作业流程,因此会有较多因素影响铁路货物运达时间的预测,如工作人员进行工作的时间、线路的选择、等待配轴配长的时间等。从数据分析角度来看,具有相同的特征的货物流,从始发站到终点站的时间也是发散的,导致运达时间的预测较为困难。基于随机森林算法对铁路货物运达时间预测会遇到以下难点:

    (1)车流路径不确定,部分货物在线路上可能会离开选定的目标线路去向别的线路,而后在线路的某一段又回到目标线路上;

    (2)货物的优先级不同,导致在其他特征相同的情况下,最后到达终点站的时间也不同;

    (3)调度人员水平不同,各站工作人员工作效率也不同;

    (4)铁路特征向量的种类较多,导致维度较多,在机器学习构建决策树时更为复杂,计算所需花费的时间更长。

    随机森林是一种集成的统计学习分类和回归算法,针对不同特征,组合多个决策树对相同现象产生相似的预测结果,在随机森林回归的过程中,其输出值为随机森林中所有决策树结果的平均值,随机森林回归模型的核心在于根据特征建立多棵回归决策树。

    本文将铁路货物运达时限的影响因素,如车辆类型、始发站、终到站等作为输入的特征向量,用货物运达时间点作为预测结果,通过训练样本进行拟合得到预测模型,具体步骤如下:

    (1)车辆 i 到达终点站的报文时长为 $ {y}_{i} $,将报文中可能对运达时间有影响的因素(报文ID、车次、车次ID,车辆在始发站、中间站、终点站的时间)作为特征向量,车辆 i 的特征向量${{{{x_{i}}}}}\sim \left\{{I}_{i1},{I}_{i2},\cdots ,{I}_{in}\right\}$,其中,$ {I}_{in} $ 表示车辆i在预测期间的第n个影响因素。

    (2)建立单颗回归决策树,对xy进行搜索,将整个向量空间依据回归树划分为m个分区$\left\{{R}_{1},{R}_{2},\cdots,{R}_{m}\right\}$,对于其中任意分区可以映射为时间集合cm,该分区通过分裂得到$ {R}_{1}(j,s) $$ {R}_{2}(j,s) $两个部分:

    $$ {R}_{1}\left(j,s\right)=\left\{I|{I}_{j}\leqslant s\right\} $$ (1)
    $$ {R}_{2}\left(j,s\right)=\left\{I|{I}_{j}\geqslant s\right\} $$ (2)

    其中,j表示变量类型,即铁路货物运达时限的一个影响因素;s表示进行分裂时每个分区划分对应特征向量的值。

    时长方差 z 公式如下:

    $$ \begin{split} {{z}} =& {\rm{mi}}{{\rm{n}}_{j,s}}\left[ {{\rm{mi}}{{\rm{n}}_{{c_1}}}\sum\nolimits_{{x_{i \in {R_1}(j,s)}}} {{{({y_i} - {c_1})}^2}} + } \right.\\ & \left. {{\rm{mi}}{{\rm{n}}_{{c_2}}}\sum\nolimits_{{x_{i \in {R_2}(j,s)}}} {{{({y_i} - {c_2})}^2}} } \right] \end{split}$$ (3)
    $$s.t.\left\{ \begin{array}{l} {c}_{1}=ave\left({y}_{i}|{x}_{i}\in {R}_{1}(j,s)\right)\\ {c}_{2}=ave\left({y}_{i}|{x}_{i}\in {R}_{2}(j,s)\right) \end{array} \right.$$ (4)

    其中,$ {c}_{1} $ 是第1部分车辆到达终点站的实际值的平均值;$ {c}_{2} $ 是其余车辆到达终点站的实际值的平均值。

    为了在一定程度上减少计算量,提升运算效率,本文对决策树的层数进行控制,设置分裂效果较好的特征向量在第4层时停止分裂,从而提升决策树的效率。

    (3)构建整个随机森林,从n个初始数据样本中有放回的抽样m个样本集,构建m个决策树进行训练,将没有被抽取到的数据作为测试集。参数m为总的数据集的1/3时预测效果较好,当决策树的数量大于100时,准确率较为稳定,本文设定为300。

    报文信息特征向量个数为p,在每棵决策树模型的内部节点随机抽取k ( k p ) 个变量作为备选分枝变量,按照单棵决策树构建过程寻找最佳分枝;调整叶子节点的大小,控制随机森林和决策树的生长,结果较好的分裂到4次时即可停止分裂,否则继续分裂直至得到较好结果,最终生成随机森林组合模型。

    (4)随机森林模型验证,本文采用拟合度($ {R}^{2} $)、均方根误差(RMSE)和预测精度(P)来检验,$ {R}^{2} $P 值越高,说明模型构建越好,RMSE值越小,说明模型精度越高,计算公式如下:

    $$ {R^2} = \frac{{\displaystyle\sum\nolimits_{i = 1}^n {\left( {\widehat {{y_\iota }} - \bar y} \right)} }}{{\displaystyle\sum\nolimits_{i = 1}^n {\left( {{y_i} - \bar y} \right)} }}$$ (6)
    $${E_{{\rm{RMSE}}}} = \sqrt {\frac{{\displaystyle\sum\nolimits_{i = 1}^n {{{\left( {{y_i} - \widehat {{y_\iota }}} \right)}^2}} }}{n}} $$ (7)
    $${{P}} = \frac{1}{n}\sum\nolimits_{i = 1}^n {\left( {1 - \left| {\frac{{{y_i} - \widehat {{y_\iota }}}}{{\widehat {{y_\iota }}}}} \right|} \right)}\;\; {\rm{\times}}\;100\% $$ (8)

    式中,ERMSE是均方根误差;$ {y}_{i} $ 是车辆实际到站时间;$ \widehat {{y_\iota }} $ 是预测的车辆到达时间;$ \bar{y} $ 是实际平均到站时间;n为样本数量。

    建模方式同上,需额外增加2个特征向量:(1)当前站的繁忙程度,本文规定繁忙程度为该站该时刻前30 min内接入的车辆数量;(2)车站等级,不同等级的车站业务处理能力不同,会导致效率差异。

    计算机环境为Intel(R)Core(TM)i7-8750H CPU @2.20 GHz2.20 GHz 64 bit操作系统,开发软件采用Python 3.7。

    本文以张兰—孝南—绥德—子洲—杨桥畔—靖边—定边铁路线段为案例进行预测,OD图如图1所示。以实际报文时间为依据,与随机森林算法预测出的时间数据进行比对。

    图  1  OD线路图

    (1)整体报文比对

    基于本文的随机森林算法模型,以煤炭货物运输为例,完成该线段运输的预测平均所需时间为6 936 min,实际时间和预测时间的对比如图2所示。

    图  2  张兰—定边误差预测值与实际值对比

    ${{{R}}}^{2}$为0.97,P 为0.95,ERMSE为388.2,可满足日常的调度需求和准时度需求。

    (2)单一报文比对

    随机抽取一条报文,抽取报文中该时间段内车辆号为4910314的车辆在各个站点的的相关信息,报文信息如表1所示。

    表  1  抽取4910314号车辆的报文数据
    车辆号货物种类始发站当前站终点站报文时间车次车次ID
    4910314煤炭张兰张兰定边170527084534001QKZ_SCT_5092
    4910314煤炭张兰孝南定边170527092734001QKZ_SCT_5092
    4910314煤炭张兰绥德定边170528101334001QKZ_SCT_5092
    4910314煤炭张兰子洲定边170529041034001QKZ_SCT_5092
    4910314煤炭张兰杨桥畔定边170530014834001QKZ_SCT_5092
    4910314煤炭张兰靖边定边170530221734001QKZ_SCT_5092
    4910314煤炭张兰定边定边170531203934001QKZ_SCT_5092
    下载: 导出CSV 
    | 显示表格

    在始发站输入车辆的报文信息,代入本文的随机森林算法,预测运达时间为6 925 min。

    当车辆从始发站出发后,可能会与预测状态不同。例如,某个技术站车辆数量较多,工作人员不能胜任作业任务,从而导致车辆通过时间延后。在实时报文的情况下,本文引入繁忙程度和车站等级两个特征向量。4910314号车辆的特征向量和预测时长,如表2所示。

    表  2  4910314号车辆在孝南站的特征向量与预测时长
    车辆号货物种类始发站当前站终点站当前站繁忙度车站等级报文时间车次车次ID终到预测时长/min
    4910314煤炭张兰孝南定边262170527092734001QKZ_SCT_50926870
    下载: 导出CSV 
    | 显示表格

    将此报文带入随机森林算法中进行计算。步骤与始发站运到时间预测计算步骤相同,得到在当前站到终点站剩余所需时长。

    将实际报文数据与模型预测值进行对比,结果如表3所示。

    单一报文时长预测准确率如图3所示。

    表  3  预测时长与实际书记对比
    当前站报文时间预测到终点站时长/min实际终到时长/min
    张兰17052708456 9366 474
    孝南17052709276 8706 432
    绥德17052810135 2244 946
    子洲17052904104 0743 869
    杨桥畔17053001482 6692 571
    靖边17053022171 3871 342
    定边1705312039
    下载: 导出CSV 
    | 显示表格
    图  3  准确率走势

    初始站的预测误差值为93.3%,但在接下来的行驶过程中,误差值逐渐减少,本文算法没有让误差累计,在不断的实时预测下,准确率稳步提升。最后一站的时长预测准确率为96.8%,证明该算法可行。

    本文运用Python语言,设计实现了基于随机森林算法的铁路货物运达时间预测模型。根据不同的车辆属性预测车辆到达终点站的时长,将车辆的各种影响因素考虑进去,进行特征向量的计算,在行驶过程中不断修正误差,使得终到时间预测更为精确。下一步可计算每个特征向量对目标函数的增益,从而调整各个特征向量,使结果更优。

  • 图  1   OD线路图

    图  2   张兰—定边误差预测值与实际值对比

    图  3   准确率走势

    表  1   抽取4910314号车辆的报文数据

    车辆号货物种类始发站当前站终点站报文时间车次车次ID
    4910314煤炭张兰张兰定边170527084534001QKZ_SCT_5092
    4910314煤炭张兰孝南定边170527092734001QKZ_SCT_5092
    4910314煤炭张兰绥德定边170528101334001QKZ_SCT_5092
    4910314煤炭张兰子洲定边170529041034001QKZ_SCT_5092
    4910314煤炭张兰杨桥畔定边170530014834001QKZ_SCT_5092
    4910314煤炭张兰靖边定边170530221734001QKZ_SCT_5092
    4910314煤炭张兰定边定边170531203934001QKZ_SCT_5092
    下载: 导出CSV

    表  2   4910314号车辆在孝南站的特征向量与预测时长

    车辆号货物种类始发站当前站终点站当前站繁忙度车站等级报文时间车次车次ID终到预测时长/min
    4910314煤炭张兰孝南定边262170527092734001QKZ_SCT_50926870
    下载: 导出CSV

    表  3   预测时长与实际书记对比

    当前站报文时间预测到终点站时长/min实际终到时长/min
    张兰17052708456 9366 474
    孝南17052709276 8706 432
    绥德17052810135 2244 946
    子洲17052904104 0743 869
    杨桥畔17053001482 6692 571
    靖边17053022171 3871 342
    定边1705312039
    下载: 导出CSV
  • [1] 贾玉卫. 铁路货物送达时间可靠性评价研究[D]. 成都: 西南交通大学, 2016.
    [2] 李 玮. 基于货物送达时间分布的铁路货物运达期限保障问题的研究[D]. 北京: 北京交通大学, 2008.
    [3] 梁 栋. 空车动态优化配置的模型和方法研究[D]. 北京: 北京交通大学, 2007.
    [4] 李夏苗,朱晓立. 铁路货物送达时间的估计与预测 [J]. 交通运输系统工程与信息,2003,3(2):81-87. DOI: 10.3969/j.issn.1009-6744.2003.02.018
    [5] 位志广,宋小康,朱庆华,等. 基于随机森林的健康谣言分享意愿研究 [J]. 现代情报,2020,40(5):78-87. DOI: 10.3969/j.issn.1008-0821.2020.05.010
    [6] 孟 杭,黄细霞,刘 娟,等. 结合随机森林和SVM的风机叶片结冰预测 [J]. 电测与仪表,2020,57(17):66-71.
    [7] 蔺京玉,丁洪涛. 铁路货运市场动态分析系统 [J]. 铁路计算机应用,2004,13(8):18-19. DOI: 10.3969/j.issn.1005-8451.2004.08.007
图(3)  /  表(3)
计量
  • 文章访问数:  87
  • HTML全文浏览量:  192
  • PDF下载量:  36
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-07-16
  • 刊出日期:  2021-04-24

目录

/

返回文章
返回