基于随机森林的船舶碰撞事故缺失数据插补*

2019-12-27 10:16张金奋范存龙胡卫东
关键词:经纬度经济损失事故

吴 郁 张金奋 范存龙 胡卫东

(武汉理工大学航运学院1) 武汉 430063) (武汉理工大学内河重点实验室2) 武汉 430063) (武汉理工大学智能交通系统研究中心3) 武汉 430063) (武汉理工大学国家水运安全工程技术研究中心4) 武汉 430063)

0 引 言

交通事故数据是分析事故致因、梳理事故规律、揭示事故机理、预测事故演化的基础.针对交通事故数据的研究主要包括:①基于事故数据量的分析,常用的方法如模型驱动[1-2]、数据驱动[3-4];②基于事故致因或机理的研究,通过事故数据凝练事故规律[5]或通过构建事故致因模型分析事故个案[6];③基于事故数据和事故模型的交互模式,事故数据、专家经验、事故或安全生产理论等为事故模型的构建提供支持,或事故致因机理的调整.且所构建的事故模型用于分析或预测事故,该模式应用贝叶斯理论或贝叶斯网络较多[7-8].但是,水上交通事故数据通常存在数据缺失、信息不完备、记录不准确等问题.

数据缺失或不完备问题在实际数据分析中广泛存在.Little等[9]根据数据缺失原因将数据缺失类型分成三类:完全随机缺失(missing completely at random,MCAR)、随机缺失(missing at random,MAR)和非完全随机缺失(missing not at random,MNAR).按照数据缺失模式又可以分为单调缺失模式和任意缺失模式两类.本文研究对象属前者,任意缺失模式下缺失数据的插补可参见.数据的缺失最终会影响研究结果的信效度,因此需要对缺失数据进行恰当处理.

针对缺失数据,常用的处理方法可总结为四类[10]:①直接去除样本中缺失数据,如个案剔除法(listwise deletion)、成对删除法(pairwise deletion)等;②对样本中缺失数据进行简单插补,如正确项目平均分替代法(corrected item mean substitution imputation,CM)、平均数插补法(mean imputation)等;③对样本中缺失数据进行高级插补,如回归插补法(regression imputation)、多重插补法(MI)、EM算法、机器学习的方法等;④直接分析带有缺失数据的样本,较多采用机器学习的方法,如直接扩充粗糙集,决策树等.在事故数据维度高时,若用模型驱动(传统的概率统计或回归模型)则需要基于一定的统计假设,而此类假设在实际中是难以完全严格保证的;若假定服从某一分布则结果的准确性存疑.分类水平较多时,由于稳健性差和缺乏可操作性使得模型驱动的应用受限,比如,本文研究对象事故记录中的时间被分成九个时段.另一方面,随着机器学习等数据驱动方法的发展与应用,缺失数据插补方法逐渐发展与丰富,其中比较典型的机器学习方法如随机森林方法[11].该方法处理缺失数据和非平衡的数据比较稳健,对异常值和噪声具有很好的容忍度且不容易出现过拟合,对数据的分布无限制,能有效分析高维复杂数据[12].徐凯等[13]利用随机森林回归预测算法地震道缺失数据进行插补,且取得良好应用效果,证明随机森林方法的正确性与有效性.谢翘楚等[14]运用随机森林算法处理不完全规律缺失数据(连续型数据),以均方根误差和填补准确度为评判指标,实验结果证明该方法的准确性和有效性.

以江苏海事局2012—2016年船舶碰撞事故记录为研究对象,根据事故记录中“区域”“经纬度”“事故处理程序”的属性,采用随机森林方法进行缺失数据插补.其中,针对“区域”和“经纬度”的缺失,主要采用专家经验并结合电子江图等进行插补;针对“事故处理程序”缺失,采用随机森林的分类方法.研究的目的与意义在于插补事故记录中缺失数据,为后续的事故分析和安全研究提供完整的数据.

1 数据描述

选取的数据主要包括长江干线江苏段945起船舶碰撞事故,每起事故包含23项记录,如事故名称,日期,辖区,水道,区域等.其中辖区、区域和经纬度均包含事故地理信息.因为辖区主要供管理部门参考,所以选取区域和经纬度研究事故地理信息.事故名称、浮标、地点、事故简况、事故客观原因、事故直接原因为详细的文本描述难以划分类别而未考虑,但可为部分变量缺失插补提供参考,如事故简况可为区域记录或经纬度记录缺失的插补提供参考,因此,选用16项记录见表1,共945起事故为研究对象.

表1 事故记录项类型或取值范围

945起事故记录完整度为82.65%,存在如下缺失:①只缺失“区域”记录有20起,占江苏段干线碰撞事故的2.116%;②只缺失“经度”和“纬度”记录有19起,占干线事故的2.011%;③只缺失“事故处理程序”记录有2起,占干线事故的0.211 6%;④缺失“事故处理程序”和“经济损失”记录有12起,占干线事故的1.27%;⑤只缺失“经济损失”记录有150起,占干线事故的15.87%.缺失比率越高,参数估计准确性越差且参数估计变异性越大.根据专家经验并结合事发地点、事故简况在长江航道局电子江图、船讯网提供的专业江图上确定“区域”“经度”和“纬度”,由此解决缺失(1)、(2).区域和经纬度缺失数据插补后的数据见表2.由于篇幅限制,本文主要针对缺失(3)、(4)进行插补,即采用随机森林的分类方法对“事故处理程序”记录缺失进行插补,缺失数据插补工作流程见图1.

