王貴槐,鐘 誠(chéng),初秀民,張代勇
(1. 武漢交通職業(yè)學(xué)院,湖北 武漢 430065; 2. 武漢理工大學(xué) 國(guó)家水運(yùn)安全工程技術(shù)研究中心,湖北 武漢 430063)
在水上交通眾多感知手段中,雷達(dá)與船舶自動(dòng)識(shí)別系統(tǒng)(automatic identification system, AIS)是為核心的部分。受制于AIS設(shè)備自身及環(huán)境因素等影響,AIS數(shù)據(jù)質(zhì)量存在可用性不高的問(wèn)題。內(nèi)河船舶普遍安裝低成本的Class-B級(jí)AIS船臺(tái),船臺(tái)本身軟硬件質(zhì)量可靠性不足。此外,AIS基站布設(shè)存在很多盲區(qū),導(dǎo)致該區(qū)域內(nèi)AIS信號(hào)傳播有一定衰減[1]。以上因素導(dǎo)致AIS在實(shí)際應(yīng)用過(guò)程中,不可避免產(chǎn)生數(shù)據(jù)異常、丟失等情況。
為保障AIS數(shù)據(jù)質(zhì)量,大量學(xué)者對(duì)AIS數(shù)據(jù)的錯(cuò)誤甄別、缺失修復(fù)開(kāi)展了研究。研究方法主要分為船舶運(yùn)動(dòng)學(xué)建模方法,線性插值模型方法以及機(jī)器學(xué)習(xí)方法。在船舶運(yùn)動(dòng)學(xué)建模中,通常采用建立多自由度的船舶力學(xué)模型來(lái)預(yù)測(cè)船舶運(yùn)動(dòng)軌跡和姿態(tài)[2-3],由于AIS數(shù)據(jù)僅包含船舶位置和速度、航跡向信息,不能為模型提供足夠的參數(shù),因而該方法實(shí)際上不具有可行性。線性插值方法則通過(guò)AIS數(shù)據(jù)對(duì)船舶軌跡進(jìn)行建模估計(jì),在不同模型(直行、轉(zhuǎn)向等)中采用不同的插值方法對(duì)船舶運(yùn)動(dòng)軌跡進(jìn)行修復(fù),但在軌跡上下文信息丟失過(guò)多的情況下,不能取得較好的模擬效果[4]。
和傳統(tǒng)建模方法及線性插值方法相比,機(jī)器學(xué)習(xí)方法對(duì)于軌跡的上下文信息應(yīng)用更有優(yōu)勢(shì)。徐婷婷等[5]提出一種基于三層BP神經(jīng)網(wǎng)絡(luò)的船舶軌跡預(yù)測(cè)模型;王體迎等[6]提出一種基于門限單元循環(huán)神經(jīng)網(wǎng)絡(luò)的船舶預(yù)測(cè)方法,通過(guò)時(shí)間序列的挖掘,對(duì)交通流量的上下文數(shù)據(jù)進(jìn)行利用,以數(shù)據(jù)驅(qū)動(dòng)的方法獲取了較高的預(yù)測(cè)精度。
在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,循環(huán)神經(jīng)網(wǎng)絡(luò)在時(shí)序問(wèn)題的處理上有較為突出的表現(xiàn)[7-8]。如將船舶軌跡信息視為一種時(shí)間序列數(shù)據(jù),無(wú)疑RNN在船舶軌跡信息上可有極為契合的應(yīng)用。然而,循環(huán)神經(jīng)網(wǎng)絡(luò)方法要求輸入數(shù)據(jù)具有固定的時(shí)間周期,而內(nèi)河AIS船臺(tái)的時(shí)間周期通常都不穩(wěn)定,會(huì)造成嚴(yán)重的預(yù)測(cè)及修復(fù)誤差。
筆者通過(guò)對(duì)AIS數(shù)據(jù)分析研究,根據(jù)AIS數(shù)據(jù)特性,對(duì)船舶軌跡數(shù)據(jù)進(jìn)行了數(shù)據(jù)清洗及采樣頻次統(tǒng)一等預(yù)處理工作,以解決循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)用與AIS數(shù)據(jù)建模上的結(jié)構(gòu)問(wèn)題。并引入雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(BLSTM-RNN)方法,對(duì)船舶AIS缺失數(shù)據(jù)進(jìn)行修復(fù)。
在船舶AIS軌跡數(shù)據(jù)中,每一個(gè)點(diǎn)不僅與其前向點(diǎn)相關(guān),與后向點(diǎn)也有一定的關(guān)系,而傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)僅能進(jìn)行單向?qū)W習(xí)。SCHUSTER在1997年提出一種雙向遞歸神經(jīng)網(wǎng)絡(luò)(BRNN),該模型能有效解決雙向?qū)W習(xí)問(wèn)題。隨后在RNN模型的改進(jìn)上,HOCHREITER提出了一種長(zhǎng)短時(shí)記憶單元結(jié)構(gòu)(LSTM)來(lái)解決循環(huán)神經(jīng)網(wǎng)絡(luò)中存在的長(zhǎng)距離依賴問(wèn)題。由此,基于長(zhǎng)短時(shí)結(jié)構(gòu)的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(BLSTM-RNN)被提出。
在BLSTM-RNN中,隱層需要存儲(chǔ)兩個(gè)值,一個(gè)值參與計(jì)算,另一個(gè)值參與反向計(jì)算。最終輸出值Y是由正反向兩個(gè)存儲(chǔ)值共同決定。假設(shè)Ot表示t時(shí)刻的輸出,可以表示如式(1)~(3):
Ot=g(Vst+V′s′t)
(1)
st=f(Uxt+Wst-1)
(2)
(3)
式中:Ot為L(zhǎng)STM結(jié)構(gòu)t時(shí)刻的輸出值;g為輸出權(quán)重矩陣;V及V′為別為正向及逆向結(jié)果的權(quán)重矩陣;st及s′t分別為t時(shí)刻的正逆向輸出結(jié)果;xt為t時(shí)刻的LSTM結(jié)構(gòu)輸入;U及U′為正向及逆向輸入權(quán)重矩陣;W及W′為上一時(shí)刻輸入的權(quán)重矩陣。基于該結(jié)構(gòu),筆者構(gòu)建了一個(gè)兩層的雙向深度循環(huán)神經(jīng)網(wǎng)絡(luò),其LSTM層共設(shè)有兩層,每層均含有正向及反向兩層,其結(jié)構(gòu)如圖1。
圖1 BLSTM-RNN結(jié)構(gòu)Fig. 1 BLSTM-RNN structure diagram
在AIS回傳數(shù)據(jù)中,一條典型的報(bào)文信息包括船號(hào)(mmsi)、回傳時(shí)間(utc)、經(jīng)緯度信息(lon,lat)、航速(speed)、航向(course)等共含有9個(gè)變量。在剔除掉船舶mmsi編號(hào)等無(wú)關(guān)的3個(gè)變量,剩下變量中選擇相關(guān)性最高變量作為輸入元數(shù)據(jù),變量的數(shù)量即為輸入元數(shù)據(jù)的維度。
表1 經(jīng)緯度相關(guān)性分析結(jié)果Table 1 Analysis results of latitude-longitude correlation
取518個(gè)特征點(diǎn),進(jìn)行相關(guān)性檢測(cè),采用皮爾遜(Pearson)為相關(guān)性準(zhǔn)則,其測(cè)試結(jié)果如表1。在測(cè)試結(jié)果中,相關(guān)性系數(shù)值越大,則表明兩個(gè)變量間的相關(guān)程度越高,顯著性檢測(cè)值小于0.05,則兩列數(shù)據(jù)顯著相關(guān);反之,則兩列數(shù)據(jù)在統(tǒng)計(jì)意義上相關(guān)性不明顯。在實(shí)驗(yàn)結(jié)果中,選擇相關(guān)性系數(shù)高于0.5,且雙側(cè)檢驗(yàn)小于0.05的變量,作為輸入集的選取變量。輸入樣本的長(zhǎng)度,采用傳統(tǒng)線性回歸模型的滯后期法進(jìn)行確定(ARIMA/AR)。將經(jīng)緯度序列視為時(shí)空自相關(guān)序列,則可以通過(guò)其ACF和PACF參數(shù)進(jìn)行自相關(guān)和偏自相關(guān)系數(shù)求取。ACF的定義如下:
(4)
自相關(guān)(ACF)值代表船舶軌跡序列點(diǎn)自身的線型關(guān)系,固定過(guò)程的兩個(gè)觀測(cè)值之間的自相關(guān)僅取決于他們的滯后值k。偏相關(guān)(PACF)是去除線型關(guān)系后的自相關(guān)值,其值求取涉及到求解Yule-Walker方程。經(jīng)緯度自相關(guān)與偏相關(guān)的結(jié)果如圖2。
圖2 自相關(guān)及偏自相關(guān)系數(shù)Fig. 2 Autocorrelation and partial autocorrelation coefficients
由自相關(guān)及偏相關(guān)序列結(jié)果可知,滯后值為37。這意味著軌跡序列自相關(guān)性中,每一個(gè)軌跡點(diǎn)xi都與之前的軌跡點(diǎn)xi-37,xi-36,…,xi-1有著較強(qiáng)的相關(guān)性。則每一個(gè)訓(xùn)練樣本的輸入由37個(gè)軌跡點(diǎn)構(gòu)成,其中每個(gè)軌跡點(diǎn)包括4個(gè)維度的信息,將訓(xùn)練樣本展開(kāi)為一維向量,構(gòu)建為RNN單個(gè)輸入集,每一個(gè)輸入集包括148個(gè)神經(jīng)元作為輸入。
BLSTM-RNN模型中,每層的LSTM結(jié)構(gòu)單元數(shù)設(shè)置為輸入單元數(shù)據(jù)的維度減1[9],同時(shí)添加Dropout層以避免模型過(guò)擬合[10],Dropout參數(shù)設(shè)定為0.5。LSTM門及連接層權(quán)值初始化方法采用SVD法[11],訓(xùn)練輪次設(shè)置為30輪。
傳遞函數(shù)及優(yōu)化方法是另外兩個(gè)較為重要的超參數(shù)。由于LSTM門結(jié)構(gòu)的輸出僅能存于[0-1]之間,選擇sigmoid作為其傳遞函數(shù)。在連接層之間的傳遞函數(shù),測(cè)試了sigmoid、tanh以及relu三種傳遞參數(shù)。優(yōu)化方法上,測(cè)試了SGD,Adadalta,Adam,RMSprop四種優(yōu)化方法,實(shí)驗(yàn)過(guò)程中,學(xué)習(xí)率改變步長(zhǎng)均設(shè)置為0.1。測(cè)試標(biāo)準(zhǔn)為模型的準(zhǔn)確率(ACC)。測(cè)試結(jié)果表明,relu最為傳遞函數(shù)時(shí),收斂最快,精度最高, SGD作為優(yōu)化方法時(shí)也有最好的效果。最終選擇relu作為模型的傳遞函數(shù),SGD作為模型的優(yōu)化方法。實(shí)驗(yàn)結(jié)果如圖3。
圖3 傳遞函數(shù)及優(yōu)化方法實(shí)驗(yàn)結(jié)果Fig. 3 Transfer functions and test results of optimization method
實(shí)際AIS數(shù)據(jù)中,船臺(tái)回傳數(shù)據(jù)存在兩個(gè)問(wèn)題:①回傳時(shí)間不穩(wěn)定,導(dǎo)致采樣頻率無(wú)法統(tǒng)一;②由于船舶漂移及AIS船臺(tái)錯(cuò)誤報(bào)文等原因,原始數(shù)據(jù)里有較多錯(cuò)誤數(shù)據(jù)。
針對(duì)第一個(gè)問(wèn)題,對(duì)武漢段2015年7月AIS數(shù)據(jù)進(jìn)行統(tǒng)計(jì),將其回傳頻率統(tǒng)一為6 s,10 s,15 s以及30 s,如圖4。
圖4 A、B型船臺(tái)回傳時(shí)間分布(武漢段2015年7月)Fig. 4 Return time distribution map of A and B berth(Wuhan section in July, 2015)
時(shí)間間隔的確定方式為:對(duì)數(shù)據(jù)包中的四類標(biāo)準(zhǔn)時(shí)間占比進(jìn)行統(tǒng)計(jì),若某一標(biāo)準(zhǔn)時(shí)間數(shù)據(jù)量占數(shù)據(jù)總量比大于70%,則認(rèn)為該條軌跡的AIS發(fā)送時(shí)間間隔為該數(shù)據(jù)值。其中,每一條時(shí)間間隔值判斷過(guò)程需滿足如下條件:
|ts-T|<=T×0.1
(5)
式中:ts為相鄰數(shù)據(jù)的時(shí)間差,s;T為標(biāo)準(zhǔn)時(shí)間間隔,s。
采用閾值方法對(duì)錯(cuò)誤軌跡進(jìn)行清洗。對(duì)船舶軌跡數(shù)據(jù)中求取4個(gè)參數(shù):COURE_RES,SPEED_RES,TIME以及LL_RES。4個(gè)變量分別代表航向加速度,速度加速度,時(shí)間差以及偏移距離,其中偏移距離為歐式距離。分別對(duì)4個(gè)參數(shù)設(shè)定4個(gè)閾值,在實(shí)際軌跡中有一個(gè)參數(shù)超出該閾值,則刪掉該數(shù)據(jù)。閾值同樣由數(shù)據(jù)分布進(jìn)行確定。以船舶速度為例,圖5是武漢段7月船舶速度統(tǒng)計(jì)數(shù)據(jù)的分布圖及累加百分比圖。
圖5 船舶速度分布及累加百分比(武漢段2015年7月)Fig. 5 Velocity distribution and cumulative percentage diagram ofships (Wuhan section in July, 2015)
其中,船舶速度單位為節(jié)(Knote。統(tǒng)計(jì)結(jié)果中,速度超過(guò)12.5節(jié)的船舶數(shù)量百分比占比為0.712%,遠(yuǎn)超出置信區(qū)間,超出該速度值的可以認(rèn)定為異常速度值。同時(shí)按照內(nèi)河船舶管理數(shù)據(jù)來(lái)看,船舶在內(nèi)河橋區(qū)水域速度基本為5節(jié)之內(nèi)。由此方法確定清洗數(shù)據(jù)的各項(xiàng)閾值后,對(duì)原始數(shù)據(jù)進(jìn)行處理。
采用中國(guó)長(zhǎng)江武漢段及重慶段兩處的船舶時(shí)空軌跡做為實(shí)驗(yàn)數(shù)據(jù)。其中,武漢段為順直河段,來(lái)往船只多,且伴隨有大量輪渡,??奎c(diǎn)呈密集聚集趨勢(shì);重慶段河段較為彎曲,船舶行進(jìn)軌跡中回轉(zhuǎn)較大。船舶類型主要包括客船、貨船以及油輪,包括有少量的執(zhí)法船舶及工程施工船舶。數(shù)據(jù)采集時(shí)間3個(gè)月,分別是3月、7月及11月,包含典型的枯水季、豐水季及中水季。武漢段具體區(qū)域選取為軍山至天興洲頭區(qū)域,該區(qū)域輪渡船舶較多,船舶行為相對(duì)復(fù)雜。重慶段區(qū)域選取主要為牛頭溪處至石板灘處,以及沙咀向上至臨江門方向河段,該區(qū)域航道曲率半徑較大,船舶在航行過(guò)程中需完成較大的轉(zhuǎn)向角度。
通過(guò)對(duì)武漢段及重慶段的數(shù)據(jù)采集,對(duì)原數(shù)據(jù)進(jìn)行拆分重組,共得到142 655組訓(xùn)練數(shù)據(jù),其中包含重慶段訓(xùn)練集100 129組,武漢段訓(xùn)練集42 526組。樣本集順序被隨機(jī)打亂,并分為2個(gè)部分。一部分作為RNN建模數(shù)據(jù)集,包含80%的樣本集數(shù)量,另一部分作為驗(yàn)證集,包含20%的樣本集數(shù)量。訓(xùn)練之前,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,具體歸一化過(guò)程如式(6):
(6)
式中:xmax,xmin為訓(xùn)練集樣本中最大及最小值;ymax,ymin為歸一化樣本后最大及最小值,筆者取ymax=0,ymin=1。為驗(yàn)證實(shí)驗(yàn)結(jié)果,引入以下指標(biāo)衡量預(yù)測(cè)結(jié)果:
(7)
(8)
(9)
式中:系數(shù)RMSE為均方根誤差;MAPE為統(tǒng)計(jì)中對(duì)預(yù)測(cè)精度的度量方法;指代統(tǒng)計(jì)量誤差R2為決定系數(shù),數(shù)值在0-1之間,該值越大表明實(shí)驗(yàn)結(jié)果越可靠;Xobx代表原始數(shù)據(jù),Xpre代表預(yù)測(cè)數(shù)據(jù)。對(duì)比方法上,引入3種方法作為實(shí)驗(yàn)對(duì)比,分別是線型插值方法(PCHIP),神經(jīng)網(wǎng)絡(luò)方法(ANN)以及單向循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。通過(guò)與其他3種方法修復(fù)結(jié)果進(jìn)行對(duì)比,BLSTM-RNN在3個(gè)指標(biāo)上均有提升。結(jié)果如表2。
表2 實(shí)驗(yàn)結(jié)果對(duì)比Table 2 Comparison of experimental results (°)
由實(shí)驗(yàn)結(jié)果可以看出,3種方法在武漢段的測(cè)試效果均好于在重慶段的測(cè)試效果,尤其是線性方法在武漢段的測(cè)試效果遠(yuǎn)好于重慶段測(cè)試效果。這是由于重慶段較彎曲,船舶軌跡數(shù)據(jù)中具有較多的轉(zhuǎn)向操作,從而導(dǎo)致線性方法(插值法)在該區(qū)域內(nèi)效果較差。非線性方法(ANN及RNN)在兩個(gè)區(qū)域內(nèi)結(jié)果差異不明顯。在RMSE指標(biāo)上,BLSTM-RNN實(shí)驗(yàn)結(jié)果比ANN及RNN提升了25%左右,而在MAPE指標(biāo)上,提升了約75%,效果顯著。
使用實(shí)例數(shù)據(jù)對(duì)長(zhǎng)距離丟失點(diǎn)修復(fù)進(jìn)行測(cè)試。在長(zhǎng)距離丟失點(diǎn)上,非線性方法具有更好的效果,實(shí)驗(yàn)結(jié)果如圖6。
圖6 實(shí)證修復(fù)結(jié)果Fig. 6 The results of empirical repair (A. Chongqing sectionB. Wuhan section)
長(zhǎng)距離丟失點(diǎn)由于信息的不全,導(dǎo)致線性方法幾乎失效,而ANN方法及單向RNN方法在建模上,缺少對(duì)丟失點(diǎn)下文軌跡點(diǎn)的考慮。BLSTM-RNN在長(zhǎng)距離點(diǎn)丟失上,則有較好的效果。實(shí)驗(yàn)結(jié)果如表3。
表3 長(zhǎng)距離修復(fù)實(shí)驗(yàn)結(jié)果對(duì)比Table 3 Comparison of long distance repair test results m
由結(jié)果可以看出,插值的預(yù)測(cè)效果要遠(yuǎn)低于神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果,特別是當(dāng)預(yù)測(cè)點(diǎn)數(shù)增加時(shí)尤為明顯。雖然插值預(yù)測(cè)的R2的值仍在0.999以上,但是距離均方根誤差隨預(yù)測(cè)點(diǎn)數(shù)增加時(shí)變化較大,單向PCHIP線性方法預(yù)測(cè)20個(gè)點(diǎn)時(shí),距離均方根誤差甚至達(dá)到1 200 m量級(jí),而B(niǎo)LSTM-RNN則將誤差控制在50 m量級(jí)上。BLSTM-RNN方法決定系數(shù)R2控制在0.999 9量級(jí)上;MAPE指數(shù)上,模型將誤差控制在16 m量級(jí)上,較其他方法均有一定精度上的提升。
筆者將船舶軌跡序列作為時(shí)序序列輸入,針對(duì)船舶時(shí)序軌跡數(shù)據(jù)特點(diǎn),引入BLSTM-RNN方法。實(shí)驗(yàn)結(jié)果證明,與線性及其他機(jī)器學(xué)習(xí)方法相比,BLSTM-RNN方法在精度上有一定提升。在武漢段順直河段實(shí)驗(yàn)中,將修復(fù)誤差控制在15 m量級(jí)內(nèi),遠(yuǎn)低于其他非線性方法的50 m量級(jí)。在重慶復(fù)雜河段內(nèi),線性方法幾乎失效,BLSTM-RNN模型由于多層結(jié)構(gòu)化特征,可充分利用軌跡前后文信息,提高復(fù)雜軌跡的修復(fù)精度,修復(fù)誤差控制在10 m量級(jí)。此外,模型解決了傳統(tǒng)方法在長(zhǎng)距離丟失點(diǎn)上精度缺失的問(wèn)題,在20個(gè)連續(xù)點(diǎn)丟失的情況上,將修復(fù)誤差降低至50 m量級(jí)。