胡甚平,谢莹,张欣欣,江帅,席永涛
(上海海事大学商船学院,上海 201306)
在“一带一路”大背景下,经济高速发展,水上交通越来越繁忙。随着水上运输需求的显著增加,航运业在过去三十年中取得了迅速发展。然而,水上运输需求的显著增加导致船舶交通事故发生概率增加。韩国“岁月”号倾覆事故、“桑吉”号与“长峰水晶”号碰撞事故的发生,引起国际社会广泛关注。决策者有责任实施有效的通航策略,以减少严重船舶交通事故发生的概率。因为事故及灾害的发生是由物的隐患状态与人的不安全行为在环境条件、管理缺陷等共同作用下持续演化的结果,所以在采取有效措施前,确定特征与促成因素之间的关联关系是非常重要的。
当前国内外学者一致认为,人的不安全行为既是事故的最后表现,也是事故的形成原因。CHOI等提出一种程序驱动操作过程中船员交互作用下的不安全行为分类方法。YILDIRIM等利用人为因素分析与分类系统(human factors analysis and classification system, HFACS)对碰撞和搁浅事故进行评估,提出了不安全行为的表现和前提条件。HOOPER等进一步指出采用HFACS框架下的认知错误分类法能加强对不安全行为的分析。CHOUDHRY则提出基于行为的安全管理方法改善现场环境安全。随后,研究者从系统的视角确定人的安全行为体系中的关键因素,并对人的安全行为风险因素的层次性及各层次因素间的结构关联性进行探究。HUANG等提出Apriori算法分析事故影响因素之间的关系。ZHANG等采用系统动力学方法分析HFACS框架下事故影响因素间的耦合关系,提出事故影响因素在组织管理、安全监督、前提条件等方面的关联问题。HU等采用结构方程模型进一步论证关联假设的合理性,提出事故形成因素层次结构的路径依赖性问题。船员的不安全行为(事故直接影响因素)及其关联因素比较多,因素之间的关联结构关系也存在着许多不确定性,因而可引入高效率机器学习算法研究船员不安全行为及其关联因素间的不确定结构关联特性。
鉴于此,笔者在辨识船员不安全行为及其关联因素的基础上,结合船舶交通事故场景数据,采用优化后的频繁模式增长(frequent pattern growth, FP-growth)算法对这些因素进行支持度和关联度分析,找出不确定结构下船员不安全行为发展路径。
早在20世纪70年代,学界就已经开始对人的不安全行为进行研究。目前有关不安全行为的研究多集中于公路交通、矿业工程、建筑工程等安全事故频发的领域,涉及海事领域的研究较少。
多数研究都将不安全行为界定为结果偏离既定的目标,导致系统失效或事故发生等不良后果的行为,并且大多从决策判断错误(未及时决策或决策错误)和操作不当(违规和冒险行为)这两个方面进行表征。在案例信息中,船员在确定场景下,借助自己意识的支配,出现与法律法规、安全操作规程或规章制度博弈的状态,使船舶陷入险情或者发生事故的行为,被视为船员的不安全行为。船员的不安全行为是导致船舶交通事故发生的最直接的因素。
船员不安全行为指船舶在抛起锚、航行、靠离码头过程中由于船员的疏忽、知识匮乏、技能不精、规则意识不强导致的错误行为。船舶在港口水域航行,引航员加入驾驶台团队工作,此时局面最为复杂,不安全行为表现更为突出,故本文以引航场景为例,研究船员的不安全行为。根据船舶航行实际情况,共辨识出35种船员不安全行为,主要表现在信息交互(F)、情境感知(I)、行为决策(J)、处理输出(K)和违章(L)等5个方面,具体见表1。
表1 船员不安全行为的基本组成
通常情况下,外界环境会对人产生影响,人经过感知、思维分析和判断,作出决策,进而产生行为,因此人的不安全行为的产生是由外界环境与人的内在思维共同作用的结果,船舶交通事故中船员不安全行为的产生也是如此。船员不安全行为的关联因素是导致船员做出不安全行为的原因或前提条件,如环境、设备和管理因素等。结合船舶交通事故案例,这里提出22个船员不安全行为的关联因素,主要表现在环境(E)、设备(H)和管理(G)等3个方面,具体见表2。
表2 船员不安全行为的关联因素
船员不安全行为的关联因素之间存在着不确定性,由此形成以不确定为主要特征的关联规则问题。例如:通航密度会对船员不安全行为中的情境感知产生影响,船舶设备的有效性决定船员行为输出处理的效果,操作管理和程序会影响船员的安全行为决策,这些因素均可能导致船员的不安全行为。因此,要在对船员不安全行为的研究中,发现事故因素间的不确定关联特征。
样本数据涵盖了1995—2016年22年间港口水域(含航道、锚地、泊位等限制性通航水域)890起船舶交通事故,主要涉及碰撞、触损、浪损、搁浅、失控等事故类型,包括不同后果等级事故,其中产生严重后果的占2.4%,产生较大后果的占8.9%,产生一般后果的占18.8%,产生较小后果的占63.3%,产生轻微后果的占6.6%。
事故数据的描述包括事故的物理特征描述和逻辑特征描述。物理特征主要包括时间、地点、事故种类和级别、涉事船舶、人员和环境等;逻辑特征主要表现在事故原因分析上。
一般地,事故原因涉及管理缺陷、环境的不安全条件、船舶的不安全状态和船员的不安全行为等多个维度,要全面确定这些因素在事故演化中的影响。船员不安全行为不仅与船员不安全行为基本组成相关,也涉及航行会遇船舶、拖船、他船等各相关方人员,还涉及与不安全行为相关联的环境、设备和管理因素,数据结构见图1。这个数据库中的案例细节信息对分析船员的行为表现是非常必要的。在事故反演过程中需要对不安全行为的基本组成和关联因素等信息有详细的描述。
图1 事故数据库的构成要素
关联规则常应用于数据库挖掘,核心是通过挖掘从庞大的数据中找到相关的因素,形成→的蕴涵式描述。支持度、置信度和提升度是关联规则的3个重要参数。支持度是数据库中同时出现项集和的次数与总项集数之比,确定其在总项集中出现的概率。置信度是表示项集同时出现的概率占某一项集出现概率的比值。频繁项集是在数据集中经常一起出现的变量,可以为可能的决策提供支持。提升度表示包含项集的事务中同时包含项集的比例与包含项集的事务的比例的比值。
在数据挖掘中,可借助频繁项集的计算,获得关联规则的支持度、置信度和提升度等定量结果,从而进行关联规则的识别。关联分析算法很多,其中Apriori算法得到了普遍应用。2000年由韩家炜等提出的FP-growth算法是最近在机器学习领域被广泛接受的数据挖掘算法。该关联分析算法将频繁项的数据整理成频繁树(frequent pattern tree, FP-tree)模式,充分利用Apriori算法的优点,保留数据相关项集的关联信息,进一步对数据频繁项集进行挖掘分析。在这一过程中,数据库需要被扫描两次,降低了运算效率;在挖掘FP-tree时,也需要反复遍历FP-tree。为提升计算效率,本文引入哈希表记录项头表信息,根据项名进行数据学习,得到支持度计数等信息。通过构造FP-growth算法,将数据存储于FP-tree中,后续数据分析在FP-tree中进行,不再访问数据库,实现高效的频繁项集挖掘。改进的FP-growth算法流程见图2,主要分为4个步骤:
图2 改进的FP-growth 算法流程
(1)设定约束条件。通过对数据库中元素的频数进行统计,设置最小支持度,删除不满足最小支持度的元素,用筛选出的数据构建项目结点链表。
(2)构建多维表(NFP_tab)。扫描数据库,得到所有的频繁项(单项集)的集合和支持度计数,按照每个数据库中项的出现顺序建立哈希表(HasList),获取相互两项的支持度计数的二维表后建立NFP_tab(保存相互多项的支持度计数);对建立的HasList按照支持度计数递减的方法重新排序生成新的项头表(HeadList);根据HeadList构建NFP_tab,通过HeadList和HasList更新NFP_tab。
(3)构建FP-tree。生成的NFP_tab结合HeadList,生成相应的频繁项集和条件FP-tree。
(4)挖掘频繁项集。扫描NFP_tab,将满足最小支持度的频繁项根据出现的次数,按照顺序更新FP-tree,在完成FP-tree的基础上挖掘频繁项集并输出。
通过对事故报告的分析,梳理船员不安全行为的基本组成和关联因素,并进行赋值。本文邀请来自引航机构、航运企业和航海院校等从事安全管理的8名专家针对890起案例进行讨论和专业判断。通过案例反演分析,确定事故情况,分析不安全行为及其关联因素表现。若某事故发生与该因素有关,则将其赋值为1,否则将其赋值为0,最终得到事故案例数据库。
结合船员不安全行为基本组成和关联因素划分模式,对人行为层面的界面因素进一步拓展,获取不同因素的结果表现,具体见图3。
a)信息交互
人的不安全行为是导致事故发生的最直接的因素,各因素影响都很大。根据计算所得的各个因素的支持度,选取不同的支持度进行试错,最终设置最小支持度为15%,输出结果如图4所示:在人的不安全行为中,识别到15个因素的支持度较高,这15个因素也是核心影响因素。
图4 船员不安全行为及其关联因素的支持度
由图4可知:(1)船员在情境感知方面的不安全行为对船舶安全的影响显著,其中I(瞭望疏忽)是对船舶安全影响较大的因素,需要重点关注。(2)船员在处理输出方面的不安全行为K(应急处理不当)和K(应急处理不力)具有较高的支持度,说明船舶操作人员的应急处理能力对船舶安全非常重要;K(船位控制不当)、K(船速控制失误)和K(拖船控制失误)也具有较高的支持度,说明船舶操作人员需认真控制船位,处理好与拖船间的相互作用关系。(3)船员在行为决策方面的不安全行为J(安全航速过失)、J(危险判断失误)、J(避让行动过失)的支持度较高。在航行过程中,若没有保持正规的瞭望和安全航速,且危险判断失误,同时没有采取正确的避让措施,则最终会导致事故的发生。(4)E(风)、E(流)和E(通航密度)的影响也较为显著,支持度均在15%以上,说明自然环境和通航环境在一定程度上明显影响船舶操作人员的行为。
根据数据分析,不安全行为关联因素的影响比不安全行为本身的影响低。为获取关联规则,将最小支持度设置为15%,其计算结果见图5。
由图5可知:(1)支持度超过15%的关联规则共10条,其中支持度超过20%的关联规则为J→J。J(危险判断失误)与J(安全航速过失)相互影响明显,支持度高达21.80%。(2)在多因素关联规则中J→J→I比较显著,支持度超过15%,再次证明大部分船舶碰撞事故的直接原因为船员的不安全行为,即危险判断失误、安全航速过失、瞭望疏忽,这与用传统方法分析得到的碰撞事故原因相一致。
图5 船舶不安全行为及其关联因素的关联规则
Apriori算法被用于从890起船舶交通事故数据中挖掘关联规则,支持度和置信度阈值均被设置为15%。为获得高质量的关联规则,提升支持度、置信度和提升度的阈值。针对大多数非严重事故,将提升度阈值由1.30提高到1.45,将置信度阈值设置在70%与85%之间,但得到的关联规则总体变化不大,主要的影响因素会体现在这些关联规则中。在船舶航行过程中,基于这些关联规则,实时监控来船的动态,及时保持通信和合作,及时采取正确的措施,并关注自然环境和交通环境的影响,将会减少船舶操作人员的不安全行为。
为加强对不确定关联因素的研究,进一步探究不安全行为及其关联因素的相关性,构建主要因素致因链。设置最小支持度为15%,将不安全行为及其关联因素按照支持度大小进行梳理分析,得出图6。
由图6可以发现:(1)关联因素对船员不安全行为的影响存在结构不确定性,目前数据显示至少有3条路径。船员不安全行为导致事故发生的路径有多条,究其本质,是由于因素间不确定的关联结构造成的。(2)有些因素之间有着很大的关联度,这些因素包括环境、信息交互方面的不安全行为、瞭望失误、避让行动过失、船舶设备操作失误以及违章等。船员不安全行为的作用路径不同,在有些不安全行为的影响下事故必然会发生。(3)将支持度较高的影响因素进行关联发现,航行过程中事故发生的路径模式为没有保持正规的瞭望→没有及时发现航行作业过程中的问题→没有针对紧急情况采取正确的措施→没有避免违规现象→事故发生。(4)基于15%以上支持度的所得到的事故路径主要体现在船员不安全行为上,若将支持度调小,环境因素将被覆盖,因此确立环境甚至管理因素能影响船员不安全行为。
图6 事故影响因素间的致因结构与路径(线条上的数字表示关联度)
船舶交通事故的形成原因往往是非常复杂的,发生过程也充满着不确定性,由此事故致因结构也是不确定的。随着事故样本的增加,事故致因结构会表现出一定的确定性。本文研究的890起事故中,事故类型主要为碰撞(占51.5%)和触损(占34.1%),事故发生与船舶位置控制有关的不安全行为强相关,在船员不安全行为的基本组成中存在相对稳定的关联规则,见图7。
图7 船员不安全行为的基本组成中的关联规则(线条上的数字表示关联度)
图7展现了引航过程中碰撞风险形成的主要表现形式。由图7可知:J(安全航速过失)、J(危险判断失误)和F(与他船通信与合作过失)在所有不安全行为中支持度相对较高,处于网络关键节点。当然,图4中还有别的因素的支持度也超过30%,也是事故发生的主要原因。虽然频率高的因素不止这些,但通过关联规则分析可以明确事故发生的主要原因。
本文描述了船员的不安全行为及其关联因素,对船员不安全行为及其关联因素进行关联规则分析,阐述船员的不安全行为及其关联因素的置信度和关联度,利用机器学习算法进行事故路径分析,确立事故发展路径。由于FP-growth 算法使用项头表记录所有的频繁项集,在挖掘FP-tree时需要反复遍历FP-tree,导致算法效率低,故引入了二维表结合哈希表技术进行了改进;优化后的算法具有较强的适用性,且获得了效率提升。船员的不安全行为导致事故发生的路径有多条,归根结底是由因素间的不确定关联结构所导致的。下一步的研究方向是进一步研究合理可信的船员不安全行为发展路径,提升基于事故物理特征与逻辑特征的致因路径耦合程度。