白響恩,陳諾,徐笑鋒
基于IPSO-BP的船舶航跡預(yù)測(cè)研究
白響恩,陳諾,徐笑鋒
(上海海事大學(xué) 商船學(xué)院,上海 201306)
面對(duì)復(fù)雜的海上交通及密集的物流交通流,及時(shí)有效地對(duì)船舶航跡進(jìn)行跟蹤預(yù)測(cè)顯得尤為重要,針對(duì)傳統(tǒng)船舶航跡預(yù)測(cè)方法精確度低且效率低下的問題,提出一種改進(jìn)方法。在船舶自動(dòng)識(shí)別系統(tǒng)(Automatic Identification System,AIS)數(shù)據(jù)的基礎(chǔ)上,建立改進(jìn)粒子群算法(IPSO)與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的船舶軌跡預(yù)測(cè)模型,利用船舶歷史航行軌跡數(shù)據(jù),實(shí)現(xiàn)對(duì)未來(lái)船舶運(yùn)動(dòng)的預(yù)測(cè)。選取寧波舟山港的船舶歷史軌跡數(shù)據(jù)進(jìn)行實(shí)驗(yàn),并將IPSO-BP模型的實(shí)驗(yàn)結(jié)果與其他模型進(jìn)行比較。不同模型航跡預(yù)測(cè)對(duì)比結(jié)果表明,IPSO-BP模型的性能較好,其預(yù)測(cè)精度較高,適用于船舶軌跡預(yù)測(cè)。使用IPSO-BP模型能夠更加精準(zhǔn)地預(yù)測(cè)船舶航跡,在船舶危險(xiǎn)預(yù)警、船舶異常監(jiān)測(cè)等方面具有重要的指導(dǎo)作用。
AIS數(shù)據(jù);航跡預(yù)測(cè);改進(jìn)粒子群算法;BP神經(jīng)網(wǎng)絡(luò)
隨著經(jīng)濟(jì)全球化的推進(jìn),航運(yùn)物流業(yè)得到迅猛發(fā)展。在全球貨物貿(mào)易中,約有90%的貨物采用海洋運(yùn)輸方式,航運(yùn)成為國(guó)際貿(mào)易中最主要的形式。運(yùn)輸作為物流中的一環(huán)顯得極其重要,船舶數(shù)量的增長(zhǎng)提高了航運(yùn)交通量與船舶之間的接觸率,導(dǎo)致航道負(fù)擔(dān)增大,從而增加了發(fā)生碰撞、意外和違規(guī)事件的風(fēng)險(xiǎn)。在交通密集、狀況復(fù)雜的沿海和港口水域,海上交通事故預(yù)警的精確性和有效性顯得尤為重要。通過預(yù)測(cè)船舶未來(lái)的航跡和位置,提前預(yù)知其航行意圖,減少物流交通流密集的水域中發(fā)生船舶碰撞的風(fēng)險(xiǎn),預(yù)防海上交通事故的發(fā)生,從而提高船舶運(yùn)輸?shù)陌踩浴?/p>
目前,主流的預(yù)測(cè)方法主要分為4種:基于統(tǒng)計(jì)學(xué)的船舶軌跡預(yù)測(cè)方法[1-4];基于動(dòng)力學(xué)方程的船舶軌跡預(yù)測(cè)方法[5];基于傳統(tǒng)機(jī)器學(xué)習(xí)的船舶軌跡預(yù)測(cè)方法;基于神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的船舶軌跡預(yù)測(cè)方法。Park等[6]基于光譜聚類結(jié)果,利用雙向長(zhǎng)短期記憶預(yù)測(cè)了船舶軌跡,提高了預(yù)測(cè)性能。Rong等[7]提出了概率軌跡預(yù)測(cè)模型,通過連續(xù)概率分布和貝葉斯模型描述船舶未來(lái)的位置。Wiest等[8]用高斯混合概率模型實(shí)現(xiàn)了對(duì)未來(lái)整個(gè)軌跡分布的預(yù)測(cè)。Perera等[9]將智能功能整合到VTMISs中,提出擴(kuò)展的卡爾曼濾波器,可用于船舶狀態(tài)估計(jì)和航跡預(yù)測(cè)。陳影玉等[10]構(gòu)建了灰太狼優(yōu)化算法和支持向量機(jī)融合的船舶航跡預(yù)測(cè)模型。Liu等[11]提出了一種基于自適應(yīng)混沌差分進(jìn)化支持向量回歸的軌跡預(yù)測(cè)模型,該模型具有較高的預(yù)測(cè)精度。Bao等[12]提出了一種基于多頭注意力機(jī)制和雙向門遞歸單元相結(jié)合的高精度船舶航跡預(yù)測(cè)模型,利用海量AIS數(shù)據(jù)中的寶貴信息,解決了現(xiàn)有航跡預(yù)測(cè)方法的不足。
由于船舶航行受到風(fēng)浪流的影響,因此不確定因素較多、較復(fù)雜,導(dǎo)致構(gòu)造其動(dòng)力學(xué)方程較難。學(xué)者們引入了傳統(tǒng)智能算法,成為一段時(shí)間內(nèi)較為主流的航跡預(yù)測(cè)方式。傳統(tǒng)智能算法利用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)非線性擬合和特征學(xué)習(xí)的優(yōu)點(diǎn),使得預(yù)測(cè)結(jié)果更加精確,其研究方法主要有BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)[13]、-最近鄰方法[14]、支持向量機(jī)等。這些方法可以通過輸入AIS數(shù)據(jù)中的船舶航向、航速,輸出經(jīng)度、緯度來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù),實(shí)現(xiàn)船舶位置的預(yù)測(cè)。例如,甄榮等[15]將船舶經(jīng)緯度、航跡和航向等數(shù)據(jù)作為輸入,將3個(gè)時(shí)刻的不同數(shù)據(jù)作為輸出,設(shè)計(jì)了多維神經(jīng)網(wǎng)絡(luò)模型,進(jìn)行了船舶行為預(yù)測(cè)。高天航等[16]在BP神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上引入雙三角函數(shù)變換,構(gòu)建了一種基于改進(jìn)神經(jīng)網(wǎng)絡(luò)算法的船舶AIS航跡預(yù)測(cè)模型,提高了航跡預(yù)測(cè)模型的適用范圍。Ma等[17]針對(duì)BP網(wǎng)絡(luò)容易陷入局部最小值的缺點(diǎn),采用多種優(yōu)化算法對(duì)其進(jìn)行改進(jìn)并對(duì)比,預(yù)測(cè)結(jié)果的均方誤差(MSE)達(dá)到10?6級(jí)別,精度較高。張新等[18]提出了一種基于GA-BP網(wǎng)絡(luò)的航跡預(yù)測(cè)模型,但其驗(yàn)證數(shù)據(jù)較少。Xu等[19]利用BP神經(jīng)網(wǎng)絡(luò)對(duì)船舶航跡進(jìn)行預(yù)測(cè),根據(jù)船舶的行駛方向和行駛速度特征來(lái)預(yù)測(cè)船舶的經(jīng)度差和緯度差,進(jìn)而預(yù)測(cè)船舶航跡。
上述研究均使用BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)船舶航跡,雖然BP神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的非線性擬合能力和泛化能力,可以處理高維數(shù)據(jù)和復(fù)雜的非線性關(guān)系,但也存在訓(xùn)練時(shí)間較長(zhǎng)、收斂速度慢、易陷入局部最優(yōu)解、隱含層數(shù)難以確定等缺點(diǎn)。此外,網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)需要手動(dòng)設(shè)計(jì),自動(dòng)化程度不高,難以應(yīng)對(duì)復(fù)雜問題。同時(shí),BP神經(jīng)網(wǎng)絡(luò)對(duì)初始權(quán)值和學(xué)習(xí)率等參數(shù)的選擇較敏感,需要經(jīng)過反復(fù)試驗(yàn)和調(diào)整。這些缺點(diǎn)導(dǎo)致它在序列預(yù)測(cè)和時(shí)間序列分析上的效果并不理想。改進(jìn)的粒子群算法具有全局最優(yōu)尋優(yōu)能力,可以先對(duì)BP的關(guān)鍵參數(shù)進(jìn)行尋優(yōu),從而減少反向傳播算法的計(jì)算次數(shù),優(yōu)化模型的權(quán)重和超參數(shù),提高訓(xùn)練能力和泛化能力,快速準(zhǔn)確地得到最優(yōu)參數(shù)組合和最優(yōu)參數(shù)下的預(yù)測(cè)模型,提高預(yù)測(cè)的準(zhǔn)確性和精度。
文中利用AIS的船舶軌跡數(shù)據(jù),建立利用改進(jìn)粒子群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化的航跡預(yù)測(cè)模型,并將提出的船舶航跡預(yù)測(cè)模型與其他模型的性能、效率進(jìn)行比較,最終將訓(xùn)練好的模型應(yīng)用于船舶軌跡預(yù)測(cè),并進(jìn)行可視化呈現(xiàn),從而實(shí)現(xiàn)更加精準(zhǔn)的船舶航跡預(yù)測(cè),以期在船舶危險(xiǎn)預(yù)警、船舶異常監(jiān)測(cè)等方面具有指導(dǎo)作用。
粒子群算法(Particle Swarm Optimization, PSO)是一種進(jìn)化算法,通過模擬鳥群個(gè)體間的信息交互,尋找全局最優(yōu)點(diǎn)[20]。算法的優(yōu)化目標(biāo)一般是最小化某函數(shù)值,適應(yīng)度一般是目標(biāo)函數(shù)的倒數(shù)。粒子群算法的流程如圖1所示。

