王均剛 胡柏青 高端陽 朱九鵬
(1.海軍工程大學(xué)電氣工程學(xué)院 武漢 430033)(2.大連艦艇學(xué)院航海系 大連 116018)
隨著我國海洋事業(yè)的發(fā)展,海上航行的船舶數(shù)量日益增大,但與此同時也產(chǎn)生一系列新的問題,如狹窄水域堵塞情況頻發(fā)、船舶碰撞風(fēng)險提高等,且航行中的船舶易受天氣影響而偏離航線,同樣會對船舶造成重大安全威脅,因而需要對船舶運動軌跡進(jìn)行一定的預(yù)測,方便交通管理、船舶避碰以及保持正確航線,因此,提高船舶軌跡預(yù)測的精準(zhǔn)度十分必要。
船舶軌跡預(yù)測是根據(jù)船舶的歷史軌跡數(shù)據(jù)及其他航行信息建立模型,對船舶下一時刻或接下來一段時間的軌跡進(jìn)行預(yù)測,因此設(shè)計合適的預(yù)測模型對于軌跡預(yù)測至關(guān)重要。針對航跡預(yù)測模型的設(shè)計問題,GUO 等首先利用k階多元馬爾可夫鏈及相關(guān)參數(shù)建立一個狀態(tài)轉(zhuǎn)移矩陣,然后根據(jù)上一時刻概率最大的狀態(tài)對漁船下一時刻可能的軌跡進(jìn)行預(yù)測,方法很有創(chuàng)新性,但忽略了對船舶歷史軌跡每一個狀態(tài)的考慮[1];Hexeberg 基于歷史數(shù)據(jù),提出了一種用來預(yù)測船舶未來時刻位置的單點鄰域搜索算法,有效利用了歷史數(shù)據(jù)的規(guī)律性,在船舶避碰中取得了較好的效果,但不能處理航行船只較少的航線[2];TONG 等提出一種基于馬爾可夫鏈和灰度模型的改進(jìn)預(yù)測模型,對船舶彎曲航道的軌跡也有較好的效果[3];Perera 等[4~5]利用建立了對船舶的檢測和跟蹤的人工神經(jīng)網(wǎng)絡(luò)模型,創(chuàng)新地將擴(kuò)展卡爾曼濾波與神經(jīng)網(wǎng)絡(luò)相結(jié)合,實現(xiàn)了對船舶狀態(tài)和航行軌跡的預(yù)測;王艷鋒[6]利用支持向量機(Support Vector Machine,SVM)對目標(biāo)水域的船舶航跡進(jìn)行預(yù)測,但研究范圍僅限于橋區(qū)水域;茅晨昊等[7]提出一種高斯回歸的船舶軌跡預(yù)測模型,可以預(yù)測接下來一段時間的船舶軌跡路線;Nguyen[8]將自動識別系統(tǒng)數(shù)據(jù)轉(zhuǎn)換為時間序列組,利用循環(huán)神經(jīng)網(wǎng)絡(luò)模型對時間序列的良好學(xué)習(xí)能力,預(yù)測未來時刻的船舶軌跡、航行目的地和到達(dá)時間并取得了較好的預(yù)測效果。Suo 等[9]利用聚類算法在大量軌跡中提取主要軌跡,消除了冗余數(shù)據(jù)的影響,建立深度學(xué)習(xí)和門循環(huán)模型預(yù)測船舶軌跡。上述文獻(xiàn)提供了多種船舶運動軌跡的預(yù)測模型,具有良好的借鑒意義。
船舶自動識別系統(tǒng)是集合了全球定位系統(tǒng)、岸基、船載傳感器為一體的助航系統(tǒng),能夠?qū)崿F(xiàn)鄰近船舶間的信息交互,記錄歷史數(shù)據(jù)。該系統(tǒng)可獲取經(jīng)度、緯度、航速、航向角、時間、船舶呼號、吃水量等多維信息[10~12],在海事搜救、船舶避碰、追蹤船只等領(lǐng)域有著不可替代的作用。利用AIS 的歷史數(shù)據(jù)建模,對船舶未來時刻的軌跡進(jìn)行預(yù)測能有效提高航海安全。但大量研究表明,利用AIS 數(shù)據(jù)進(jìn)行軌跡預(yù)測存在如下問題:1)存在大量不可用的冗余數(shù)據(jù),影響模型建立。2)容易產(chǎn)生噪聲。3)時間間隔不同[13~14]。為了提高軌跡預(yù)測的精度,需要對AIS 數(shù)據(jù)進(jìn)行一定的預(yù)處理,降低上述缺陷的影響。本文的軌跡預(yù)測方法,包含數(shù)據(jù)預(yù)處理、LSTM模型預(yù)測、EMD 分解、殘差預(yù)測及補償四個部分。數(shù)據(jù)預(yù)處理部分通過插值的方法降低噪聲和時間間隔的影響,然后建立LSTM-EMD 組合預(yù)測模型,通過分解補償?shù)氖侄螌崿F(xiàn)了船舶軌跡的精準(zhǔn)預(yù)測。利用AIS 數(shù)據(jù)進(jìn)行實驗,證明了所提方法的有效性。
經(jīng)驗?zāi)B(tài)分解是由黃鍔等提出的一種自適應(yīng)信號處理方法,被認(rèn)為是頻譜分析的一個重大突破。該方法無需預(yù)先設(shè)定基函數(shù),僅需根據(jù)數(shù)據(jù)自身的時間尺度特征進(jìn)行信號分解,因此其在理論上可以應(yīng)用于任何類型信號的分解,正是由于這樣的特點,EMD 在處理非平穩(wěn)非線性數(shù)據(jù)上具有非常明顯的優(yōu)勢[15]。
EMD 分解算法的基礎(chǔ)是把信號內(nèi)的震蕩看作是局部的。對給定的一組原始時序數(shù)據(jù)x(t),首先找出信號x(t)的所有極大值點和極小值點,對極大值進(jìn)行插值擬合和得到x(t)的上包絡(luò)emax(t),對極小值進(jìn)行插值擬合和得到x(t)的下包絡(luò)emin(t),計算上下包絡(luò)的均值得到均值序列m(t):
此時可將m1(t)看作原始數(shù)據(jù)的低頻成分,用x(t) 減去低頻成分m1(t) 得到序列的高頻成分d1(t):
一般來說,得到的d1(t)并不滿足本征模函數(shù)的條件,需要將d1(t)作為原始序列重復(fù)上述過程k次,直至達(dá)到篩分門限TS,如式(3)。TS用于篩分由極大值確定的上包絡(luò)和由極小值確定的下包絡(luò)均值是否趨近于零,一般取值為0.2~0.3[16]。
式中,d1k(t)表示重復(fù)上述過程k次后得到的高頻成分,即IMF。記c1(t)=d1k(t) ,即第一個IMF。在x(t)中減去c1(t)得到去除第一個本征模函數(shù)的序列r1(t)。重復(fù)上述過程n次,直到cn(t)小于預(yù)設(shè)誤差或rn(t)為單調(diào)函數(shù)。分解后得到n 個IMF 分量和一個殘差rn(t),將原始數(shù)據(jù)x(t)表示為IMF和殘差序列之和的形式:
傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)在處理時間序列的預(yù)測方面效果并不好,且無法有效抑制梯度爆炸問題[17~18],循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)運而生。為解決循環(huán)神經(jīng)網(wǎng)絡(luò)中的梯度問題,Hochreiter 等在循環(huán)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上提出了長短時記憶網(wǎng)絡(luò)的特殊神經(jīng)網(wǎng)絡(luò)[19]。LSTM是一種經(jīng)過改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò),可以學(xué)習(xí)長期的記憶信息,工作結(jié)構(gòu)如圖1 所示。AIS 數(shù)據(jù)包含時間信息,因此AIS 數(shù)據(jù)中的軌跡可以視為一組帶有時間信息的序列,可以通過循環(huán)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)軌跡的特性來預(yù)測下一時刻的軌跡位置[20]。EMD 算法是一種應(yīng)用十分廣泛的信號分解方法,本文綜合LSTM 與EMD 算法的優(yōu)勢,利用EMD 算法將LSTM預(yù)測信號分解補償,結(jié)合二者優(yōu)勢進(jìn)行船舶軌跡預(yù)測,提出一種LSTM-EMD 船舶軌跡預(yù)測模型,軌跡預(yù)測流程如圖2所示。
圖1 LSTM結(jié)構(gòu)圖
圖2 LSTM-EMD組合模型預(yù)測流程圖
基于LSTM-EMD的船舶運動軌跡預(yù)測步驟如下:
1)LSTM 神經(jīng)網(wǎng)絡(luò)訓(xùn)練及預(yù)測。將船舶運動數(shù)據(jù)劃分為訓(xùn)練集和測試集,根據(jù)經(jīng)驗設(shè)置LSTM的隱含層節(jié)點數(shù)、迭代次數(shù)、學(xué)習(xí)率等參數(shù),利用訓(xùn)練集對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。LSTM的輸入為當(dāng)前時刻時間間隔、經(jīng)緯度、航速、航向角等船舶信息,輸出為預(yù)測出的下一時刻船舶位置。訓(xùn)練完成后,分別用訓(xùn)練集和測試集進(jìn)行預(yù)測,得到訓(xùn)練集預(yù)測值和測試集預(yù)測值。
2)計算訓(xùn)練集預(yù)測值與真實值的殘差序列res=Ytrue-,Ytrue為軌跡的真實值。
3)殘差序列分解。利用EMD 算法對殘差序列res進(jìn)行分解,得到n個本征模態(tài)分量[IMF1,IMF2,...,IMFn]及殘差項rn。
4)本征模態(tài)分量的預(yù)測。對訓(xùn)練集的res分解后得到n個IMF 及1 個殘差項rn。針對不同頻率的本征模態(tài)分量[IMF1,IMF2,...,IMFn]和殘差項rn分別建立LSTM 神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練并預(yù)測,預(yù)測結(jié)果作為測試集預(yù)測值與真實值殘差的本征模態(tài)分量和殘差項,將預(yù)測結(jié)果求和,得到測試集殘差的預(yù)測值Yres。
5)預(yù)測結(jié)果。組合模型的預(yù)測結(jié)果為測試集預(yù)測值和測試集殘差預(yù)測值Yres之和,如式(5)。
本文采用應(yīng)用廣泛的AIS 數(shù)據(jù)作為實驗數(shù)據(jù),選取一組原始AIS 數(shù)據(jù)后,按照四個步驟進(jìn)行實驗,而后進(jìn)行實驗結(jié)果分析。為了充分證明實驗結(jié)果的有效性,本文選取傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)模型和單一LSTM神經(jīng)網(wǎng)絡(luò)模型的預(yù)測結(jié)果進(jìn)行對比。
選用平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)、均方根誤差(Root Mean Square Error,RMSE)和誤差的標(biāo)準(zhǔn)偏差(Standard Deviation,SD)作為實驗的評價指標(biāo),MAPE、RMSE和SD越小表示預(yù)測效果越好。如式(6)~(8)所示。
式中,n為預(yù)測結(jié)果的數(shù)據(jù)個數(shù),,yi分別為第i時刻軌跡的預(yù)測值和真實值。-yi為誤差,μ為平均誤差。
原始數(shù)據(jù)存在諸如數(shù)量級別相差較大、部分?jǐn)?shù)據(jù)缺失等問題,若將其直接應(yīng)用于神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練,會因此類問題導(dǎo)致預(yù)測誤差增大,因此需要進(jìn)行一定程度的數(shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理步驟如下:
1)增量處理。將原始數(shù)據(jù)處理為增量形式,可提高預(yù)測精度,將t 時刻的數(shù)據(jù)減去t-1 時刻的數(shù)據(jù),即得到增量。
2)插值處理。AIS 數(shù)據(jù)的上傳與記錄是依托于GPS 信號,當(dāng)遇到GPS 信號中斷或被屏蔽時,會使AIS 數(shù)據(jù)無法被連續(xù)采集而出現(xiàn)缺失值,而缺失值會對神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練產(chǎn)生一定負(fù)面影響,因此需要對缺失值進(jìn)行插補,本文利用經(jīng)典的拉格朗日插值法進(jìn)行插補。
3)數(shù)據(jù)標(biāo)準(zhǔn)化。原始數(shù)據(jù)的最大值和最小值之間會出現(xiàn)較大的波動,波動導(dǎo)致神經(jīng)網(wǎng)絡(luò)訓(xùn)練和預(yù)測效果下降,因此采用標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化的方法對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,標(biāo)準(zhǔn)化后的數(shù)據(jù)符合正態(tài)分布,表達(dá)式為
式中,x*為標(biāo)準(zhǔn)化后的數(shù)據(jù),x為原始數(shù)據(jù),xσ為數(shù)據(jù)標(biāo)準(zhǔn)差,xμ為數(shù)據(jù)平均值。處理后的數(shù)據(jù)之間邏輯關(guān)系不變,預(yù)測完成后的結(jié)果仍然是標(biāo)準(zhǔn)化數(shù)據(jù),需要進(jìn)行反歸一化處理才得到實際大小的數(shù)據(jù)。本文分別選取MMSI 為338158000、367628210在墨西哥灣航行的兩條軌跡作為原始數(shù)據(jù),記為軌跡1、軌跡2,分別進(jìn)行實驗。
LSTM神經(jīng)網(wǎng)絡(luò)的超參數(shù)是影響模型精度的重要因素,但目前并沒有嚴(yán)謹(jǐn)?shù)?、科學(xué)的公式確定超參數(shù)的大小,只有學(xué)者通過大量實驗總結(jié)出的經(jīng)驗公式。本文采用控制變量法,逐步找到LSTM 神經(jīng)網(wǎng)絡(luò)的最優(yōu)參數(shù),設(shè)置隱含層節(jié)點數(shù)為17,學(xué)習(xí)率為0.001,批處理數(shù)量為64,樣本訓(xùn)練次數(shù)為300,輸入層為5,輸出層為2。以時間間隔Δtime、經(jīng)度增量Δlon、緯度增量Δlat、航速增量ΔSOG和航向角增量ΔCOG五個特征量的數(shù)據(jù)作為輸入,以下一時刻的經(jīng)度增量Δlont+1、緯度增量Δlatt+1作為輸出進(jìn)行訓(xùn)練與預(yù)測,并計算訓(xùn)練集的預(yù)測值與實際值殘差。
將上一步中LSTM 模型預(yù)測得到的殘差進(jìn)行EMD 分解,分解后得到多個不同頻率的本征模態(tài)分量以及一個剩余分量。以經(jīng)度預(yù)測為例,將經(jīng)度預(yù)測后的殘差進(jìn)行EMD分解,得到6個本征模態(tài)分量IMF1-IMF6 以及一個剩余分量res,如圖3 所示,IMF1 為高頻部分,IMF7 為低頻部分,res 代表非線性趨勢。圖3中第一張圖片為EMD分解前的數(shù)據(jù),下面6 張圖片分別為分解后的本征模態(tài)分量IMF1-IMF5,最后一張圖片為分解后的殘差res。
圖3 本征模分量圖
分別建立LSTM神經(jīng)網(wǎng)絡(luò)模型對各個IMF分量進(jìn)行訓(xùn)練并預(yù)測,得到測試集IMF 分量的預(yù)測值,將所有IMF 分量預(yù)測值求和后得到測試集的殘差預(yù)測值,根據(jù)式(4),相應(yīng)的預(yù)測結(jié)果與殘差預(yù)測值相加,就完成了殘差的補償。兩組實驗數(shù)據(jù)的殘差預(yù)測結(jié)果分別如圖4~圖5 所示。由于殘差的隨機性和復(fù)雜度較大,因此很難完全準(zhǔn)確地預(yù)測殘差,只能在整體趨勢上進(jìn)行預(yù)測和補償,圖4~圖5已經(jīng)表現(xiàn)出一定的預(yù)測效果。
圖4 軌跡1殘差預(yù)測
圖5 軌跡2殘差預(yù)測
為了更好地說明LSTM-EMD 模型在船舶運動軌跡預(yù)測中的優(yōu)越性,同時給出基于傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)模型和單一LSTM 模型的軌跡預(yù)測結(jié)果及誤差。兩組數(shù)據(jù)的預(yù)測結(jié)果分別如圖6~圖7所示。
圖6 軌跡1預(yù)測結(jié)果
圖7 軌跡2預(yù)測結(jié)果
通過圖6~圖7可以看到,三種模型在整體上都能較地好預(yù)測船舶運動軌跡。但BP神經(jīng)網(wǎng)絡(luò)模型表現(xiàn)較差,預(yù)測效果不及LSTM 模型和LSTM-EMD模型;LSTM 模型比BP 模型穩(wěn)定,在經(jīng)度預(yù)測和緯度預(yù)測都有不錯的效果;LSTM-EMD 模型表現(xiàn)最好,能夠較為準(zhǔn)確地預(yù)測經(jīng)度和緯度。下面給出更加直觀的模型誤差曲線,如圖8~圖9所示。并利用評價指標(biāo)對預(yù)測結(jié)果進(jìn)行統(tǒng)計分析,如表1、表2所示。
表1 軌跡1的Mean Error、SD、MAPE和RMSE
表2 軌跡2的Mean Error、SD、MAPE和RMSE
圖8 軌跡1預(yù)測誤差
圖9 軌跡2預(yù)測誤差
通過分析圖6~圖9 以及表1、表2 可得,三種模型對船舶運動軌跡的預(yù)測都有良好的效果,其中LSTM-EMD 模型的表現(xiàn)最好。選取表1 的數(shù)據(jù)進(jìn)行具體分析,根據(jù)表1 的數(shù)據(jù),在經(jīng)度預(yù)測中,LSTM-EMD 模型相對于BP 模型和LSTM 模型,預(yù)測結(jié)果的平均絕對百分比誤差分別降低了21.03%和14.72%,效果分別提升了43.93%和33.08%;在緯度預(yù)測中,預(yù)測結(jié)果的平均絕對百分比誤差分別降低了15.77%和6.33%,效果分別提升了29.36%和24.98%。且經(jīng)度預(yù)測和緯度預(yù)測的結(jié)果都體現(xiàn)出,LSTM-EMD 模型的標(biāo)準(zhǔn)偏差SD 比BP 模型和LSTM 模型更接近平均誤差,表明LSTM-EMD 模型的船舶軌跡預(yù)測不僅有較高的預(yù)測精度,還能保證大多數(shù)預(yù)測位置與實際位置偏離程度更小。表2的數(shù)據(jù)同樣支持上述結(jié)論。
AIS 對于保障航海安全具有重要作用,也為船舶軌跡預(yù)測提供了研究基礎(chǔ),本文基于AIS 數(shù)據(jù),針對船舶軌跡的單步預(yù)測提出一種LSTM 神經(jīng)網(wǎng)絡(luò)和EMD 分解算法相結(jié)合的預(yù)測模型,該模型首先利用LSTM 模型對原始數(shù)據(jù)建模并進(jìn)行初始預(yù)測,預(yù)測結(jié)果利用EMD 算法進(jìn)行分解,再對各IMF分量進(jìn)行預(yù)測,最后將殘差預(yù)測值進(jìn)行補償?shù)玫阶罱K的預(yù)測結(jié)果。實驗部分包括數(shù)據(jù)預(yù)處理、LSTM模型預(yù)測、EMD 分解、殘差預(yù)測及補償四個步驟,并利用三條時間長、數(shù)量多的AIS 軌跡數(shù)據(jù)進(jìn)行實驗驗證,將LSTM-EMD 模型的實驗結(jié)果與BP、LSTM 模型的預(yù)測結(jié)果作對比,其結(jié)果表明:LSTM-EMD 模型對于船舶運動軌跡的預(yù)測有著更好的效果,對于提高航海安全性有一定的積極作用。