胡甚平,謝瑩,張欣欣,江帥,席永濤
(上海海事大學商船學院,上海 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,導致算法效率低,故引入了二維表結合哈希表技術進行了改進;優化后的算法具有較強的適用性,且獲得了效率提升。船員的不安全行為導致事故發生的路徑有多條,歸根結底是由因素間的不確定關聯結構所導致的。下一步的研究方向是進一步研究合理可信的船員不安全行為發展路徑,提升基于事故物理特征與邏輯特征的致因路徑耦合程度。