圖1 粒子群優(yōu)化算法流程
粒子群算法的優(yōu)點(diǎn)是原理簡(jiǎn)單、參數(shù)少,可以處理高維問題,適用范圍廣,容易實(shí)現(xiàn),且全局搜索能力強(qiáng)、收斂速度快。缺點(diǎn)是容易早熟收斂至局部最優(yōu),在最優(yōu)解方面存在較大誤差,且迭代后期的收斂速度較慢,對(duì)參數(shù)較敏感。針對(duì)以上缺點(diǎn)提出改進(jìn)策略,以提高算法的性能和效率,更好地解決復(fù)雜的優(yōu)化問題。
1)采用隨機(jī)重置策略。在標(biāo)準(zhǔn)粒子群算法中,粒子的位置和速度可以通過加權(quán)求和得到,在迭代中容易陷入局部最優(yōu),因此加入隨機(jī)重置策略,即在粒子的位置和速度迭代中加入隨機(jī)擾動(dòng)算子。當(dāng)粒子達(dá)到一定的迭代次數(shù)時(shí),如果某些粒子長(zhǎng)時(shí)間未能得到較好的適應(yīng)度,則重新隨機(jī)產(chǎn)生一個(gè)新的位置和速度,使其有機(jī)會(huì)跳出當(dāng)前局部最優(yōu)解,繼續(xù)探索全局最優(yōu)解。具體來(lái)說,對(duì)一些表現(xiàn)不佳的粒子進(jìn)行隨機(jī)重置操作,設(shè)置某閾值,當(dāng)某個(gè)粒子的連續(xù)多次迭代結(jié)果都未得到改善時(shí),就認(rèn)為該粒子陷入了局部最優(yōu)解。對(duì)于達(dá)到閾值的粒子,可以采取隨機(jī)重置策略,即將其位置隨機(jī)初始化到整個(gè)搜索空間中的任意一點(diǎn)。如果某粒子連續(xù)迭代10次時(shí),其個(gè)體最優(yōu)解都未得到改善,則認(rèn)為該粒子需要進(jìn)行隨機(jī)重置操作。隨機(jī)生成一個(gè)在該粒子取值范圍內(nèi)的數(shù),重置后將粒子的連續(xù)未改善次數(shù)歸零,計(jì)算新的適應(yīng)度和個(gè)體最優(yōu)解,并重新執(zhí)行粒子群優(yōu)化算法。其中,每個(gè)粒子重置操作的最大頻率為2。設(shè)需要隨機(jī)重置的粒子為,見式(1)。

