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

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

邓蕲, 董宝田

邓蕲, 董宝田. 基于随机森林算法的铁路货物运达时间预测研究[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.
  • 目前,建筑信息模型(BIM,Building Information Model)技术已广泛应用于建筑领域[1-2]

    轨道交通工程属于典型的复杂建设工程,BIM技术的应用可以提高其建设效率[3]。Revit是BIM建模软件,其功能强大,通常被用于设计轨道交通BIM。然而,轨道交通具有多专业、多用户的特点,各个专业相互查看模型需要通过拷贝模型文件并利用Revit链接功能打开。对于现场施工人员来说,他们可能不会使用Revit;对于设计人员来说,如果BIM文件发生变化,那么需要重新拷贝。因此,轨道交通BIM技术亟须解决在Web端的应用,才能使BIM在各个阶段都能被即时交互。

    针对BIM技术的Web端轻量化应用,Lee等人[4]证明了使用XML格式存储BIM数据的频率逐渐减少,取而代之的是用结构更紧凑的JSON格式文件存储,Afsaria等人[5]提出了将BIM数据用JSON格式文件表示的方法代替用XML格式文件表示的轻量化方案,然而未能完全实现BIM的Web端渲染,赵菲[6]研究了基于WebGL的古建筑BIM轻量化方法,但该方法把BIM数据都放在同一个JSON格式文件进行渲染。如果BIM数据量较大,那么WebGL是不能承受这种渲染带来的内存压力的。一般来说,轨道交通BIM数据量都较大,高喆[7]研究了基于工业基础类(IFC,Industry Foundation Classes)的模型轻量化方案,但是模型数据转化过程太过烦琐。张建平等人[8]证明了BIM的表面模型比实体模型更适合在Web端渲染。

    根据以上的分析可以得知,利用JSON格式文件存储BIM表面模型且将BIM分别存储于多个JSON格式文件,这是Web端渲染BIM的重要前提。因此,本文提出了基于WebGL的轨道交通BIM轻量化应用方案,解决了BIM在Web端渲染的问题。本文方案并未采用BIM建模—IFC格式文件存储—IFC格式文件解析—Web端渲染的传统方案,而是用JSON格式文件代替IFC格式文件作为中间辅助存储BIM数据的工具,采用BIM建模—JSON格式文件存储—Web端渲染的方案。在存储数据方面,与IFC格式文件相比,JSON格式文件具有独特优势。JSON格式文件拥有跨平台性,IFC格式文件则需要专业的解析软件进行解析。

    本文考虑了浏览器渲染大数据时内存压力大(这是因为渲染数据量大时浏览器占用的内存会急剧提高)的问题,采取以构件为单位,分别存储为JSON格式文件的方式,保存BIM的原始数据。

    轨道交通BIM在Web端渲染是支持模型即时交互的重要条件。本文的目标是通过Web端来构建BIM,将Revit的C/S架构变为B/S架构,以辅助轨道交通施工人员和设计人员之间的交互。

    本文的研究重点有3个,具体如下。

    (1)BIM轻量化:又称为表面模型提取。提取BIM的表面模型后,需要将其数据存储为JSON格式文件。

    (2)设计合适的存储方式:由于轨道交通BIM由多个构件组成,若将全部构件的数据存储到同一个JSON格式文件,那么,当进行WebGL渲染时,浏览器会发生内存溢出的情况。因此,BIM应该以单个构件为单位,分开存储BIM构件数据。

    (3)WebGL渲染:从文件服务器中选择待渲染的JSON格式文件,提取模型数据,在Web端完成渲染。

    BIM表面模型通过Web端进行渲染的过程如图1所示。

    图  1  BIM表面模型在Web端的渲染过程

    BIM的RVT格式文件不可以直接在Web端进行渲染[9],因此,需要转换为Web端识别的格式文件。JSON格式文件数据结构是键值对形式,这使其具有跨平台的优势。由于Web端对三角形的渲染速度非常快,BIM表面模型提取的重点是如何将表面模型转化为三角形进行提取。这个问题可以通过Revit二次开发功能来解决,即在Revit二次开发中,通过Mesh类函数对BIM表面模型进行三角形面片化,从而形成三角形网格;然后通过MeshTriangle类的函数get_Vertex()得到三角形面片的顶点。BIM表面模型三角形面片化后的JSON格式文件的数据结构如图2所示。

    顶点集和顶点索引集表示每一个三角形面片在Web端渲染时的位置。法线集和法线索引集表示每一个三角形面片进行Web端渲染时的明暗程度。构件几何中心表示Web端渲染时相机的摆放位置。颜色、透明度等材质属性表示Web端渲染BIM的外观。唯一编号表示构件的编码,Web端以此为依据提取构件信息。

    图  2  JSON格式文件的数据结构

    在轨道交通中常见的车站模型具有构件多、模型大的特点,因而,本文先将BIM构件模型的所有Soild实体所对应的JSON格式文件合并为一个JSON格式文件,其中,一个BIM构件有多个Soild实体,每个Soild实体可以提取相应的表面模型;再将每个构件模型的JSON格式文件分开存储。这种处理方式需要文件服务器支持文件数量多、单个文件小的存储形式。为此,本文对几种常用文件服务器的性能进行了对比[10-12],对比结果如表1所示。可以发现,FastDFS更适合作为本文方案的文件服务器,实现JSON格式文件的存储及管理。

    表  1  常见文件服务器性能对比
    文件服务器性能
    HDFS支持大文件存储,不适合小文件存储
    GlusterFS支持多种数据类型,较适合大文件存储
    mogileFS支持多节点冗余,支持自动复制文件
    FastDFS支持多种数据类型,适用于海量小文件模式
    下载: 导出CSV 
    | 显示表格

    WebGL由许多JavaScript的应用程序接口(API,Application Programming Interface)集合构成[13]。随着技术的发展,Web段渲染框架在WebGL基础上又封装了JavaScript 3D引擎,这推进了Web端可视化的发展。本文采用JavaScript 3D引擎Three.js作为Web端渲染框架,这是因为Three.js具有开源、说明文档丰富、不需要特定物理引擎、可以导入外部3D模型等优点,能够满足本文方案的要求。

    构件数据存储示例如图3所示,字段名和JSON格式文件数据结构的对应关系如表2所示。

    图  3  构件数据存储示例
    表  2  JSON示例与JSON格式文件对应关系
    JSON示例字段JSON格式文件对应字段
    VertexCoords顶点集
    VertexIndices顶点索引集
    Normals法线集
    NormalsIndices法线索引集
    Center构件几何中心
    Transparency、Color材质
    ID唯一编号
    下载: 导出CSV 
    | 显示表格

    JSON格式文件完成存储后,可通过Three.js进行渲染。在实际渲染中,构件数据存在一个顶点同时属于多个面的情况,如图4所示。在图4中,顶点V7同时属于面F1F2F3F4F6,那么会被重复存储4次。一般情况下,每一个顶点会同时属于3~4个面。因此,在已经有VertexCoords的情况下,本文增加了VertexIndices来辅助存储表面模型信息。这种“VertexCoords+VertexIndices”的复合存储方式比单独使用VertexCoords能节约60%以上的存储空间。

    图  4  常见的三角形面片分布

    Three.js对三角形面片JSON格式文件的渲染流程如图5所示,具体步骤如下。

    图  5  Three.js对三角形面片JSON格式文件渲染流程

    (1)查找VertexIndices集合中的索引值。3个索引值为一组,每一个索引值对应VertexCoords中的一个顶点;将3个顶点首尾相连,形成一个三角形面片。以此类推,获得所有三角形面片,还原表面模型。

    (2)得到表面模型后,查找三角形面片的法线集。法线集的查找方式和顶点一样。

    (3)计算构件几何中心,获得相机初始摆放位置。构件几何中心为Solid实体的Center位置平均值,计算式为${{X}} = (1/N)\cdot \displaystyle\sum\limits_{i = 1}^N {{\rm{Center}}_i}$,其中,Centeri表示Solid实体的中心点位置,N表示Solid实体的个数,X表示Center位置平均值。

    (4)渲染颜色、透明度等材质信息,以使渲染出来的模型和Revit的BIM保持一致。颜色、透明度等材质信息是从BIM的材质信息中提取出来的。

    (5)用对象类表示三角形面片顶点、三角形面片法线集、颜色、透明度、唯一编号等信息,完成BIM构件的渲染。

    (6)重复上述步骤,直至完成整个BIM的渲染。

    在实际的渲染过程中,为了减小浏览器的渲染压力,本文采取分级渲染的策略:a.渲染建筑结构专业BIM构件,以便快速得到直观的视觉呈现效果;b.渲染暖通、给排水、供电、通风等专业BIM构件;c.合成,实现BIM的渲染。

    本文首先提取BIM表面模型,并存储为JSON格式文件;再通过Revit二次开发功能完成BIM构件。插件(部分专业)如图6所示,其中,图6(a)为土建结构专业,图6(b)为给排水专业。在上传的时候,需要在文本框中给出所上传模型的专业和所属项目,以便后期数据库查找数据。

    图  6  格式转化插件

    存储阶段:完成插件后,可以将整个BIM对应的多个JSON格式文件一键上传到FastDFS文件服务器中。

    Three.js首先渲染建筑结构专业BIM表面模型,如图7所示。这种方式能够快速地呈现BIM外观,减少渲染等待时间。待渲染这些专业完成后,使用人员可以选择继续渲染如图8所示的给排水专业等BIM构件。这些构件可以同时在Web端进行渲染,也可以分别进行渲染。

    图  7  建筑结构专业BIM构件
    图  8  给排水专业BIM构件

    本文主要使用JSON格式文件表示轨道交通BIM对应的表面信息、使用FastDFS存储管理BIM对应的大量JSON格式文件、使用Three.js渲染这些JSON格式文件,实现了轨道交通各专业BIM Web端的渲染。该应用不仅完全脱离了IFC格式文件,还使Web端渲染大模型时内存压力变小。通过查找大量文献发现:FastDFS在读入/读出文件时是可以提升效率的,例如,使用Redis缓存机制建立文件名和全局索引的键值对,以及使用数据预取机制等方法,可以加快FastDFS文件服务器的工作效率。这是本文的下一步工作重点。

  • 图  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

目录

/

返回文章
返回