于琛,付玉慧,張逸飛,王超
(大連海事大學(xué) 航海學(xué)院,遼寧大連116026)
船舶航跡預(yù)測方法主要分為基于物理運動模型的方法和基于學(xué)習(xí)模型的方法??偨Y(jié)國內(nèi)外學(xué)者的研究現(xiàn)狀[1-5],大部分學(xué)者選用了單一預(yù)測模型,但每種類型的模型并不是在所有情況下都表現(xiàn)良好。為了克服單個模型的局限性,有學(xué)者提出組合預(yù)測的方法,如以LSTM為主、ARIMA(autoregressive integrated moving average model,ARIMA)為輔的組合短期飛行軌跡預(yù)測模型[6]。與單模型對比提升了預(yù)測的精確度。有學(xué)者提出利用LSTM挖掘飛行軌跡中的非線性關(guān)系并結(jié)合ARIMA挖掘飛行軌跡中的線性關(guān)系的組合預(yù)測模型,將時間序列分成線性序列與非線性序列,進一步提高了飛行軌跡預(yù)測的精度[7]。ARIMA在處理線性時間序列中取得了優(yōu)良的效果,但對于非線性序列部分的信息無法進行捕捉。BIGRU神經(jīng)網(wǎng)絡(luò)是LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的變體,能夠很好地學(xué)習(xí)到非線性序列信息,引入注意力機制對GRU神經(jīng)網(wǎng)絡(luò)進行權(quán)重訓(xùn)練,可以進一步提高預(yù)測精度。有學(xué)者提出基于BIGRU和自注意力機制的情感分析模型,將注意力機制與BIGRU結(jié)合相較于單BIGRU模型預(yù)測精度取得了較大的提升[8]。綜合以上分析,提出一種基于ARIMA和注意力機制的神經(jīng)網(wǎng)絡(luò)組合模型。考慮AIS數(shù)據(jù)中線性因素及非線性因素對船舶軌跡預(yù)測的影響。利用ARIMA良好的線性因素學(xué)習(xí)能力,初步預(yù)測出下一時刻船舶軌跡坐標(biāo),進而提取出預(yù)測殘差,將殘差特征輸入BIGRU神經(jīng)網(wǎng)絡(luò),結(jié)合注意力機制挖掘AIS數(shù)據(jù)中非線性因素對船舶軌跡的影響。
時間序列模型ARIMA為差分自回歸移動平均模型。分為自回歸模型AR、移動平均模型MA、差分I。
AR(p)描述當(dāng)前平穩(wěn)序列的值與歷史值之間的關(guān)系,用變量自身的歷史數(shù)據(jù)對自身進行預(yù)測。p為階數(shù),表示采用p個時間點的歷史值來預(yù)測當(dāng)前值。
MA(q)為自回歸模型中誤差項的累加,q為移動平均項數(shù)。I(d)為變量的差分,d為差分的階數(shù)。通常采用自相關(guān)函數(shù)(ACF)、偏自相關(guān)函數(shù)(PACF)來判別ARMA(p,q)模型的系數(shù)和階數(shù)。
若原始時間序列經(jīng)過判斷表現(xiàn)為波動,首先要對時間序列進行差分處理,使其趨于平穩(wěn),進行的差分次數(shù)就取為d值,最后通過AIC準(zhǔn)則、BIC準(zhǔn)則確定p、q。ARIMA模型如下。
(1)
式中:Φ(B)=1-φ1B-φ2B2-…φpBp為時間序列ARIMA模型的自回歸相關(guān)系數(shù)多項式;d=(1-B)d為高階差分;Xt為時間序列;Θ(B)=1-θ1B-θ2B2-…-θqBq為時間序列ARIMA模型的移動平均系數(shù)多項式。
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)會受時間序列長度的影響,若輸入的時間序列過長,則RNN不能將之前時間步獲得的信息傳遞給當(dāng)前時刻的時間步。在反向傳播期間RNN容易發(fā)生梯度爆炸和梯度消失。若RNN的梯度值下降到很小,則獲得小梯度的更新層就會停止學(xué)習(xí)。LSTM神經(jīng)網(wǎng)絡(luò)可解決短時記憶的問題,單元結(jié)構(gòu)見圖1。LSTM具有門控制單元,門控制單元可以通過權(quán)重學(xué)習(xí)調(diào)節(jié)信息流,避免梯度下降和梯度爆炸問題。
圖1 單個LSTM單元結(jié)構(gòu)
LSTM計算公式為
(2)
LSTM的門控單元包含1個Sigmoid神經(jīng)網(wǎng)絡(luò)層和1個Pointwise乘法操作。Sigmoid網(wǎng)絡(luò)層負(fù)責(zé)描述每個神經(jīng)元可以通過的信息數(shù)量。0代表“任何量禁止通過”,1代表“任何量允許通過”。LSTM門控單元總共分為3步。
第1步,決定從LSTM細(xì)胞中丟棄的信息。ft為記憶門(也叫遺忘門),記憶門讀取當(dāng)前變量xt和前神經(jīng)元傳遞的信息at-1,由ft決定丟棄的信息。輸出1為“保留”,0為“舍棄”。
最后確定輸出,通過ot(輸出門)決定細(xì)胞的輸出信息,通過ht將信息和通過tanh處理過的細(xì)胞狀態(tài)相乘后輸出。
GRU是在LSTM基礎(chǔ)上的1種變體,將遺忘門和輸入門組合成更新門,見圖2。
圖2 單個GRU單元結(jié)構(gòu)
與LSTM相比,GRU的結(jié)構(gòu)在簡化的同時也保留了長短期記憶網(wǎng)絡(luò)的能力,這使得GRU的運算效率顯著提高。
GRU計算公式為
(3)
式中:ft為更新門,其作用等同于LSTM中的記憶門和輸出門,決定細(xì)胞狀態(tài)所存放的新信息以及更新舊的細(xì)胞狀態(tài);
Γt為重置門,其與LSTM中的ot作用相同,決定細(xì)胞的被輸出信息。
注意力機制已經(jīng)成為了深度學(xué)習(xí)重要的思想之一,它通常適用于雙向循環(huán)神經(jīng)網(wǎng)絡(luò),以往的時間序列神經(jīng)網(wǎng)絡(luò)只能順序?qū)W習(xí),即對于同一時間步的所有的特征向量等權(quán)重學(xué)習(xí),結(jié)合注意力機制的神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中計算注意力權(quán)重(a set of attention weights),注意力權(quán)重(α(t,t′))代表預(yù)測(t)特征向量時(t′)時間步的權(quán)重大小。α(t,t′)計算公式如下。
(4)
e(t,t′)由小型神經(jīng)網(wǎng)絡(luò)訓(xùn)練獲得,見圖3。
圖3 e(t,t′)神經(jīng)網(wǎng)絡(luò)
注意力權(quán)重通過與(t′)時間步特征向量激活值(αt′)進行加權(quán)平均計算得到編碼向量C。
(5)
圖4 基于ARIMA-BIGRU神經(jīng)網(wǎng)絡(luò)殘差優(yōu)化組合預(yù)測流程
1)對船舶航跡數(shù)據(jù)序列進行平穩(wěn)性檢驗,確定差分次數(shù)d,之后采用AIC(akaike information criterion)準(zhǔn)則給模型定階,以此模型對船舶航跡進行預(yù)測,得到船舶航跡的初步預(yù)測結(jié)果。
2)將ARIMA得到的預(yù)測值與船舶航跡真實值Xt比較,計算得出其預(yù)測誤差et。
GRU的時間步長即連續(xù)n個時刻的船舶航跡數(shù)據(jù)輸入。時間步長過小,神經(jīng)網(wǎng)絡(luò)不能很好的學(xué)習(xí)到輸入數(shù)據(jù)前后的關(guān)聯(lián)性;隨著時間步的增大,預(yù)測誤差呈現(xiàn)下降趨勢;當(dāng)時間步長過長時,輸入數(shù)據(jù)的前后關(guān)聯(lián)性減小,造成網(wǎng)絡(luò)的預(yù)測誤差增加。通過保證其他參數(shù)不變,更改不同時間步對比預(yù)測結(jié)果誤差,經(jīng)實驗驗證在時間步n等于3時預(yù)測誤差最小。
以t-3~t-1時刻的船舶類型、航向、航速、經(jīng)度、緯度15個參數(shù)作為輸入。以t時刻的經(jīng)度、緯度作為輸出。
對于目標(biāo)船舶,在t時刻的航行狀態(tài)特征為
Wt=(Var1t、Var2t、Var3t、Var4t、Var5t)
(6)
式中:Var1t、Var2t、Var3t、Var4t、Var5t分別表示t時刻的船舶類型、航向、航速、經(jīng)度、緯度。
預(yù)測當(dāng)前船舶位置則可以表示為
Et=f(Wt-3、Wt-2、Wt-1)
(7)
式中:Et=(Var4t、Var5t);f為所訓(xùn)練的模型。
此模型主要由2層BIGRU神經(jīng)網(wǎng)絡(luò)層以及1層Dense層組成。其中:α(t,t′)為注意力權(quán)重;C為激活值(αt′)與注意力權(quán)重α(t,t′)平均加權(quán)后的編碼向量;St為第t個解碼層的隱藏狀態(tài),St負(fù)責(zé)存放第t個預(yù)測值yt以及編碼向量C的狀態(tài),其與(t^')時間步的特征向量的激活值(αt′)通過小型神經(jīng)網(wǎng)絡(luò)計算出下一時刻的注意力權(quán)重(α(t,t′))。模型結(jié)構(gòu)見圖5。
圖5 基于注意力機制的BIGRU神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
為了評價所提出的組合預(yù)測方法的合理性和有效性,擬采用與單一預(yù)測模型對比均方誤差(Mean square error, MSE)、平均絕對誤差(mean absolute error, MAE)、均方根誤差(root mean square error, RMSE)以及航跡真實值來進行對比分析論證此組合預(yù)測方法的有效性。
實驗數(shù)據(jù)采用卡里蒙群島2019年6月3—22日的47 326條AIS數(shù)據(jù)??紤]到輸入的數(shù)據(jù)是多種類型船舶的AIS數(shù)據(jù)集,不同類型船舶AIS數(shù)據(jù)中蘊含的航行規(guī)律不同,所以將船舶類型作為參數(shù)輸入時,神經(jīng)網(wǎng)絡(luò)能夠區(qū)分船舶類型特征來分類挖掘規(guī)律,相較于直接輸入大量AIS數(shù)據(jù)效果要好。主要選取船型(shiptype)、航向(course)、航速(speed)、經(jīng)度(lon)、緯度(lat)5個特征值。
原始的AIS數(shù)據(jù)存在大量的特征數(shù)據(jù),需要進行數(shù)據(jù)預(yù)處理,首先將船舶類型(ship type)轉(zhuǎn)換成由1開始的數(shù)字型標(biāo)簽,將經(jīng)緯度轉(zhuǎn)換成以秒(t)為單位的浮點數(shù)。若數(shù)據(jù)缺失,則采用以下方法進行修復(fù)。
1)將數(shù)據(jù)依據(jù)特征值等量的分為不同組,若某一特征值組內(nèi)在這一組所有值的平均值3倍以上,則判斷為異常點。
2)使用三次樣條插值法進行異常點剔除,以保證數(shù)據(jù)時間間隔相同,選取當(dāng)前點x前后2點,提取x時間ti、ti+1船舶經(jīng)緯度為(xi,yi)、(xi+1,yi+1),t時刻的船舶經(jīng)緯度可以用式(8)計算。
(8)
式中:hi=xi-xi-1;Mi為插值函數(shù)X(t)在節(jié)點ti處的二階導(dǎo)數(shù)。
3)使用三次樣條插值法對修復(fù)后的數(shù)據(jù)進行插值,獲得時間間隔為10 s的數(shù)據(jù)。
最后將船型、航向、航速,以及ARIMA輸出的經(jīng)度殘差(lon-res)、緯度殘差(lat-res)以時間為索引,以(t-3)~(t-1)時刻的15個值作為特征值輸入,t時刻的經(jīng)度殘差和緯度殘差作為預(yù)測標(biāo)簽參照,處理完畢后將數(shù)據(jù)做離差標(biāo)準(zhǔn)化(min-max normalization)歸一化處理。
1)模型參數(shù)初始化。通過網(wǎng)格搜索法進行參數(shù)尋優(yōu),確定模型擬采用3層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中前兩層為循環(huán)BIGRU神經(jīng)網(wǎng)絡(luò)層,第三層為Dense層。每層的神經(jīng)單元個數(shù)分別為50、128、2。訓(xùn)練次數(shù)為60次,mini-batch數(shù)目為128。梯度下降方式采用adam下降方法。
2)模型訓(xùn)練。將所有數(shù)據(jù)分成訓(xùn)練集和測試集,其中訓(xùn)練集數(shù)據(jù)為4/5,測試集測試數(shù)據(jù)為1/5。BIGRU網(wǎng)絡(luò)的輸入為時間序列,輸入?yún)?shù)x1~x15為:Wt-3、Wt-2、Wt-1。
3)模型預(yù)測。將測試集輸入到訓(xùn)練集訓(xùn)練好的模型中進行預(yù)測,同時要對預(yù)測數(shù)據(jù)進行反歸一化處理,使得預(yù)測得到的數(shù)據(jù)是真實的經(jīng)緯度數(shù)據(jù)。
測試集在訓(xùn)練集訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)模型上依據(jù)經(jīng)度、緯度2個特征計算出MSE、MAE、RMSE,實驗結(jié)果見圖6~8。
圖6 測試集MSE
圖7 測試集MAE
圖8 測試集RMSE
由以圖6~8可知,GRU的誤差精度優(yōu)于LSTM。單向GRU模型與雙向GRU模型對比MSE、MAE、RMSE分別降低8.024 8×10-4、3.52×10-3、9.999 05×10-3。結(jié)合注意力機制后BIGRU三種誤差相較于BIGRU分別都有降低,未結(jié)合注意力機制的訓(xùn)練模型訓(xùn)練誤差波動較大,BIGRU、BLSTM在結(jié)合注意力機制優(yōu)化后誤差精度和平穩(wěn)性均優(yōu)于BIGRU、BLSTM。結(jié)合注意力機制的ARIMA-BIGUR模型的預(yù)測效果最好、預(yù)測精度最高。通過對比誤差指標(biāo)可知基于ARIMA和注意力機制的BIGRU循環(huán)神經(jīng)網(wǎng)絡(luò)組合預(yù)測模型,在MSE、MAE、RMSE預(yù)測指標(biāo)上相較于其它5種模型有較大的提升。
用模型對80個航跡點進行預(yù)測,結(jié)果見圖9、10。
圖9 航跡預(yù)測對比
圖10 放大后的航跡預(yù)測對比
對比真實的船舶航跡可以發(fā)現(xiàn),未經(jīng)過注意力機制優(yōu)化的GRU、BIGRU、BLSTM與真實航跡相比有很大的偏差,經(jīng)過注意力機制優(yōu)化的BIGRU、BLSTM預(yù)測效果與真實值接近,同時結(jié)合ARIMA與注意力機制的BIGRU模型的預(yù)測效果與真實航跡十分吻合,說明本文預(yù)測方法能夠進一步提升航跡預(yù)測精確度。
相較于傳統(tǒng)預(yù)測方法,基于ARIMA-BIGRU的組合預(yù)測模型具有更高的精確度和平穩(wěn)性。利用ARIMA進行線性預(yù)測可以將航跡數(shù)據(jù)處理的更加平穩(wěn);利用BIGRU結(jié)合注意力機制對殘差進行優(yōu)化,能夠挖掘出非線性因素對航跡造成的影響,從而準(zhǔn)確預(yù)測出船舶軌跡。未來的研究應(yīng)考慮模型的在線更新和實時預(yù)測,以進一步提高模型的航跡預(yù)測能力。