式中:a、b為粒子區(qū)間的上下限;random()為生成(0, 1)之間均勻分布的隨機(jī)數(shù)的函數(shù)。將改進(jìn)的粒子群算法與普通粒子群算法進(jìn)行對(duì)比可以看出,改進(jìn)的粒子群算法不易陷入局部最優(yōu),更易得到最優(yōu)解。適應(yīng)度對(duì)比結(jié)果如圖2所示。
2)采用參數(shù)的自適應(yīng)變化策略。標(biāo)準(zhǔn)粒子群算法的參數(shù)是固定的,利用正弦函數(shù)對(duì)慣性權(quán)重進(jìn)行改進(jìn),使之變成正弦動(dòng)態(tài)慣性權(quán)重。慣性權(quán)重以非線性的遞減方式進(jìn)行調(diào)整,通過改變迭代次數(shù)來(lái)更新慣性權(quán)重,直到后期表現(xiàn)為局部搜索。同時(shí),設(shè)置加速因子1、2的自適應(yīng)變化,使1從大變小,2從小變大,以此加快算法的收斂速度,提高全局搜索能力。這樣可以提高算法的精度,其表達(dá)式見式(2)~(5)。




式中:max=0.9;min=0.1;iter為當(dāng)前迭代次數(shù);max iter為最大迭代次數(shù),這里取1 000;rand()為均值0、方差1的隨機(jī)分布;max=1.5;min=0.5。
隨迭代次數(shù)(Iteration)的變化曲線如圖3所示,1、2隨迭代次數(shù)的變化曲線如圖4所示。

圖3 ω自適應(yīng)變化曲線

圖4 c1、c2自適應(yīng)變化曲線
BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層構(gòu)成。其中,隱藏層一般為多個(gè),它們通過激活函數(shù)連接來(lái)實(shí)現(xiàn)傳遞和處理信息。BP神經(jīng)網(wǎng)絡(luò)包含非線性變換單元,具有強(qiáng)大的多維函數(shù)映射、非線性映射、分類和數(shù)據(jù)壓縮的能力,泛化性較強(qiáng)。使用神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)的整體框架如圖5所示。BP 神經(jīng)網(wǎng)絡(luò)的基本訓(xùn)練過程如圖6所示。

圖5 BP神經(jīng)網(wǎng)絡(luò)的整體框架
1)初始化網(wǎng)絡(luò)權(quán)重。初始化每2個(gè)神經(jīng)元節(jié)點(diǎn)之間的連接權(quán)重,節(jié)點(diǎn)的閾值也需要被初始化為一個(gè)隨機(jī)值。
2)正向傳播輸入的訓(xùn)練樣本。訓(xùn)練樣本提供了輸入層的數(shù)據(jù),輸入層接收信息經(jīng)過隱藏層處理后,計(jì)算得到每個(gè)神經(jīng)元的輸出,由輸出層輸出。
3)反向傳播誤差。使用梯度下降法調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,通過輸出的差值計(jì)算每個(gè)輸出單元的誤差,讓誤差盡量小,使誤差函數(shù)值最小。
4)網(wǎng)絡(luò)權(quán)重與神經(jīng)元偏置調(diào)整。調(diào)整權(quán)重的方法是逐層向后進(jìn)行,從輸入層與第1隱含層的連接權(quán)重開始,對(duì)輸入與隱含層之間的、隱含層與輸出層之間的權(quán)值和閾值進(jìn)行調(diào)整。
5)比較輸出值與期望輸出值之間的誤差,是否達(dá)到期望誤差,未達(dá)到則反向傳播誤差。當(dāng)達(dá)到最大訓(xùn)練次數(shù),或輸出誤差在目標(biāo)誤差范圍內(nèi)時(shí),則輸出最終結(jié)果。

