李 樾,袁 智,,劉 奕
(1.湖北工程學院新技術學院,湖北 孝感 432000; 2.武漢理工大學航運學院,湖北 武漢 430063)
日益繁忙的水上交通給船舶交通監管和事故預防帶來了巨大壓力[1]。船舶軌跡數據因為記錄了船舶航行過程中的實時位置和航線信息,從而為水上船舶軌跡分析、交通流分析、船舶交通監管和水上事故預防提供了重要的信息[2]。區域內船舶基于GPS(global positioning system)、AIS(automatic identification system)設備不斷地與他船和岸基以報文的形式發送和接收船舶數據,這些數據包括船舶的靜態特征、實時位置、速度、航線以及其他信息。但是,由于受采集設備、信號傳輸以及環境等因素的影響,原始采樣的軌跡數據存在異常和錯誤等質量問題[3],從而造成船舶軌跡數據異常和部分缺失。因此,有必要構建船舶軌跡修復模型來提升船舶軌跡數據的質量,從而提高軌跡數據的利用效率和研究價值。針對船舶軌跡修復的研究,國內外學者已經取得了一些成果。劉立群等[4]通過三次樣條插值法分別對船舶經度、緯度信息進行修復。秦紅星等[5]以線性插值為基礎,提出了一種船舶軌跡修復算法。李佳等[6]利用粒子群優化算法和相似軌跡優化最小二乘支持向量機模型修復殘缺軌跡數據。Liu等[7]基于支持向量機方法構建了船舶軌跡預測模型。Lv[8]借助大數據和云計算技術對船舶軌跡進行了分析?,F有這些方法多基于線性插值方法,不能很好地把握整體軌跡的特征,尤其不能很好地處理彎曲航段的軌跡。將船舶軌跡數據看作有序的時間序列,通過分析異?;蛉笔к壽E的上下文信息,構建軌跡修復模型,可以實現船舶軌跡的修復。與傳統的線性插值方法相比,神經網絡在軌跡預測建模方面有明顯的優勢,可以根據原始軌跡數據的上下文信息雙向學習整個船舶軌跡的變化規律,從而保證軌跡修復的精度。BP(back propagation)神經網絡是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,有很強的非線性逼近功能,在數據分析和預測方面有著廣泛的應用[9]。
本文對船舶原始軌跡數據進行分析,引入BP神經網絡方法,構建Bi-BPNNs預測模型,從前后兩個方向對異?;蛉笔У拇败壽E進行循環修復,從而解決船舶軌跡數據丟失問題。在此基礎上,基于采集的真實船舶軌跡數據進行實例研究,并與基礎BP網絡模型和常用線性插值方法進行對比分析,從而驗證本文提出模型的有效性和實用性。
船舶軌跡可看作是船舶航行時間和當前位置構成的序列,相鄰的軌跡點之間有一定的聯系?;贐P神經網絡構建軌跡修復模型,可以學習歷史軌跡序列之間的變化特征來預測未來時間的軌跡,從而實現缺失軌跡的修復[10]。

BP神經網絡有三個要素:網絡拓撲結構、傳遞函數和學習算法。一個簡單BP神經網絡的拓撲結構包括輸入層、隱含層和輸出層。其中,隱含層又有單隱含層和多隱含層結構,隱含層越多,網絡越復雜,學習的能力也越強,但是訓練的時間過長,會導致模型過擬合。BP網絡的傳遞函數是非線性變換函數Sigmoid函數,其特點是函數本身及其導數都是連續的。BP神經網絡的學習算法為δ算法,輸入層、隱含層和輸出層的權值調整公式均由學習率、誤差信號和輸入信號三個因素決定,輸入層誤差信號直接反應了網絡的輸出誤差,隱含層的誤差信號從輸出層開始逐層反傳過來得到。
船舶軌跡數據中的軌跡點不僅與上文軌跡有關系,還與下文軌跡有關系。如果只用上文軌跡進行學習,那么修復的軌跡點越多,誤差越大。如果增加對下文軌跡信息的學習,兩邊同時修復缺失軌跡,將有效減少誤差,保證軌跡修復結果的可靠性和準確性。然而,BP神經網絡是一種單向學習的網絡,想要實現上下文軌跡的雙向學習,需要改進其網絡結構。因此,本文基于BP神經網絡設計了雙向預測模型Bi-BPNNs,其結構如圖1所示。輸入層除了包含缺失軌跡的上文的特征向量,還增加了下文的特征向量,按時間順序翻轉之后再傳輸給網絡的隱含層,在輸出層的時候跟上文預測的正向軌跡結合,最終輸出完整的軌跡修復結果。
從采集的船舶AIS數據選取時間、經度、緯度、航向、航速為船舶軌跡特征向量,作為模型的輸入變量。輸入變量除了包含缺失軌跡的上文信息,即前一時間段的軌跡,還包括后一時間段的下文軌跡。因為船舶軌跡特征向量是有序的時間序列,所以下文的軌跡信息在輸入隱含層之前還需要進行翻轉,以便網絡學習到下一時間段中有更多的軌跡特征,從而提高缺失部分軌跡的預測精度。
軌跡修復模型的重要參數:1)時間步長過短會影響整體的學習效果,太長則泛化能力不好;2)隱含層神經元數目對網絡的性能影響較大,也決定了網絡的復雜度,是網絡模型重要的參數;3)訓練函數可通過調整權值和閾值來減小整體誤差的算法;4)傳遞函數是網絡的重要組成部分,而且必須是連續可微的。這些參數將通過實際軌跡數據的訓練和測試實驗進行選擇和優化。
通過訓練值、預測值、真實值的RMSE (root mean square error,均方根誤差)和MAE(mean absolute error,平均絕對誤差)對構建的雙向修復模型的軌跡修復結果進行評估和優化。同時,為驗證構建模型的性能,還將其與常見的插值方法[11]和基礎的BP網絡[12]進行對比,并通過計算RMSE和MAE進行對比分析,計算方法:

本實驗使用的船舶軌跡數據來源于航行在長江干線的一艘散貨船,航行軌跡是長江干線江蘇航段瀏海沙水道,區域范圍為31°55′53″N,120°29′49″E至32°8′38″N,120°46′1″E,航行時間為2018年10月13日。原始的采樣數據包含日期、時間、船舶呼號、航速、航向、經度、緯度,部分數據如表1所示。

表1 部分原始采樣數據

除了設備誤差和網絡傳輸造成的軌跡數據缺失外,采集到的原始數據還存在一些異常和噪聲。例如,船舶的經度或緯度數據范圍不在采樣的航行區域范圍,部分航速明顯偏小或偏大。為此,設計了軌跡數據預處理方法:先將收集的原始數據按采樣時間進行排序,刪除重復的數據;接著對排完序的數據進行航段劃分,以便在更小的范圍內進行判斷,避免下一步錯誤處理或清洗過度;然后在航段內進行遍歷,分別判斷經度、緯度、航速是否在正常范圍之內,如果超出范圍就被認為是異常數據被清洗掉,最終得到干凈的軌跡數據集,預處理之后得到的船舶軌跡如圖2所示。
為驗證所構建的Bi-BNNs軌跡預測模型的性能,選取修復難度大的彎曲段軌跡進行實驗,設置{航速,航向,經度,緯度}為修復模型的輸入特征向量,并隨機選取樣本數據的80%作為訓練集,剩下的20%為測試集。實驗開始,將模型的參數神經元數量、時間步長、訓練函數、傳遞函數分成4組進行測試,通過計算,比較模型的訓練誤差和測試誤差,對各參數進行逐步優化,如表2所示。
從表2中的第1組和第2組實驗中可以看到,當訓練函數為“trainlm”、傳遞函數為“purelin”時,經度和緯度的訓練誤差最?。辉诘?組實驗中,時間步長為4的誤差比時間步長為2和5時的要小;同理,在第4組試驗中,神經元數量為12時,模型的預測效果最佳。因此,最終設定軌跡修復模型的參數如下:神經元數量為12;時間步長為4;訓練函數為“trainlm”;傳遞函數為“purelin”。這里,模型參數時間步長設置為4,也就說用4個歷史軌跡數據點預測未來一個軌跡數據點,然后依次循環直至得到完整的軌跡預測。

表2 Bi-BPNNs模型的不同參數設置實驗
根據確定的雙向預測模型,分別利用上下文的船舶軌跡點雙向循環預測9個軌跡點,得到共含有18個預測軌跡點的軌跡,如圖3所示。圖3中,藍色點表示真實測得的軌跡,紅色點表示預測的軌跡,其中圖3a)是包含預測信息的軌跡,圖3b)是彎曲航段真實軌跡與預測軌跡的對比。圖4展示了Bi-BNNs模型的船舶軌跡修復性能。


此外,為了進一步驗證Bi-BPNNs模型的軌跡修復優越性,基于相同的實驗數據,將其分別與常見的線性插值(linear interpolation,LI)[13]、逐段三次樣條插值(spline interpolation,SI)[14]、立方插值(pchip interpolation,PI)[15]、和基礎BP神經網絡(BPNNs)模型進行對比,并計算各方法修復軌跡數據的RMSE和MAE,得到10次實驗結果的平均值和標準差,如表3 所示。從表3中可以看出Bi-BPNNs優于其他的方法和模型。

表3 不同模型的船舶軌跡修復模型性能
本文針對船舶軌跡數據的缺失和異常問題,提出了Bi-BPNNs模型,利用對上下文的歷史軌跡信息特征的學習,實現對缺失軌跡的雙向循環預測,從而提升軌跡修復的精度和效率。彎曲航段的實例驗證結果表明:經度修復的誤差RMSE和MAE分別只有0.000 6和0.000 5;緯度修復的誤差RMSE和MAE分別只有0.001 5和0.001 0。與其他多種插值方法和基礎BP神經網絡相比,本文提出的Bi-BPNNs在船舶軌跡修復上具有明顯的性能優勢。