謝新連,陳紫薇,魏照坤,趙瑞嘉
(大連海事大學(xué) 物流研究院,遼寧 大連 116026)
隨著海上交通監(jiān)控技術(shù)及設(shè)備的發(fā)展,大多數(shù)船舶配備了船舶自動識別系統(tǒng)(automatic identification system, AIS),來記錄船舶的靜態(tài)信息、動態(tài)信息及航次信息。這些信息可應(yīng)用于交通流分析[1]、船舶異常行為檢測[2,3]及船舶運動模式識別[4]。當船舶在海上航行時,尤其在交通密度較大、障礙物密集、通航環(huán)境復(fù)雜多變的海域,發(fā)生海上交通事故的風(fēng)險增大。因此,基于船舶AIS數(shù)據(jù),對船舶航行行為進行預(yù)測分析,不僅可以為海上交通事故預(yù)警提供重要技術(shù)支持,同時也對提高船舶監(jiān)控效率、預(yù)防航行事故的發(fā)生具有重要意義。目前關(guān)于航跡預(yù)測的方法主要包括卡爾曼濾波、粒子濾波、灰色預(yù)測、神經(jīng)網(wǎng)絡(luò)等。其中基于卡爾曼濾波[5]、灰色預(yù)測[6]的船舶航跡預(yù)測模型,均需建立船舶運動狀態(tài)方程才能實現(xiàn)對目標運動狀態(tài)的預(yù)估。由于海況的動態(tài)性和不確定性導(dǎo)致了船舶運動的復(fù)雜性,建立實時船舶運動模型的難度較大,而神經(jīng)網(wǎng)絡(luò)本身具有較強的學(xué)習(xí)性,特別適用于樣本數(shù)據(jù)規(guī)律未知、建模困難的情況。甄榮等[7]運用BP神經(jīng)網(wǎng)絡(luò)及AIS信息對船舶航行行為進行預(yù)測;U.SIMSIR[8]、D. ZISSIS[9]等利用人工神經(jīng)網(wǎng)絡(luò)對船舶航跡進行實時預(yù)測。
極限學(xué)習(xí)機(extreme learning machine,ELM)是由Huang Guangbin等[10]提出的基于單隱含層前饋神經(jīng)網(wǎng)絡(luò)(single-hidden layer feed-forward network,SLFN)的一種機器學(xué)習(xí)算法,多用于數(shù)據(jù)分類[11]、故障診斷[12]及預(yù)測[13,14]領(lǐng)域,在航跡預(yù)測領(lǐng)域應(yīng)用較少。MAO Shangbo等[15]建立了可用于航跡學(xué)習(xí)、預(yù)測及數(shù)據(jù)挖掘領(lǐng)域AIS標準化數(shù)據(jù)庫,并進行航跡預(yù)測試驗,驗證了極限學(xué)習(xí)機算法的有效性。筆者通過大量文獻調(diào)查發(fā)現(xiàn),以往研究的建模過程未考慮船舶航行狀態(tài)發(fā)生改變引起預(yù)測誤差波動較大的特殊情況,因此提出了基于AIS信息及極限學(xué)習(xí)機方法的船舶航行行為預(yù)測模型,在文獻[7]對船舶航行行為預(yù)測研究的基礎(chǔ)上,通過對不同航行狀態(tài)下的船舶采取自動調(diào)整采樣周期的方法提高對轉(zhuǎn)向及變速過程中的船舶航行行為預(yù)測精度,實現(xiàn)船舶航行行為的實時預(yù)測。
AIS信息分為靜態(tài)信息、動態(tài)信息及航次信息。靜態(tài)信息包括船名、船長、船寬、船舶類型、呼號、船舶海上移動業(yè)務(wù)識別碼(maritime mobile service identity,MMSI)等;動態(tài)信息包括船舶經(jīng)緯度坐標、航速、航向等;航次信息包括船舶吃水、貨物類型、航行始發(fā)港、目的港及預(yù)計到達時間[8]。
通常狹義上的船舶行為是指船舶在駕駛?cè)藛T操縱下以船舶航行與避讓為主要目的的行動方式與規(guī)律[16]。顧名思義,船舶航行行為主要體現(xiàn)在船舶的一系列航行狀態(tài)隨時間的變化上。每個航行狀態(tài)包括動態(tài)船位、航速、航向等動態(tài)屬性,主要體現(xiàn)在AIS動態(tài)數(shù)據(jù)中的經(jīng)度(LON)、緯度(LAT)、對地航速(SOG)、對地航向(COG)4個指標上,其更新頻率根據(jù)船舶航行狀態(tài)及AIS設(shè)備類型而定。A類AIS設(shè)備動態(tài)信息的發(fā)送速率要求如表1,B類AIS發(fā)送速率的要求則低于A類。表1中,航速為0 kn且不轉(zhuǎn)向的船舶狀態(tài)代表錨泊。AIS信息的及時更新,確保了對船舶航行過程的實時監(jiān)控,有助于海上監(jiān)控系統(tǒng)的發(fā)展及事故調(diào)查研究。
表1 A類AIS設(shè)備信息發(fā)送速率Table 1 Class A AIS device information transmission rate
圖1 基于ELM的船舶航行行為預(yù)測模型Fig. 1 Prediction model of ship navigation behavior based on ELM
在進行預(yù)測前,需要對該網(wǎng)絡(luò)模型進行訓(xùn)練,其訓(xùn)練過程如下:
1)給定訓(xùn)練樣本集:
{S,T}={(Sj,Tj)|j=1,2,…,u}
(1)
2)設(shè)置激活函數(shù)G(·)及隱含層節(jié)點數(shù)nh。隨機生成隱含層輸入權(quán)值wi及隱含層偏置向量bi,計算隱含層輸出矩陣H:
H(w1,…,wnh,b1,…,bnh,S1,…,Su)=
(2)
3)通過求解式(3)的最小二乘解,計算輸出權(quán)值β:
(3)
β具有使網(wǎng)絡(luò)訓(xùn)練誤差最小、泛化性能最優(yōu)的特性。則該極限學(xué)習(xí)機預(yù)測模型在數(shù)學(xué)上可表示為:
(4)
當船舶在狹窄水域或彎曲航道航行時,難免會發(fā)生轉(zhuǎn)向或變速行為,此時預(yù)測時間間隔過長或固定不變會影響預(yù)測結(jié)果的精確性、適應(yīng)性及有效性[17]。因此,當船舶處于轉(zhuǎn)向或變速航段時,為準確學(xué)習(xí)船舶的航行行為,需要根據(jù)船舶航行特點合理調(diào)整采樣時間間隔,合理訓(xùn)練學(xué)習(xí)網(wǎng)絡(luò),使其適應(yīng)船舶航行特征的改變。例如,初始訓(xùn)練網(wǎng)絡(luò)的航跡采樣周期為t1;船舶t時刻與上一時刻的航向變化ΔC>C0,或航速變化ΔV>V0時,此時認為船舶處于轉(zhuǎn)向或變速航段,則將采樣周期及預(yù)測時間間隔Δt設(shè)置為t2。因此,預(yù)測模型的采樣時間間隔與預(yù)測時間間隔可表示為:
(5)
基于ELM算法進行船舶航行行為預(yù)測的主要框架是將海域內(nèi)船舶近期航跡數(shù)據(jù)作為訓(xùn)練集,通過將網(wǎng)絡(luò)實際輸出與期望輸出對比訓(xùn)練網(wǎng)絡(luò),建立船舶歷史航跡與未來航跡的映射關(guān)系,再代入預(yù)測樣本進行預(yù)測。因此,在預(yù)測前需要對提取的航跡數(shù)據(jù)進行分組,每組數(shù)據(jù)的個數(shù)由訓(xùn)練樣本及預(yù)測樣本總的時間長度而定。具體的分組及預(yù)測流程如圖2。
圖2 基于ELM算法的航跡預(yù)測流程Fig. 2 Navigation track prediction process based on ELM algorithm
在設(shè)置每組數(shù)據(jù)的采樣時間間隔時應(yīng)注意,當前一組數(shù)據(jù)采樣及預(yù)測時間間隔Δt=t1時,每當提取1條航跡數(shù)據(jù),將其和前一條航跡數(shù)據(jù)航向及航速的變化與設(shè)定的閾值進行判斷,若航速或航向變化小于閾值,則確定該組數(shù)據(jù)的Δt=t1;若大于閾值則設(shè)置Δt=t2。當前一組數(shù)據(jù)采樣及預(yù)測時間間隔Δt=t2時,若提取的航跡數(shù)據(jù)的航速或航向變化小于閾值,則需要反推一組Δt=t1的航跡數(shù)據(jù),并對組內(nèi)其他航跡再次進行航速及航向變化的閾值判斷;若皆小于閾值則證明訓(xùn)練集具有與預(yù)測集相近的特性,即可確定該組數(shù)據(jù)Δt=t1;若大于閾值,則設(shè)置Δt=t2。依次類推,可提取K0組船舶航行航跡數(shù)據(jù)進行船舶航行行為預(yù)測,K0為預(yù)先設(shè)置的預(yù)測序列個數(shù)。
在整個預(yù)測過程中,每組數(shù)據(jù)組成的樣本數(shù)量均為u+m,雖然其隨著AIS數(shù)據(jù)的實時更新,從當前時間點開始會依據(jù)速度及轉(zhuǎn)向判斷確定采樣周期,重新提取數(shù)據(jù)、更新訓(xùn)練集及預(yù)測樣本,但始終將當前t時刻的船舶行為特征值Xt作為最新一組數(shù)據(jù)第u個樣本的期望輸出Tu,并以{(S1,T1),(S2,T2),…,(Su,Tu)}作為訓(xùn)練集訓(xùn)練網(wǎng)絡(luò),將yi作為預(yù)測樣本的輸入進行預(yù)測,確保了訓(xùn)練樣本集是距離預(yù)測樣本最近的u個樣本,從而實現(xiàn)模型的在線訓(xùn)練及實時預(yù)測。
仿真實驗中,N=6,即用前6個時刻的船舶航行行為特征值預(yù)測下一時刻的船舶航行行為。對應(yīng)的輸入層節(jié)點數(shù)為24個,輸出層節(jié)點數(shù)為4個,隱含層激活函數(shù)為sigmod函數(shù)。為方便進行后面誤差分析及算法對比試驗,筆者僅進行單步預(yù)測,即m=1。通過反復(fù)試算,結(jié)果如圖3。
圖3 不同隱層節(jié)點數(shù)的網(wǎng)絡(luò)均方誤差對比Fig. 3 Comparison of network mean square errors of different numberof hidden layer nodes
隱含層節(jié)點個數(shù)設(shè)置為18時,4個指標總體均方誤差(MSE)最小,預(yù)測次數(shù)K0依預(yù)測時間而定。圖4為算法在不同數(shù)量訓(xùn)練樣本時的預(yù)測誤差。當樣本采樣間隔設(shè)置為1 min時,可以看到訓(xùn)練樣本個數(shù)為8個時誤差最小,因此筆者將訓(xùn)練樣本個數(shù)設(shè)置為8個,每組數(shù)據(jù)個數(shù)為15。由于船舶在實際航行中存在較大慣性和一定的操作反應(yīng)時間,因此將動態(tài)數(shù)據(jù)的采樣和預(yù)測時間間隔確定為5 min,即t1=5 min,將船舶轉(zhuǎn)向及變速閾值分別設(shè)置為10°、0.3 kn,采樣與預(yù)測時間間隔t2=10 s。
以瓊州海峽某日多艘船舶的AIS數(shù)據(jù)作為實驗數(shù)據(jù)進行船舶航行行為預(yù)測實驗。由于船舶AIS設(shè)備發(fā)射動態(tài)數(shù)據(jù)的頻率取決于船舶航行速度,該船舶的航速區(qū)間為0.1~16.1 kn,此時AIS動態(tài)數(shù)據(jù)的實際發(fā)射頻率為5 s~3 min不等。為保證預(yù)測時間間隔的一致性,對于某時間點丟失、未記錄的航跡數(shù)據(jù)采用線性插值法進行填充,并將提取后的數(shù)據(jù)進行分組及樣本整理。每組數(shù)據(jù)可分為8個樣本,取前7個樣本作為訓(xùn)練樣本,訓(xùn)練神經(jīng)網(wǎng)絡(luò),第8個樣本作為預(yù)測樣本進行預(yù)測。
為驗證模型的通用性,選取瓊州海峽內(nèi)5條不同類型的航跡進行仿真實驗,包括直線航跡及曲線航跡,預(yù)測的均方根誤差(RMSE)均處于較低水平,結(jié)果如表2。
表2 基于ELM預(yù)測模型的5條航跡預(yù)測誤差Table 2 Prediction error of 5 tracks based on ELM prediction model
取預(yù)測周期最長且包括轉(zhuǎn)向及變速航段的航跡1為例進行具體誤差分析。在該航跡實驗中對該船進行為期16 h的跟蹤預(yù)測,此時K0=200,海圖上顯示的船舶實際航跡及預(yù)測航跡如圖5,訓(xùn)練及測試時間共計46.9 s。由圖5可見,基于ELM的預(yù)測航跡與實際航跡趨勢相同,近乎重合,預(yù)測效果較好。
為定量表達二者之間的誤差,分別對預(yù)測經(jīng)度、緯度進行誤差分析,結(jié)果如圖6。經(jīng)度誤差可控制在0.003°以內(nèi),大部分誤差在0°~0.001°區(qū)間,緯度誤差最大為0.003°,其誤差主要分布在0°~0.001°區(qū)間。圖7為航速預(yù)測及航速預(yù)測誤差結(jié)果。由圖7可知,預(yù)測航速的變化趨勢與實際航速變化趨勢基本一致,預(yù)測誤差在1 kn以內(nèi)。圖8為航向預(yù)測及航向預(yù)測誤差結(jié)果。由圖8可知,航向預(yù)測誤差范圍為0°~27°,主要分布在10°以內(nèi)。
由圖7、圖8可知,從K=100到K=150,航速由16 kn減速到13.3 kn,對地航向從269.41°增加到319.78°,此時船舶正處于轉(zhuǎn)向及變速過程中。從誤差圖中可知,此區(qū)間內(nèi)船舶航行行為預(yù)測精度并未受到船舶變速及轉(zhuǎn)向行為的影響而增大。
圖5 實際航跡和預(yù)測航跡Fig. 5 Actual track and prediction track
圖6 預(yù)測誤差Fig. 6 Prediction error
圖7 航速預(yù)測和航速預(yù)測誤差Fig. 7 Speed prediction and speed prediction error
圖8 航向預(yù)測和航向預(yù)測誤差Fig. 8 Course prediction and course prediction error
在對比實驗中,采取文獻[7]中的BP神經(jīng)網(wǎng)絡(luò)模型及文獻[6]中的灰色預(yù)測模型,對5條航跡均進行了船舶航行行為預(yù)測,其預(yù)測誤差均大于ELM預(yù)測模型的預(yù)測誤差。以航線1為例,對3種方法的預(yù)測性能進行多方面對比及顯著性檢驗。表3給出了極限學(xué)習(xí)機、BP神經(jīng)網(wǎng)絡(luò)及灰色預(yù)測模型在平均絕對誤差、最大絕對誤差、均方根誤差及平均絕對百分比誤差(MAPE)評價方面的對比數(shù)據(jù)。
表3 ELM與BP神經(jīng)網(wǎng)絡(luò)、灰色預(yù)測性能對比Table 3 Performance comparison between ELM, BP neural networkand grey prediction algorithm
由表3可以看出,基于極限學(xué)習(xí)機的船舶航行行為預(yù)測模型在航速、航向、經(jīng)度、緯度方面的預(yù)測精度皆優(yōu)于其他方法,這是因為可調(diào)節(jié)的采樣間隔提高了訓(xùn)練樣本的有效性,從而進一步提高預(yù)測精度。除此之外,BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練及學(xué)習(xí)時間為124.43 s,與其相比,ELM預(yù)測模型的訓(xùn)練及測試時間減少了77.53 s。
借助SPSS 14.0軟件,對ELM與BP神經(jīng)網(wǎng)絡(luò)模型、灰色預(yù)測模型的船舶航行行為預(yù)測誤差分別進行曼-惠特尼U檢驗,檢驗結(jié)果如表4。除BP模型的航速預(yù)測誤差外,其他指標的P值皆小于5%顯著水平,說明3種方法的船舶航行行為預(yù)測誤差總體差異在統(tǒng)計上顯著,且從誤差均值可以看出ELM算法的預(yù)測性能明顯優(yōu)于BP模型及灰色預(yù)測。
表4 ELM與BP神經(jīng)網(wǎng)絡(luò)、灰色預(yù)測算法的誤差顯著性分析Table 4 Error significance analysis of ELM, BP neural network andgrey prediction algorithm
基于神經(jīng)網(wǎng)絡(luò)突出的自學(xué)習(xí)能力,提出了基于極限學(xué)習(xí)機算法的船舶航行行為預(yù)測模型。該模型針對在以往研究中船舶在轉(zhuǎn)向及變速航段預(yù)測性能較差的問題,設(shè)計了根據(jù)船舶航行狀態(tài)自動調(diào)整采樣周期的判斷條件,實現(xiàn)船舶航行行為的在線學(xué)習(xí)及預(yù)測。在仿真實驗中對瓊州海峽水域內(nèi)5條典型航線進行了跟蹤預(yù)測,并以其中1條航線為例,與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型及灰色預(yù)測模型進行預(yù)測性能分析及顯著性檢驗。實驗結(jié)果表明:基于極限學(xué)習(xí)機的船舶航行行為預(yù)測模型具有較優(yōu)的預(yù)測性能及時間優(yōu)勢。該研究在一定程度上改善了傳統(tǒng)預(yù)測模型在航行狀態(tài)變化前后(變速或轉(zhuǎn)向)預(yù)測誤差較大的狀況,可適用于在彎曲河道中航行船舶的行為預(yù)測,同時對提高監(jiān)控效率,保障航行安全具有一定的理論及現(xiàn)實意義。