圖6 BP神經(jīng)網(wǎng)絡(luò)流程
AIS數(shù)據(jù)中包含龐大的船舶航行信息,通過挖掘其數(shù)據(jù)可以很好地獲取有用信息。由于原始AIS數(shù)據(jù)未進(jìn)行航線分類,存在數(shù)據(jù)異常、數(shù)據(jù)缺失等問題,因此需要進(jìn)行軌跡提取和數(shù)據(jù)清洗等預(yù)處理工作,步驟如下。
1)數(shù)據(jù)采集。原始AIS數(shù)據(jù)采用ASCII字符編碼,以保證數(shù)據(jù)的可靠傳輸和交換。對(duì)數(shù)據(jù)種類進(jìn)行篩選,剔除無(wú)用數(shù)據(jù),保留時(shí)間、MMSI、經(jīng)緯度、航速、航向等數(shù)據(jù)。
2)軌跡數(shù)據(jù)的提取與分割。采用基于時(shí)間間隔和航行速度的船舶軌跡提取方法,對(duì)船舶航跡數(shù)據(jù)進(jìn)行分割,以船舶停止時(shí)刻為切分點(diǎn),將連續(xù)的航跡劃分成若干段,每段對(duì)應(yīng)船舶的某航行階段。最終得到分割點(diǎn)集合。
3)異常數(shù)據(jù)識(shí)別與清洗。發(fā)現(xiàn)并處理錯(cuò)誤、缺失、重復(fù)、異常等數(shù)據(jù),刪除非法和噪聲數(shù)據(jù),保證數(shù)據(jù)的質(zhì)量和可靠性。在清洗前,首先按照船舶安全航速和AIS更新機(jī)制建立異常點(diǎn)識(shí)別規(guī)則,將某類數(shù)據(jù)的最大值或最小值作為異常值的邊界,將超出該范圍的數(shù)值視為異常值。然后,按照各類數(shù)據(jù)的有效取值范圍進(jìn)行清洗。具體清洗操作步驟:刪除數(shù)據(jù)異常的軌跡點(diǎn),即刪除船舶通信標(biāo)識(shí)為0或不是9位的軌跡數(shù)據(jù),刪除對(duì)地航速小于0節(jié)或大于30節(jié)的軌跡點(diǎn),刪除對(duì)地航向大于360°的軌跡點(diǎn);刪除處于停泊狀態(tài)的船舶軌跡數(shù)據(jù),即刪除對(duì)地航速SOG連續(xù)為0超過5個(gè)時(shí)間點(diǎn)的數(shù)據(jù);刪除重復(fù)冗余的數(shù)據(jù),即刪除被重復(fù)接收的數(shù)據(jù),只保留其中1條數(shù)據(jù),刪除longitude、latitude、SOG、COG同時(shí)相等的相鄰行,該數(shù)據(jù)也是異常重復(fù)的數(shù)據(jù);刪除轉(zhuǎn)向頻繁的軌跡段,軌跡段中有些軌跡在航道中隨意行駛,多次進(jìn)行大的轉(zhuǎn)向,該船舶行駛規(guī)律很難去預(yù)測(cè),因此將該軌跡段刪除;刪除軌跡點(diǎn)較少的軌跡段,在軌跡分割階段,已經(jīng)將軌跡進(jìn)行了分割,同一MMSI且ID相同的軌跡點(diǎn)屬于同條軌跡段,如果該軌跡段軌跡點(diǎn)數(shù)少于200,則將該軌跡段刪除,它不足以支撐后面的航跡預(yù)測(cè);刪除軌跡明顯漂移點(diǎn),軌跡點(diǎn)的偏移會(huì)對(duì)航線分析和軌跡預(yù)測(cè)造成影響,因此需要對(duì)其進(jìn)行識(shí)別和處理。
4)缺失數(shù)據(jù)識(shí)別與插值處理。使用線性插值與三次樣條插值相結(jié)合的方法來(lái)填補(bǔ)缺失值。即對(duì)于時(shí)間間隔較短(50 s以內(nèi))的缺失部分,采用線性插值算法進(jìn)行插值,對(duì)于時(shí)間間隔較長(zhǎng)(超過50 s)的缺失部分,則采用三次樣條插值算法來(lái)恢復(fù)數(shù)據(jù),對(duì)軌跡的每個(gè)段擬合樣條曲線,然后在固定時(shí)間間隔生成一組新的,并使用這些值來(lái)插值對(duì)應(yīng)變量的。
由于BP神經(jīng)網(wǎng)絡(luò)易出現(xiàn)局部最小、網(wǎng)絡(luò)結(jié)構(gòu)不穩(wěn)定等問題,因此結(jié)合粒子群算法對(duì)其權(quán)重和閾值進(jìn)行調(diào)整,使之快速尋找到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)組合,減少搜索時(shí)間和計(jì)算成本。此外,改進(jìn)粒子群算法的全局搜索能力可以幫助BP神經(jīng)網(wǎng)絡(luò)跳出局部最優(yōu)解,提高預(yù)測(cè)精度,使之在時(shí)間序列預(yù)測(cè)問題上取得更好的效果。故這里提出基于改進(jìn)粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的航跡預(yù)測(cè)模型,結(jié)合粒子群算法的全局搜索能力和BP神經(jīng)網(wǎng)絡(luò)的強(qiáng)逼近能力,可以有效提高航跡預(yù)測(cè)的準(zhǔn)確性和穩(wěn)定性。具體的預(yù)測(cè)步驟如下。
1)收集數(shù)據(jù)。首先需要收集預(yù)測(cè)模型所需的數(shù)據(jù),并進(jìn)行預(yù)處理,將數(shù)據(jù)集進(jìn)行歸一化處理,并劃分為訓(xùn)練集和測(cè)試集。
2)BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建。利用訓(xùn)練集數(shù)據(jù),構(gòu)建BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,并通過實(shí)驗(yàn)進(jìn)行調(diào)整,以確定最佳的網(wǎng)絡(luò)結(jié)構(gòu)。
3)粒子群算法的初始化。采用隨機(jī)初始化的方法,初始化粒子群的位置、速度向量、種群規(guī)模、迭代次數(shù)、速度取值范圍等。將獲取的BP神經(jīng)網(wǎng)絡(luò)權(quán)值矩陣用于初始化粒子的位置。
4)粒子群算法的迭代。計(jì)算每個(gè)粒子的適應(yīng)度,根據(jù)當(dāng)前迭代次數(shù)調(diào)整慣性權(quán)重和加速系數(shù)。對(duì)于連續(xù)多次迭代仍未改善的粒子,則進(jìn)行隨機(jī)重置操作,更新適應(yīng)度和個(gè)體最優(yōu)解,并更新全局最優(yōu)解。
5)粒子群算法的終止。當(dāng)滿足一定的停止準(zhǔn)則時(shí),終止粒子群算法的迭代,得到最優(yōu)的位置向量,即BP神經(jīng)網(wǎng)絡(luò)輸入層與第1隱藏層,第4隱藏層與輸出層的最優(yōu)權(quán)值參數(shù)。
6)模型訓(xùn)練。利用最優(yōu)權(quán)值矩陣及其他超參數(shù)和數(shù)據(jù)構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型,并使用訓(xùn)練集進(jìn)行訓(xùn)練。
7)模型測(cè)試。使用測(cè)試集對(duì)訓(xùn)練好的IPSO-BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行性能評(píng)估,利用測(cè)試結(jié)果進(jìn)行調(diào)整和優(yōu)化,提高預(yù)測(cè)精度。
8)軌跡預(yù)測(cè)。利用優(yōu)化后的IPSO-BP預(yù)測(cè)模型進(jìn)行實(shí)際預(yù)測(cè),并通過反歸一化處理,得到最終的預(yù)測(cè)坐標(biāo)和軌跡,對(duì)比預(yù)測(cè)結(jié)果與真實(shí)結(jié)果之間的差異,計(jì)算預(yù)測(cè)精度。
IPSO-BP神經(jīng)網(wǎng)絡(luò)軌跡預(yù)測(cè)模型的流程如圖7所示。
通過不斷調(diào)整,這里設(shè)置粒子群算法的參數(shù)慣性權(quán)重初始值為0.9,加速因子1的初始值為1.5,2的初始值為0.5,最大迭代次數(shù)為1 000。根據(jù)不同的神經(jīng)網(wǎng)絡(luò),設(shè)置不同的粒子數(shù)。根據(jù)不同解空間的范圍,使用正態(tài)分布生成隨機(jī)數(shù),作為初始位置和速度。設(shè)定的終止條件為預(yù)設(shè)的最大迭代次數(shù),或最優(yōu)解收斂到一定閾值。
文中最終使用的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示, BP神經(jīng)網(wǎng)絡(luò)共有6層,除了輸入層、輸出層,還有4個(gè)隱藏層,分別有64、128、256、128個(gè)神經(jīng)元。

