基于Apriori算法的船舶交通事故关联规则分析
2014-07-23黄常海高德毅胡甚平耿鹤军彭宇
黄常海,高德毅,2,胡甚平,耿鹤军,彭宇
(1.上海海事大学商船学院,上海 201306;2.上海市教育委员会,上海 200003)
0 引言
船舶交通是与国民经济密切相关的重要交通方式,为我国经济和社会发展作出巨大贡献,然而船舶交通事故屡见不鲜.[1]对船舶交通事故进行分析,挖掘事故潜在的致因关系,对预防和控制船舶交通事故的发生具有重要的意义.
国内外学者从不同的角度对事故的影响因素进行分析.张晓辉[2]利用数据挖掘方法对水上交通基础数据进行全因素挖掘实验.刘正江等[3]利用数据挖掘对人为失误与其影响因素之间的关系进行挖掘,初步确定船舶避碰过程中人为失误与引发因素之间的对应关系.牟军敏等[4]通过对重特大恶性碰撞事故的数据挖掘,量化提取事故特征,并利用广义线性模型对船舶碰桥事故建立概率预测模型.KOKOTOS等[5]用分类树方法对航运事故进行数据挖掘,认为引入国际安全管理(International Safety Management,ISM)规则以后,人的因素导致的事故减少.梁第等[6]结合基于属性频度的约简算法和改进的值约简算法对水上交通事故典型案例进行分析,并加入相关的支持度和置信度.贾爱鹏等[7]对80份船舶碰撞事故报告进行分析,提取导致事故的人的因素,用STATISTICA统计分析软件对其进行关联规则分析.然而,上述研究中较少涉及对船舶交通事故致因关系的研究,尤其是事故致因与事故属性的关联关系研究,同时缺少对基于数据挖掘结果的事故应对策略研究.本文在分析关联规则及Apriori算法的基础上,提出船舶交通事故关联规则挖掘基本流程.以某海事局辖区范围内连续10年的船舶交通事故数据为样本,按照船舶交通事故关联规则挖掘流程,运用Apriori算法对样本数据进行挖掘.深入分析所挖掘数据的强关联规则,探讨事故致因间的潜在关系,并提出防范船舶交通事故的应对策略.
1 关联规则及Apriori算法
给定一个含有m个事务的数据库D={t1,t2,…,tm},有n个属性,这n个属性组成的项集为I={i1,i2,…,in},那么其中的每个事务 t都是一个项集,且t⊆I.设A是一个项集,当A⊆t时称“事务t包含 A”.
关联规则是形如X⇒Y的蕴含式,其中X和Y是项集,且 X⊂I,Y⊂I,X∩Y=φ,X 称为规则前项(或前件,antecedent),Y称为规则后项(或后件,consequent).
关联规则X⇒Y的支持度s是数据库中包含support(X⇒Y)的事务占全部事务的百分比,它是概率 P(X∪Y),记作 support(X⇒Y)=P(X∪Y).
关联规则X⇒Y的置信度c是包含X∪Y的事务数与包含 X的事务数的比值,它是条件概率P(Y/X),记作 confidence(X⇒Y)=P(Y/X).[8]
提升是用规则的置信度除以规则后项的支持度所得的比值;部署能力是指支持规则前项但不支持规则后项的事务占全部事务的比例.[8]
在进行关联规则挖掘前,用户预定义最小支持度阈值min_sup和最小置信度阈值min_conf.如果某个项集的s≥min_sup,则称这个项集为“频繁项”(也称“大项集”,LargeItemsets),所有的“频繁 k-项集”组成的集合通常记作 Lk.[9-10]
关联规则挖掘过程主要包括两个阶段:第一阶段从数据集中找出所有的频繁项集,均满足s≥min_sup;第二阶段由这些频繁项集产生关联规则,计算这些关联规则的置信度c,然后保留那些满足c≥min_conf的关联规则.[11]
Apriori算法是一种挖掘关联规则频繁项集的的经典算法.该算法使用逐层搜索的迭代方法,频繁k-项集用于探索频繁(k+1)-项集.首先,找出频繁1-项集的集合,记作L1;然后利用L1找频繁2-项集的集合L2,利用L2找L3,如此下去,直到不能找到频繁k-项集为止.找每个Lk需要进行一次数据库扫描.Apriori具有一个重要性质:频繁项集的所有非空子集都必须是频繁的.Apriori算法主要由连接步和剪枝步组成,在这两步中采用Apriori的性质可以提高该算法的效率.
2 船舶交通事故关联规则挖掘流程
船舶交通事故关联规则挖掘流程包括准备数据,清理数据,建立模型,产生频繁项集,产生强关联规则,分析强关联规则等,见图1.
图1 船舶交通事故关联规则挖掘流程
2.1 数据准备
选择海事事故数据库中M海事局(简称)6个辖区内的894起船舶交通事故作为关联规则挖掘的原始数据信息.
随着我国发展水平的不断提高,人民群众对于生活环境要求也在不断的提高,居住环境干净整洁已经不能够满足当前的需要。现如今我国园林绿化还比较简单,不符合时代发展潮流,所以,我国必须要提高重视程度加大投入力度来开展园林绿化活动。
2.2 数据清理
海事事故数据库中数据量较大,为方便关联规则的挖掘,可去除船名、事故具体位置等信息,并修正带有缺省值的项,最终得到进行海事事故关联规则挖掘的样本数据.
2.3 建立关联规则模型
基于船舶交通事故的致因分析,建立船舶交通事故致因关系模型,其中事故致因主要包括意外原因、自然原因、航道码头原因、交通原因、船舶货物原因、船员原因及其他人员原因等.基于事故特征分析,建立船舶交通事故属性关系模型.
以船舶交通事故后果为后项,以事故致因、事故属性为前项,建立船舶交通事故关联规则分析模型,见图2.
图2 船舶交通事故关联规则分析模型
2.4 产生频繁项集
首先产生候选集Ck,所谓候选集就是可能成为频繁项集的项目集合.然后,基于候选集Ck计算支持度并确定频繁项集Lk.
2.5 产生强关联规则
从由频繁项集产生的所有的简单关联规则中选择置信度大于用户指定最小置信度阈值的关联规则,组成强关联规则集合.
2.6 强关联规则分析
对挖掘出来的强关联规则进行分析,解释其与海事事故之间的内在联系,剖析事故致因的关联关系.
3 船舶交通事故关联规则挖掘
3.1 船舶交通事故因素网络图
以船舶事故为导向生成的船舶交通事故与事故致因、事故属性的关系的网络图见图3,考虑到节点、链接较多以及图形尺寸的限制,链接显示阈值设置为50.以船舶交通事故后果为导向生成的事故后果程度与事故致因、事故属性的关系的网络图见图4,链接显示阈值设置为30.导向网络图可直观地表达因素之间关系的强弱程度.从图3和4可知:事故原因中的船员原因和自然原因与事故关联度大,尤其是船员原因与事故关联度大;其次是货船(船舶分类1)、乡镇个体船(船舶分类2)、雾季(季节特征)与事故关联度也较大.
图3 船舶交通事故因素网络(事故为导向)
图4 船舶交通事故因素网络(事故后果为导向)
3.2 船舶交通事故强关联规则挖掘
按照船舶交通事故关联规则挖掘流程,依次完成数据准备和数据清理后,产生频繁项集和强关联规则(见表1).在本次实验中,最小支持度取10%, 最小置信度取70%.
表1 船舶交通事故强关联规则
3.3 船舶交通事故强关联规则分析
应用关联规则方法对船舶交通事故统计数据进行挖掘,不仅可以对事故致因和事故属性进行其单一因素的定量分析,还可以解决常规数理分析方法难以实现的任务,即多因素关联关系挖掘.对强关联规则挖掘的结果如下:
(1)从事故后果统计可知,轻微事故在Q辖区内发生的船舶交通事故中占主要部分.
(2)港口泊位附近水域是事故的高发水域,该水域中货船发生的事故以及由船员原因导致的事故与轻微事故关联度高.
(3)雾季是Q辖区内船舶交通事故的高发期.
(4)Q辖区的进口船、货船、乡镇个体船与轻微事故关联度高,Q辖区货船中的乡镇个体船、航行中的货船、航行中的乡镇个体船与轻微事故关联度高.Q辖区涉及船员原因的轻微事故与货船、乡镇个体船关联度高.
4 船舶交通事故防范对策
船舶交通事故关联规则挖掘以客观事故统计资料为基础,可以科学、准确地挖掘事故致因与事故属性的关联关系.基于船舶交通事故强关联规则分析的结果,客观制定针对性的防范对策.
(1)加强对Q辖区船舶交通事故的防范,针对重点水域采取针对性安全管理措施,遏制特定水域的事故多发态势.
(2)雾季是全年中的事故多发期,需重点加强防范.督促航运公司在安全管理体系中建立有效可行的雾航制度,在雾季来临前做好雾航理论知识学习、设备检查和保养;督促船舶加强雾区瞭望和值班人员配备,认真执行交接班制度,采用安全航速;提高值班人员安全意识,保证雾航安全.
(3)加强管理力度,督促港航企业及个体从业者遵守相关法律法规,规范经营;禁止不合格的航运公司和低标准船舶进入航运市场,并加快对老旧船舶的淘汰步伐,通过实施严格的船舶检验提高船检质量.重点加强对乡镇个体船的监管,从船舶管理、船检、现场检查等方面,全面提升对乡镇个体船的安全管理,尤其是对Q辖区的乡镇个体船的管理.
(4)完善水上交通安全隐患举报机制,畅通投诉举报渠道,提高群众参与水上交通安全监督的积极性和主动性.注意对执法人员的监管.
(5)加强对港航从业人员的专业技能培训,完善培训网络和培训内容,提高培训质量.普及水上交通安全法规及常识,提高水上交通安全意识.加强对执法人员的业务培训.重视船员管理和教育,加强对船员的安全技能培训,提高船员的安全知识和安全操作技能,尤其注重针对乡镇个体船船员的培训,重点提升乡镇个体船船员的职业技能和安全意识,尽可能地防止人的因素导致的船舶交通事故的发生.
5 结束语
船舶交通事故案例数据是对船舶交通事故进行致因分析的重要资料.对船舶交通事故统计数据进行数据挖掘,分析事故致因的潜在关系,是预防船舶交通事故、促进船舶交通安全的重要手段.本文提出运用关联规则方法对船舶交通事故统计数据进行挖掘,构建船舶交通事故关联规则分析模型.对多因素关联关系挖掘的实现可弥补传统数理统计方法重在对单一因素致因程度进行分析的缺陷.
采用Apriori关联规则挖掘算法,在影响船舶交通安全的海量信息中,挖掘与船舶交通事故关联度高的因素,迅速发现船舶交通安全隐患问题并及时预警,避免或减少船舶交通事故的发生.对强关联规则进行剖析,提出防范船舶交通事故的应对策略,对船舶交通主管机关、航运公司、船舶值班人员具有重要参考意义.在后期研究中,可以通过增加事故属性、设立属性权值等方式进一步完善实验,提高所挖掘出的规则的准确度.
[1]胡甚平,黄常海,张浩.基于云模型的海上交通系统风险蒙特卡罗仿真[J].中国安全科学学报,2012,22(4):20-26.
[2]张晓辉.云理论和数据挖掘在水上安全分析中的应用[D].大连:大连海事大学,2011.
[3]刘正江,吴兆麟.基于船舶碰撞事故调查报告的人的因素数据挖掘[J].中国航海,2004(2):3-8,16.
[4]牟军敏,邹早建,黄立文,等.水上交通事故模式的研究[J].武汉理工大学学报:交通科学与工程版,2005,29(3):489-492.
[5]KOKOTOS D X,LINARDATOS D S.An application of data mining tools for the study of shipping safety in restricted waters[J].Safety Sci,2011,49(2):192-197.
[6]梁第,张铭丽.Rough Set理论研究及其在水上交通事故分析的应用[J].科学技术与工程,2009,9(13):3916-3919.
[7]贾爱鹏,王胜利.基于STATISTICA的人为失误与船舶碰撞之间关系的研究[J].浙江国际海运职业技术学院学报,2011,7(4):6-8.
[8]刘红,吴四.多维关联规则数据挖掘在船舶价格影响因素分析中的应用[J].上海海事大学学报,2013,34(4):31-37.
[9]宓为建,徐子奇,刘园.大型港机结构应力峰值与小车位置关联规则的数据挖掘[J].上海海事大学学报,2006,27(3):42-46.
[10]袁建中,蔡存强,胡志武.港口国监督(PSC)决策支持算法[J].上海海事大学学报,2013,34(2):30-34.
[11]张云涛,于治楼,张化祥.关联规则中频繁项集高效挖掘的研究[J].计算机工程与应用,2011,47(3):139-141.
[12]王培吉,赵玉琳,吕剑峰.基于Apriori算法的关联规则数据挖掘研究[J].统计与决策,2011(23):19-21.