实时交通流条件下船舶航道航行风险预警模型

张树奎++肖英杰






摘要:为提高航道内实时交通事故预警精度,基于长江下游两个水道内发生的交通事故数据和船舶检测器数据,运用随机森林(Random Forest,RF)模型对事故发生前20-40min内的航道状态初始数据进行重要变量筛选,根据筛选出的4个最重要的变量结合高斯混合模型和最大期望算法构建新的事故预警贝叶斯网络(Bayesian Network,BN)模型,实例检验表明:新的BN模型优于直接利用初始数据建立的模型,事故预警正确率达到81.29%;可转移性测试中新的BN模型的事故预警正确率虽有所降低,但整体预警正确率和事故预警正确率仍高于利用初始数据建立的模型;新的BN模型用于实时船舶交通流航行风险预警是有效的.
关键词:航道;航行风险;预警;随机森林模型;贝叶斯网络
中图分类号:U698
文献标志码:A
0 引言
航道内偶尔发生的船舶交通事故不仅造成人员伤亡和财产重大损失,同时溢油、漏油等还给环境治理带来难以估计的经济损失,事故产生的主要原因分为人、船、航道和环境等4个方面,在这4个方面的综合作用下,航道内的实时交通流不断发生变化.国内外关于船舶交通流的研究较多,其中:吴中等根据流体力学原理和船舶制动距离公式建立Anylogic仿真模型,并分析水流对交通流的影响以及交通流的基本特征;冯宏祥等基于支持向量机理论,建立短期的船舶交通量预测模型;金兴斌等通过对均值处理过的数据进行拟合得到交通流与船速的关系;杨星等根据内河船舶相互影响的特性,基于航道作为通航服务的资源,构建通航服务资源的内河交通流模型,国内外的研究多集中在如何构建交通流模型上,针对交通流与事故风险的关系研究较少.
近年来,对实时交通流运行风险预警的研究成为热点,研究方法是利用有事故发生或无事故发生时的有关数据和相应的检测器数据建立预警模型,以判断发生交通事故的风险,代表性成果有:OH等运用非参数贝叶斯统计方法对高速公路车辆实时运行风险进行预警;PANDE运用逻辑回归和分类树二元分类方法建立高速公路实时交通事故预警模型,并对模型的可转移性进行测试;ZHENG等一引基于日本的高速公路事故数据构建实时的贝叶斯网络(Bayesian Network,BN)事故预警模型;在对模型建立前的重要参数筛选研究方面,CALVO首先运用随机多项分对数模型筛选重要参数,然后对事故风险进行预警分类,分类结果好于未进行重要参数识别的预警分类,
综上所述,目前对实时交通流运行风险预警的研究集中在道路方面,研究内容主要是预警模型的构建及选取,其中BN模型预警效果最好,但却忽视了在众多影响运行安全的因素中筛选重要参数的研究.运用较多参数构建模型不仅使计算复杂,而且易导致过拟合情况.关于航道内实时船舶交通流航行风险预警方面的研究成果较少,且航道内船舶交通流航行风险由很多因素变量及其组合组成,因此在构建预警模型时,有必要先进行关键参数的重要度识别,
本文选择两处航道形态和环境参数相近的水道,先运用随机森林(Random Forest,RF)模型对影响航道安全的重要参数进行筛选,运用筛选后的变量构建模型,然后利用改进的BN模型对航道内实时船舶交通流风险进行预警,并采用长江下游航道船舶检测器(或VTS)和海事局通航处信息中心的事故数据,测试所建模型的可转移性,以便将其用于其他航道内.
1 问题的描述
本文采用的航道内船舶交通流状态由基本的状态数据(交通流密度、船舶速度和航道占有率)及其组合的计算结果表示,状态数据采集于交通事故发生地点附近的船舶检测器.根据贾丰源等,利用交通事故发生前20-40min内距离事故发生地最近的两个船舶检测器(上、下游各一个)的事故数据建立的BN模型预警效果最好.
为比较真实地反映交通事故发生时航道内的交通状况,每起事故的相关信息只提取事故发生地附近的4个船舶检测器(事故发生地上、下游各2个船舶检测器)或VTS的数据.按照从上游到下游的顺序分别为4个船舶检测器命名为N1,N2,N3和N4,具体分布见图1.
根据4个船舶检测器或VTS的初始数据,可分别计算出距离事故发生地最近的2个船舶检测器测得的交通流密度、船舶速度和航道占有率的差值及上下游的平均值.因此,模型的输入包括3部分变量:初始数据、各种变量的差值和平均值.所有变量列于表1.表1中:数字1-4与船舶检测器N1-N4一一对应;Q(1),V(I)和O(I)分别表示船舶检测器N1检测到的在事故发生前20-40min内的交通流密度、船舶平均速度及航道平均占有率;△Q(13)表示船舶检测器N1与N3的交通流密度差;Q(13)表示船舶检测器N1与N2的交通流密度平均值;其他变量命名与上述类似.
2 预警模型
2.1 RF模型
由于用于模型构建的可选变量众多(30个),考虑到模型计算的复杂性和模型过拟合的问题,在建模前需对可选变量进行筛选,以便识别出对航道内船舶交通流安全影响较大的变量,并以这些变量作为模型的输入变量.RF模型是由Breiman在2001年提出的一种统计学习方法,它是由很多分类回归树(Classification And Regression Tree, CART)模型集成的组合分类模型,在处理变量多重共线性和高维度数据方面表现突出,能够很好地度量多达几千个解释变量的作用,是最好的算法之一。RF模型的计算步骤如下.
步骤1从初始训练样本集H={(xi,Yi)}(i=1,2,…,n)中采用自助法抽出s个样本组成一个新样本集,记作Hs用Hs建立一个CART.
步骤2 在所建的CART的每个节点处从全部变量M中随机地挑选出m个变量(m≤M)进行CART节点分割.
步骤3 重复以上两步骤s次,构建一个RF模型,
步骤4 计算每次生成的CART的袋外数据(Out-Of-Bag,OOB)HOOB,HOOB=H-Hs.
步骤5 运用CART对HOOB进行预警分类,并合计分类正确次数.
步骤6 对每个自变量i,先改变HOOB中的自变量值xi,然后运用xi和CART对HOOB进行预警分类,并合计分类正确次数,
步骤7 根据步骤5和6合计分类正确次数,计算HOOB中的xi改变后分类正确率的下降值(误差).
步骤8 计算全部s个CART中HOOB中的xi改变后分类正确率的下降值(误差),得到xi的重要度,误差越大说明该变量越重要.
2.2 BN模型构建
重要变量筛选出来后,根据所选变量构建航道内实时船舶交通流航行风险预警模型.由于航道内船舶航行安全具有不确定性,而BN在不确定知识表达和推理领域优势明显,近年来在交通事故预警、流量预测等方面表现良好,同时又由于航道内船舶交通状况的信息采集可能存在缺失情况,而基于高斯混合模型(Gaussian Mixture Model,GMM)的最大期望(Expectation Maximization,EM)算法能够有效应对研究数据的缺失,因此本文采用该算法来构建BN模型,对航道内实时船舶航行风险进行预警,有关BN模型的构建方法详见张树奎等,这里不再叙述,
研究表明,使用MATLAB实现BN分类器的构建是一种较好的方法.利用基于GMM的EM算法学习和训练分类器的结构和参数.构建分3步完成.
步骤1 数据输入,将船舶交通流数据、船舶交通事故数据及非事故数据输入到BN,并随机确定训练样本和测试样本,两者数据比例为1:1,用以保证模型检验的可靠性,
步骤2 分类器训练.利用训练样本数据和EM算法训练并构建分类器,
步骤3 分类器的应用,将已经构建好的分类器的推断引擎和测试数据输入到分类器,其输出就是测试样本属于各类别的后验概率(见图2).为提高分类结果的准确率,具体分类时可以根据实际观察确定一个合适的安全阈值,如果某后验概率大于安全阈值,则认为其对应的测试样本是交通事故数据,反之,则认为是非交通事故数据.
3 算例研究
3.1 数据获取
考虑到数据采集的可靠性和便利性,选择长江南京河段的草鞋峡水道和镇扬河段的丹徒水道作为研究航道,草鞋峡水道采集的数据用于模型构建及预警,而丹徒水道采集的数据用于模型的可转移性测试,两个水道内平均约每2km放置一船舶检测器.
根据PANDE的研究成果,船舶交通事故数据与非事故数据比例约为1:10,既能够满足建模所需的数据量,又能够基本反映航道内交通状态(交通事故实际发生与否).因此,在不同的船舶交通条件下,随机采集草鞋峡水道和丹徒水道2013年间非事故数据750余起,其中草鞋峡水道600起条,丹徒水道150起.船舶交通事故数据从VTS和海事局通航处信息中心获取,由于每起船舶交通事故的信息需要与相应的时间和地点的船舶检测器信息一一对应起来,所以获取大量的船舶交通事故数据非常困难.经过对船舶检测器检测的数据和船舶交通事故的质量控制和筛选后,目前采用2013年3月到10月期间发生在草鞋峡水道和丹徒水道中的72起船舶交通事故数据,其中草鞋峡水道内58起,丹徒水道内14起,每起事故的数据均包含事故发生的时间、地点、事故类型以及当时的天气状况等,具体事故类型及事故数量见表2.
3.2 模型检验
采用总体数据分类正确率、事故数据分类正确率及非事故数据分类正确率等3个评价标准来检验BN模型的有效性,其中:事故数据分类正确率等于分类正确的事故数据与总事故数据的比值;非事故数据分类正确率等于分类正确的非事故数据与总的非事故数据的比值.由于事故发生的危害性较大,评价标准优先考虑事故数据分类正确率.
为得到较优的分类模型,对每组数据均测试12次,并求出每组数据分类结果的平均值,根据平均值判断模型的优劣.
3.3 模型结果
3.3.1 RF模型计算
通过计算机编程,运用MATLAB实现RF模型的计算步骤.将30个变量输入到已经编好的RF计算程序中,各变量的重要度计算结果见图3.图3中,纵坐标表示某变量改变后分类正确率的下降值,此值表示该变量的重要度.
前期研究结果表明,采用船舶交通事故发生前20-40min内距离事故发生地最近的2个船舶检测器测得的数据所构建的BN模型预警效果最优.该模型共选取6个变量.因此,本文选取的变量应少于6个,以证明重要参数识别的作用,经过对比分析,并综合考虑模型预警正确率的要求,最终选取V(34),0(12),V(2)和0(2)等4个重要度最高的变量作为输入变量.这4个变量分别表示交通故事故发生前20-40min内下游的船舶平均速度、上游的航道平均占有率、船舶检测器N2所测船舶速度和航道占有率.
3.3.2 BN模型结果
基于草鞋峡水道内发生的58起交通事故和600起非交通事故的相关数据,对事故发生前20-40min内的航道内船舶交通流状态数据经过重要变量筛选后采用BN模型进行分类,并将分类结果与前期研究结果比较,具体见表3.
由表3可知,虽然前期研究中采用事故发生地前后2个船舶检测器在事故发生前20-40min内的检测数据所建的BN模型在非事故数据分类正确率和总体数据分类正确率两方面预警值较高,同时在事故数据分类正确率方面也较好,但是运用经过RF筛选后所选取的4个重要变量构建的BN模型在同样条件下预警效果更好,表现在不仅非事故数据分类正确率和总体数据分类正确率有小幅度提高,而且事故数据分类正确率更是高达81.29%.通过比较,说明经过RF筛选重要变量后所建立的BN模型不仅复杂度降低,而且其预警效果更优,
3.3.3 BN模型的可转移性测试
为比较筛选重要变量后建立的模型与前期研究中只利用初始数据建立的模型的通用性,对两种模型进行可转移性测试,利用基于草鞋峡水道内的交通数据建立的BN模型测试丹徒水道内的交通数据,基于丹徒水道内的14起事故数据和150起非事故数据,得到两种模型的可转移性测试结果,见表4.
从表4可以看出,基于筛选重要变量后构建的BN模型的测试结果整体好于直接利用初始数据构建的BN模型的测试结果.基于筛选重要变量后建立的模型的事故数据分类正确率有所降低,为68.41%,但是非事故数据分类正确率却高达94.63%,而且总体数据分类正确率也达到91.86%;而基于直接利用初始数据构建的模型的测试结果却不太理想.
4 结论
运用随机森林(RF)模型从在事故发生前20-40min内事故发生地附近的4个船舶检测器测得的初始数据和计算数据中筛选出4个最重要的变量,结合基于GMM的EM算法构建新的BN预警模型,通过与前期的研究结果比较表明,新的BN模型不仅复杂度降低,而且可提高事故预警正确率,其值高达81.29%.
可转移性测试结果表明:基于筛选重要变量后建立的BN模型事故预警正确率虽有所下降,但整体预警正确率和事故预警正确率仍高于直接利用初始数据构建的模型,说明利用一个航道内的数据所建立的新的BN预警模型能够用于其他航道内的交通事故预警.
由于所选的两处水道具有航道形态和环境参数相近的特点,为验证在不同条件下模型的稳定性和预警精度,对具有不同航道形态和环境参数的水道内的事故特征和不同事故类型的预警需要进一步研究.