圖7 基于IPSO-BP的航跡預(yù)測(cè)流程

圖8 BP神經(jīng)網(wǎng)絡(luò)構(gòu)架

1)均方誤差(Mean Squared Error,MSE),指預(yù)測(cè)值與真實(shí)值之差的平方的均值,見式(6)。
(6)

2)均方根誤差(Root Mean Squared Error,RMSE)指均方誤差的平方根。在通常情況下,均方根誤差比均方誤差更容易理解和解釋,因此在很多場(chǎng)合被廣泛使用,見式(7)。該值的取值范圍為[0, +∞),越接近0,則模型的預(yù)測(cè)效果越好、精度越高,該值越接近1,則模型的預(yù)測(cè)值越不接近真實(shí)值。

3)平均絕對(duì)誤差(Mean Absolute Error,MAE)指預(yù)測(cè)值與真實(shí)值之差的絕對(duì)值的平均值,見式(8)。該值的取值范圍為[0, +∞),平均絕對(duì)誤差越小,表示模型的預(yù)測(cè)結(jié)果越接近真實(shí)值。

4)決定系數(shù)(Coefficient of Determination,2)用于衡量模型解釋樣本數(shù)據(jù)方差的百分比的統(tǒng)計(jì)量,它表示模型能夠解釋目標(biāo)變量中多少百分比的方差,見式(9)。2的取值范圍為[0,1],2越接近1,表示模型解釋方差的能力越強(qiáng),即模型對(duì)樣本的擬合效果越好。