表2 区域和经纬度记录缺失插补后数据

图1 缺失数据插补流程

2 基于随机森林的分类方法

2.1 随机森林概述

随机森林基本思想见图2[15].随机森林让每棵树尽可能生长,而且不进行修剪.随机森林也会给出分类中各个变量的重要性.文中采用R语言中的RandomForest包.

图2 随机森林的基本思想

2.2 随机森林的分类方法

步骤2模型评价 通过训练集获取随机森林模型,并通过运用该模型对该训练集进行分类.对于分类问题,可通过混淆矩阵和基于OOB的误分率来评价模型.

步骤3重要度分析 根据步骤2中随机森林模型分析自变量对因变量的重要度.

结果的验证,可以将模型预测的结果与事故记录、事故简况等实际情况进行对比分析.

3 “事故处理程序”记录缺失插补

3.1 对两起事故处理程序的缺失插补

对于两起事故只缺失“事故处理程序”记录的插补,训练集选取781起完整事故记录.“事故处理程序”为因变量,其余15个记录项作为自变量.

1) 通过遍历设定mtry参数为1~15进行15次建模,经试算,当mtry取3,ntree取500时,误分率总体稳定.

2) 设定mtry和ntree参数后,利用R语言中RandomForest程序包运行得到随机森林模型.通过该模型对该训练集数据进行分类,所得混淆矩阵见表3,其误分率为0.249 7.

表3 基于随机森林方法所得混淆矩阵

事故处理程序的判断属于分类问题,可采用传统的统计模型,如Logistic回归、Probit回归等模型.从机器学习的角度,该问题属于监督学习(supervised learning),随机森林还可采用朴素贝叶斯(naive bayesian)等方法.通过对比四种方法对781条完整数据(训练样本)判断的误分率见表4,随机森林方法优于其他方法.

表4 四种方法对事故处理程序的分类的误分率

3) 随机森林的变量重要度评估.图3为各个变量对事故处理程序两种情况的相对影响.由此,可以认为影响事故处理程序的重要因素有经济损失,沉船艘数,事故等级,死亡失踪,经纬度、区域、船舶航行状态、交通态势.由此可见,对经纬度和区域的插补是必要的.

图3 自变量对因变量水平响应的重要度

4) 根据随机森林对“2014-07-22-1918-新宝航87-海长翔”“2014-08-13-2206-申燃22-皖鸣远1119”进行事故处理程序分类,结果均为简易程序,见表5.对比两起事故,二者仅在经纬度、交通态势分析和事故原因有不同差别.尽管经济损失相差较大,但根据《水上交通事故统计办法》(中华人民共和国交通运输部令2014年第15号)第六条,两起事故从经济损失判断均属于小于100万元的小事故.由此,将这两起事故的处理程序判断为简易具有一定的合理性.

表5 基于随机森林的预测概率

3.2 对12起事故数据的处理程序的缺失插补

对于12起既缺失事故处理程序又缺失经济损失的记录的插补,训练集选取931起事故记录,其中781起为去除经济损失项的完整记录,150起为只缺失经济损失的记录.“事故处理程序”为因变量,其余14个记录项作为自变量.重复上述步骤1~4,设定mtry为6和ntree为500后,通过R语言中RandomForest程序包运行得到随机森林模型.通过该模型对该训练集数据进行分类,所得混淆矩阵,见表6,误分率为0.244 9.

表6 基于随机森林方法所得混淆矩阵

图4为自变量对因变量水平响应的重要度,由图4可知,沉船艘次、经纬度、航行状态、事故等级、当事方数、区域对结果的影响大.

图4 自变量对因变量水平响应的重要度

12起记录的事故处理程序的预测分类及其概率,见表7.随机森林方法将除“扬州-碰撞-兴航136-长通海”事故判定为简易外,其他均判定为一般.与其他11起事故相比,“扬州-碰撞-兴航136-长通海”事故双方船舶在事故发生时间均处于锚泊状态,由于双方未留足距离导致碰撞事故发生,其造成的事故后果较小.而其余事故则是航行船碰撞锚泊船或航行船碰撞航行船,造成的事故后果更大.

表7 基于随机森林的预测概率

4 结 束 语

数据缺失、信息不完备、记录不准确是水上交通事故数据较为常见的问题.缺失数据的存在将降低基于数据挖掘的事故规律解析或事故机理揭示的可信度.水上交通事故记录项数据类型多、维度高、信息冗余等特性在事故缺失数据插补过程中决定了方法的选取、变量的筛选等.研究表明:经济损失,沉船艘数,事故等级、区域等是影响事故处理程序的关键因素;事故等级,死亡失踪人数,事发经纬度等是影响经济损失的关键因素.在相同测试样本下,随机森林方法的精度优于Logistic回归、Probit回归和朴素贝叶斯等方法.

猜你喜欢
经纬度经济损失事故
美国供水与清洁基础设施不足造成每年85.8亿美元经济损失
学中文
废弃泄漏事故
基于经纬度范围的多点任务打包算法
小恍惚 大事故
自制中学实验操作型经纬测量仪
澳洲位移大,需调经纬度
下雪的代价