此次實(shí)驗(yàn)使用寧波舟山港2021年6~7月的歷史軌跡。在原始2 800條軌跡中,通過預(yù)處理,篩選出465條軌跡組成預(yù)測(cè)的數(shù)據(jù)集。采用隨機(jī)抽樣方式,將數(shù)據(jù)按照8∶2的比例劃分為訓(xùn)練集和測(cè)試集。在神經(jīng)網(wǎng)絡(luò)輸入層中輸入船舶航行軌跡的時(shí)間序列數(shù)據(jù),將船舶的重要?jiǎng)討B(tài)信息(經(jīng)緯度、航速、航向、時(shí)間間隔等)作為輸入特征,通過監(jiān)督學(xué)習(xí)模型,挖掘其航行規(guī)律,并預(yù)測(cè)未來(lái)一段時(shí)間內(nèi)的航行軌跡。
3.2.1 模型性能分析
損失函數(shù)(Loss函數(shù))用于衡量模型預(yù)測(cè)值()與真實(shí)值之間的差異程度,它是一個(gè)非負(fù)實(shí)值函數(shù),通常使用(,())來(lái)表示。該值越小,表示模型對(duì)訓(xùn)練數(shù)據(jù)的適應(yīng)度越高。通常將損失函數(shù)作為優(yōu)化目標(biāo),通過優(yōu)化算法來(lái)最小化損失函數(shù),以得到最佳的模型參數(shù)。IPSO-BP模型訓(xùn)練的Loss曲線如圖9所示。

圖9 IPSO-BP預(yù)測(cè)模型訓(xùn)練Loss曲線
從圖9可以看出,模型的訓(xùn)練集和驗(yàn)證集的Loss函數(shù)值在前4次迭代(Epoch)中急劇減小。其中,IPSO-BP模型在第6次迭代時(shí)突然出現(xiàn)較大誤差,之后逐漸趨于穩(wěn)定,表明模型正在學(xué)習(xí),并逐漸優(yōu)化其預(yù)測(cè)能力。
3.2.2 預(yù)測(cè)可視化對(duì)比分析
船舶航跡預(yù)測(cè)任務(wù)的數(shù)據(jù)通常為時(shí)序數(shù)據(jù),具有一定的連續(xù)性和規(guī)律性。為了直觀了解IPSO-BP預(yù)測(cè)模型的實(shí)際效果和優(yōu)勢(shì),對(duì)數(shù)據(jù)進(jìn)行可視化分析,并繪制船舶實(shí)際航跡和預(yù)測(cè)航跡的對(duì)比圖,將利用傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)和PSO-BP預(yù)測(cè)模型的預(yù)測(cè)結(jié)果進(jìn)行對(duì)比,采取控制變量法使其他變量不變,確保對(duì)比結(jié)果的準(zhǔn)確性。使用訓(xùn)練好的模型,利用測(cè)試集對(duì)軌跡預(yù)測(cè)結(jié)果進(jìn)行可視化,隨機(jī)選取MMSI碼為414350030的船舶進(jìn)行結(jié)果可視化處理。在該條船舶的某條軌跡段中,未來(lái)15、20 min航跡預(yù)測(cè)對(duì)比結(jié)果如圖10所示。可以看出,IPSO-BP模型的預(yù)測(cè)效果較好,真實(shí)航跡與預(yù)測(cè)航跡較為貼合,BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果最差。相較于未改進(jìn)模型,改進(jìn)模型的預(yù)測(cè)準(zhǔn)確率有所提高。在轉(zhuǎn)彎處軌跡點(diǎn)的預(yù)測(cè)上,4種模型都表現(xiàn)出較高的精度,此處的預(yù)測(cè)軌跡更接近原軌跡。
該條船舶某條軌跡段中5、10 min航跡預(yù)測(cè)的對(duì)比結(jié)果如圖11所示。可以看出,與其他模型相比,IPSO-BP預(yù)測(cè)模型在預(yù)測(cè)部分軌跡點(diǎn)時(shí)可以較好地貼近原始軌跡點(diǎn),且對(duì)緯度的預(yù)測(cè)效果更好,預(yù)測(cè)誤差都在0.001以下。表明改進(jìn)算法和模型具有可行性,改進(jìn)后的模型能提高對(duì)連續(xù)軌跡點(diǎn)的預(yù)測(cè)準(zhǔn)確度。
3.2.3 模型預(yù)測(cè)精度分析
通過多次實(shí)驗(yàn),使用MSE、RMSE、MAE、2等作為評(píng)估船舶航跡預(yù)測(cè)模型的指標(biāo)。為了驗(yàn)證文中所提模型的預(yù)測(cè)優(yōu)勢(shì),將它與其他模型進(jìn)行對(duì)比,各類方法的評(píng)價(jià)指標(biāo)值如表1所示。
實(shí)驗(yàn)結(jié)果表明,未改進(jìn)預(yù)測(cè)模型的效果較差,其MSE、RMSE、MAE值較大,改進(jìn)后IPSO-BP的誤差明顯降低。表明文中所提模型可以顯著提高軌跡預(yù)測(cè)的精度和準(zhǔn)確性,可以從歷史和當(dāng)前軌跡信息中挖掘出更深層次的船舶行為知識(shí)和規(guī)律,在航跡預(yù)測(cè)問題中表現(xiàn)出優(yōu)越性。
3.2.4 預(yù)測(cè)效率比較
隨著深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)在圖像識(shí)別和分類領(lǐng)域的廣泛應(yīng)用,CNN與其他方法相結(jié)合的方法也被運(yùn)用到船舶航跡預(yù)測(cè)的研究中。這里嘗試用CNN進(jìn)行航跡預(yù)測(cè),并與BP、IPSO-BP進(jìn)行效率對(duì)比,模型的訓(xùn)練耗時(shí)如圖12所示。

圖10 未來(lái)15、20 min的航行軌跡預(yù)測(cè)對(duì)比

圖11 未來(lái)5、10 min的航行軌跡預(yù)測(cè)對(duì)比
表1 各類方法評(píng)價(jià)指標(biāo)數(shù)值對(duì)比

Tab.1 Comparison of evaluation index values for various methods

圖12 模型訓(xùn)練耗時(shí)
改進(jìn)后的模型在訓(xùn)練時(shí)間上明顯縮短,其中每個(gè)epoch的平均訓(xùn)練時(shí)長(zhǎng)均降低了2 s左右。由于CNN模型的網(wǎng)絡(luò)結(jié)構(gòu)比BP模型多、網(wǎng)絡(luò)層數(shù)量更高,故訓(xùn)練時(shí)間較長(zhǎng)。以后也可嘗試用IPSO進(jìn)行改進(jìn),以縮短模型訓(xùn)練耗時(shí),達(dá)到更高的效率。
利用AIS數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行處理和特征提取,得到了包括位置、速度、方向、時(shí)間間隔等多個(gè)特征變量。然后,將這些特征變量作為輸入,使用滑動(dòng)時(shí)間窗口的方法,利用改進(jìn)粒子群算法優(yōu)化BP進(jìn)行建模和訓(xùn)練。最后,通過誤差分析和預(yù)測(cè)可視化實(shí)驗(yàn)驗(yàn)證了改進(jìn)模型在航跡預(yù)測(cè)上的有效性和準(zhǔn)確性。旨在利用優(yōu)化算法及神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)技術(shù)設(shè)計(jì)一種船舶軌跡預(yù)測(cè)模型,在逐步優(yōu)化BP模型的過程中提高預(yù)測(cè)的準(zhǔn)確性和效果,更好地應(yīng)對(duì)大數(shù)據(jù)航海環(huán)境。
雖然改進(jìn)粒子群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)的船舶軌跡預(yù)測(cè)模型在港口航道水域的船舶航跡預(yù)測(cè)實(shí)驗(yàn)中表現(xiàn)良好,但還存在許多不足之處。文中只接觸到很小部分的AIS數(shù)據(jù),數(shù)據(jù)集規(guī)模不夠大,導(dǎo)致模型的泛化能力有限,可能對(duì)新領(lǐng)域、新環(huán)境和新類型的數(shù)據(jù)預(yù)測(cè)效果不佳。如果想要更深入地挖掘船舶軌跡的特性和航海規(guī)律,則需要使用更全面的數(shù)據(jù)進(jìn)行模型訓(xùn)練。另外,文中未考慮風(fēng)浪流等因素對(duì)船舶航行軌跡的影響。未來(lái)可進(jìn)一步探索如何結(jié)合其他數(shù)據(jù)源和技術(shù),以提高航跡預(yù)測(cè)的精度和穩(wěn)定性。例如,可以考慮引入氣象、海洋等環(huán)境因素的影響,與雷達(dá)、GPS的數(shù)據(jù)進(jìn)行融合,使用更全面的數(shù)據(jù)進(jìn)行預(yù)測(cè),進(jìn)一步提高預(yù)測(cè)的準(zhǔn)確性。
[1] CHIOU J M, YANG Y F, CHEN Y T. Multivariate Functional Linear Regression and Prediction[J]. Journal of Multivariate Analysis, 2016, 146: 301-312.
[2] XING Y, LV C, CAO D P. Personalized Vehicle Trajectory Prediction Based on Joint Time-Series Modeling for Connected Vehicles[J]. IEEE Transactions on Vehicular Technology, 2020, 69(2): 1341-1352.
[3] 孫紅, 陳鎖. 一種聚類隱馬爾可夫模型的時(shí)空軌跡預(yù)測(cè)算法[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2019, 40(3): 472-476. SUN H, CHEN S. Spatio-Temporal Trajectory Prediction Algorithm Based on Clustering Based Hidden Markov Model[J]. Journal of Chinese Computer Systems, 2019, 40(3): 472-476.
[4] 程媛, 遲榮華, 黃少濱, 等. 基于非參數(shù)密度估計(jì)的不確定軌跡預(yù)測(cè)方法[J]. 自動(dòng)化學(xué)報(bào), 2019, 45(4): 787-798. CHENG Y, CHI R H, HUANG S B, et al. Uncertain Trajectory Prediction Method Using Non-Parametric Density Estimation[J]. Acta Automatica Sinica, 2019, 45(4): 787-798.
[5] ZHANG X L, XIONG W, XIANG X, et al. Real-Time Simulation of a Rescue Ship Maneuvering in Short- Crested Irregular Waves[J]. IEEE Access, 2019, 7: 133936-133950.
[6] PARK J, JEONG J, PARK Y. Ship Trajectory Prediction Based on Bi-LSTM Using Spectral-Clustered AIS Data[J]. Journal of Marine Science and Engineering, 2021, 9(9): 1037.
[7] RONG H, TEIXEIRA A P, GUEDES SOARES C. Ship Trajectory Uncertainty Prediction Based on a Gaussian Process Model[J]. Ocean Engineering, 2019, 182: 499-511.
[8] WIEST J, H?FFKEN M, KRE?EL U, et al. Probabilistic Trajectory Prediction with Gaussian Mixture Models[C]// 2012 IEEE Intelligent Vehicles Symposium. IEEE, 2012: 141-146.
[9] PERERA L P, OLIVEIRA P, GUEDES SOARES C. Maritime Traffic Monitoring Based on Vessel Detection, Tracking, State Estimation, and Trajectory Prediction[J]. IEEE Transactions on Intelligent Transportation Systems, 2012, 13(3): 1188-1200.
[10] 陳影玉, 索永峰, 楊神化. 基于灰狼優(yōu)化支持向量回歸的船舶航跡預(yù)測(cè)[J]. 上海海事大學(xué)學(xué)報(bào), 2021, 42(4): 20-25. CHEN Y Y, SUO Y F, YANG S H. Ship Trajectory Prediction Based on Grey Wolf Optimization Support Vector Regression[J]. Journal of Shanghai Maritime University, 2021, 42(4): 20-25.
[11] LIU J, SHI G Y, ZHU K G. Vessel Trajectory Prediction Model Based on AIS Sensor Data and Adaptive Chaos Differential Evolution Support Vector Regression (ACDE-SVR)[J]. Applied Sciences, 2019, 9(15): 2983.
[12] BAO K X, BI J Q, GAO M, et al. An Improved Ship Trajectory Prediction Based on AIS Data Using MHA-BiGRU[J]. Journal of Marine Science and Engineering, 2022, 10(6): 804.
[13] 徐婷婷, 柳曉鳴, 楊鑫. 基于BP神經(jīng)網(wǎng)絡(luò)的船舶航跡實(shí)時(shí)預(yù)測(cè)[J]. 大連海事大學(xué)學(xué)報(bào), 2012, 38(1): 9-11. XU T T, LIU X M, YANG X. BP Neural Network-Based Ship Track Real-Time Prediction[J]. Journal of Dalian Maritime University, 2012, 38(1): 9-11.
[14] VIRJONEN P, NEVALAINEN P, PAHIKKALA T, et al. Ship Movement Prediction Using K-NN Method[C]// 2018 Baltic Geodetic Congress (BGC Geomatics). IEEE, 2018: 304-309.
[15] 甄榮, 金永興, 胡勤友, 等. 基于AIS信息和BP神經(jīng)網(wǎng)絡(luò)的船舶航行行為預(yù)測(cè)[J]. 中國(guó)航海, 2017, 40(2): 6-10. ZHEN R, JIN Y X, HU Q Y, et al. Vessel Behavior Prediction Based on AIS Data and BP Neural Network[J]. Navigation of China, 2017, 40(2): 6-10.
[16] 高天航, 徐力, 靳廉潔, 等. 考慮航艏向與數(shù)據(jù)變化差異的船舶軌跡預(yù)測(cè)[J]. 交通運(yùn)輸系統(tǒng)工程與信息, 2021, 21(1): 90-94. GAO T H, XU L, JIN L J, et al. Vessel Trajectory Prediction Considering Difference between Heading and Data Changes[J]. Journal of Transportation Systems Engineering and Information Technology, 2021, 21(1): 90-94.
[17] MA S X, LIU S S, MENG X. Optimized BP Neural Network Algorithm for Predicting Ship Trajectory[C]// 2020 IEEE 4th Information Technology, Networking, Electronic and Automation Control Conference (ITNEC). IEEE, 2020: 525-532.
[18] 張新, 李廣儒. 基于GA-BP神經(jīng)網(wǎng)絡(luò)的船舶航跡預(yù)測(cè)[J]. 廣州航海學(xué)院學(xué)報(bào), 2020, 28(4): 15-18. ZHANG X, LI G R. Prediction Model of Ship Trajectory Based on GA-BP[J]. Journal of Guangzhou Maritime University, 2020, 28(4): 15-18.
[19] XU T T, LIU X M, YANG X. Ship Trajectory Online Prediction Based on BP Neural Network Algorithm[C]// 2011 International Conference of Information Technology, Computer Engineering and Management Sciences. IEEE, 2011: 103-106.
[20] FAKHOURI H N, HUDAIB A, SLEIT A. Multivector Particle Swarm Optimization Algorithm[J]. Soft Computing, 2020, 24(15): 11695-11713.
Research on Ship Trajectory Prediction Based on IPSO-BP
BAI Xiang'en, CHEN Nuo, XU Xiaofeng
(Merchant Marine College, Shanghai Maritime University, Shanghai 201306, China)
In the face of complex maritime traffic and dense logistics traffic flow, timely and effective tracking and prediction of ship trajectories is particularly important. The work aims to propose a method to solve the low accuracy and low efficiency of traditional ship trajectory prediction methods. A ship trajectory prediction model which combined the improved particle swarm optimization (IPSO) algorithm with the BP neural network was established based on AIS data. Historical ship trajectory data were used to predict future navigation trajectories. The historical ship trajectory data of Zhoushan Port in Ningbo was selected for the experiment, and the experimental results of the IPSO-BP model were compared with other models. Through comparing the results of different model trajectory predictions, it could be seen that the IPSO-BP model had good performance and high prediction accuracy, and is suitable for ship trajectory prediction. The use of IPSO-BP model can achieve more accurate ship trajectory prediction, which has an important guiding role for future ship hazard warning, ship anomaly monitoring, and other aspects.
AIS data; ship trajectory prediction; improved particle swarm optimization algorithm; BP neural network
U695.21;TB115
A
1001-3563(2024)09-0201-09
10.19554/j.cnki.1001-3563.2024.09.026
2023-06-27
國(guó)家自然科學(xué)基金面上項(xiàng)目(42176217);上海市科學(xué)技術(shù)委員會(huì)省部級(jí)項(xiàng)目(Z20228005)