范慶波, 江福才, 馬全黨, 馬勇
(武漢理工大學(xué) a. 航運學(xué)院; b. 內(nèi)河航運技術(shù)湖北省重點實驗室 430063)
船舶交通流量的準(zhǔn)確預(yù)測對于海事主管機(jī)關(guān)制定合理有效的水上交通組織方案,保障船舶的安全通航具有重要意義。同時,它可以指導(dǎo)港口部門準(zhǔn)確把握船舶交通流的變化趨勢,合理規(guī)劃布局航道、碼頭、錨地等港口水域。
為對船舶交通流進(jìn)行準(zhǔn)確預(yù)測,國內(nèi)外學(xué)者已經(jīng)做了大量的研究并取得了相應(yīng)的成果,如:馬曉波等[1]應(yīng)用GM(1,1)灰色系統(tǒng)模型,通過引入殘差修正等方法對模型進(jìn)行了優(yōu)化,并用優(yōu)化后的模型對長山水道的船舶交通流量進(jìn)行了預(yù)測;李曉磊等[2]通過構(gòu)建自回歸滑動平均模型消除了趨勢成分和季節(jié)等因素的影響,并對荊州港船舶月均流量進(jìn)行了預(yù)測;鄭友銀等[3]構(gòu)建了灰色自回歸模型,通過仿真對某港口船舶交通流量進(jìn)行了預(yù)測;FENG等[4]構(gòu)建了支持向量機(jī)模型對船舶交通流量進(jìn)行了預(yù)測;CHEN等[5]運用優(yōu)化小波最小二乘支持向量回歸模型對船舶交通流量進(jìn)行了預(yù)測;楊雙雙等[6]運用非凸低秩約束模型對天津港水域船舶交通流量進(jìn)行了預(yù)測。
因BP神經(jīng)網(wǎng)絡(luò)和Markov模型具有自身的優(yōu)點,有很多學(xué)者將其應(yīng)用到船舶交通流量預(yù)測中。翟久剛等[7]將基于BP神經(jīng)網(wǎng)絡(luò)和殘差分析的船舶交通流量預(yù)測方法用于對長江九江大橋月度船舶交通流量的預(yù)測;郝勇等[8]利用遺傳算法對RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行了優(yōu)化,提高了港口船舶交通流量預(yù)測的精度;呂鵬飛等[9]將BP神經(jīng)網(wǎng)絡(luò)與Markov模型結(jié)合,發(fā)揮了Markov模型對波動性大的數(shù)據(jù)預(yù)測精度高的優(yōu)點,使預(yù)測精度得到了提高。然而,BP神經(jīng)網(wǎng)絡(luò)和Markov模型各自也存在缺點:前者易陷入局部極小值、收斂速率慢;后者在求取狀態(tài)區(qū)間可能值和選擇白化系數(shù)的過程中存在誤差。
本文在前人研究的基礎(chǔ)上,構(gòu)建BP神經(jīng)網(wǎng)絡(luò)-Markov預(yù)測模型,充分利用BP神經(jīng)網(wǎng)絡(luò)和Markov模型的優(yōu)勢,并用粒子群優(yōu)化(particle swarm optimization, PSO)算法對模型進(jìn)行優(yōu)化,以武漢長江大橋月度標(biāo)準(zhǔn)船舶交通流量為樣本進(jìn)行預(yù)測,以期提高船舶交通流量預(yù)測精度。
BP神經(jīng)網(wǎng)絡(luò)算法是誤差反向傳播算法,其基本結(jié)構(gòu)見圖1。
輸入層神經(jīng)元的輸入為X(k)={y(k-1),…,
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
(1)
隱含層的激勵函數(shù)為log-sigmoid函數(shù),即f(x)=1/(1+e-x),估算隱含層神經(jīng)元數(shù)量的公式為
(2)
式中:n和l分別為輸入層和輸出層神經(jīng)元數(shù)量。激勵函數(shù)的導(dǎo)數(shù)為
k時刻輸入層第i個神經(jīng)元的輸出為
(3)
式中:i=1,2,…,n,n=ny+nu-d+1。
k時刻隱含層第j個神經(jīng)元的輸入和輸出分別為
輸出層神經(jīng)元的輸出為
(4)
式中:α為動量項因子,α∈[0,1)。
Markov模型具有無后效性或Markov性。設(shè)一個具有Markov性的隨機(jī)序列為{Y(t),t∈T},T為離散的時間集合,E={E1,E2,…,Eλ}為狀態(tài)空間,則Markov模型的Markov性可以表示為
P{Yλ+1=Eλ+1|Y1=E1,Y2=E2,…,Yλ=Eλ}=
P{Yλ+1=Eλ+1|Yλ=Eλ}
(5)
依據(jù)殘差序列將Markov模型劃分為λ個狀態(tài),第i步的第j個狀態(tài)的上邊界和下邊界分別用Qij和Hij表示,計算方法[10]如下:
(6)
在每一個時間點,隨機(jī)過程中的每一個值只能處于一種狀態(tài),每個狀態(tài)在接下來的狀態(tài)轉(zhuǎn)移中有λ個轉(zhuǎn)向(包括轉(zhuǎn)向自身),即
{Ei→E1,Ei→E2,…,Ei→Eλ}
從狀態(tài)Ei經(jīng)過1步轉(zhuǎn)移到狀態(tài)Ej的概率:
(7)
同理可得到l步狀態(tài)轉(zhuǎn)移概率:
(8)
系統(tǒng)的1步狀態(tài)轉(zhuǎn)移概率矩陣為
(9)
BP神經(jīng)網(wǎng)絡(luò)-Markov預(yù)測模型的預(yù)測值為
(10)
在以上建模過程中,fi(i=1,2,…,λ)值的確定方法多種多樣,有的取狀態(tài)區(qū)間的中間值(白化系數(shù)取0.5),有的運用黃金分割定律(白化系數(shù)取0.618)。這些方法都不具有普適性,誤差較大。本文引入PSO算法對上述模型進(jìn)行優(yōu)化,以根據(jù)數(shù)據(jù)序列的實際變化,求取最佳的白化系數(shù)。
PSO算法是由KENNEDY等[11]提出的,該方法簡單、高效、全局搜索能力強,因此被應(yīng)用到很多領(lǐng)域進(jìn)行模型優(yōu)化。該算法模擬鳥群覓食行為進(jìn)行社會性搜索,個體(也稱粒子)在超維度空間中飛行,而粒子位置的改變是受到群體中其他粒子的成功經(jīng)驗及其自身的記憶影響的。
對于某個粒子i,其粒子群搜索公式為
vi(t+1)=wvi(t)+c1r1(xpbest-xi(t))+
c2r2(xgbest-xi(t))
(11)
xi(t+1)=xi(t)+vi(t+1)
(12)
式中:xi為粒子在t時刻的位置;vi為粒子在t時刻的速度;xpbest為群體微粒搜索到的自身最佳位置;xgbest為群體微粒經(jīng)歷過的全局最好位置;r1和r2為服從U(0,1)的隨機(jī)數(shù);w為慣性系數(shù);c1和c2為學(xué)習(xí)因子。
本文用均方差EMS來衡量每個粒子的適應(yīng)度函數(shù):
應(yīng)用粒子群算法進(jìn)行全局搜索,求取最佳白化系數(shù)ai,狀態(tài)區(qū)間內(nèi)可能的預(yù)測值fi求取方法為
fi=(1-ai)Qij+aiHij,ai∈[0,1]
(13)
基于PSO的BP神經(jīng)網(wǎng)絡(luò)-Markov預(yù)測模型建立步驟見圖2。
圖2 基于PSO的BP神經(jīng)網(wǎng)絡(luò)-Markov預(yù)測模型建立步驟
標(biāo)準(zhǔn)船舶的選取是為了便于對不同水域相同時段或同一水域不同時段的船舶交通流量進(jìn)行統(tǒng)計,更好地表征船舶交通流的概念。文獻(xiàn)[12]提到標(biāo)準(zhǔn)船舶作用有:實現(xiàn)不同航段船舶交通流量的比較,反映不同航段船舶交通流量的特點。日本運用“L系數(shù)”“L2系數(shù)”的方法進(jìn)行標(biāo)準(zhǔn)船舶的確定,我國采用表1所示的換算系數(shù)將原始數(shù)據(jù)轉(zhuǎn)化為標(biāo)準(zhǔn)船舶數(shù)據(jù)。
表1 標(biāo)準(zhǔn)船舶換算系數(shù)
根據(jù)表1中的換算系數(shù),對從AIS軌跡流量分析軟件得到的武漢長江大橋2014年1月至2017年10月的船舶交通流量數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)船舶轉(zhuǎn)換,得到的標(biāo)準(zhǔn)船舶交通流量見表2。
表2 武漢長江大橋標(biāo)準(zhǔn)船舶交通流量統(tǒng)計 艘次
2.2.1 數(shù)據(jù)預(yù)處理
為便于利用BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測,將表2中的數(shù)據(jù)劃分為如表3所示的43組樣本數(shù)據(jù),以相鄰前3個月的船舶交通流量數(shù)據(jù)為樣本輸入值,第4個月的船舶交通流量為輸出值,如:2014年1—3月的標(biāo)準(zhǔn)船舶交通流量數(shù)據(jù)為輸入值,2014年4月的數(shù)據(jù)為輸出值。選擇前22組數(shù)據(jù)為訓(xùn)練樣本,后21組數(shù)據(jù)為測試樣本。
表3 43組樣本數(shù)據(jù)統(tǒng)計 艘次
2.2.2 模型結(jié)構(gòu)及參數(shù)選取
選擇輸入層神經(jīng)元數(shù)量為n=3,輸出層神經(jīng)元數(shù)量為l=1。根據(jù)經(jīng)驗公式(2)得到隱含層神經(jīng)元數(shù)量m=4。本文選用的是mapminmax函數(shù),訓(xùn)練函數(shù)為trainlm,訓(xùn)練次數(shù)為10 000次,訓(xùn)練目標(biāo)為0.000 01,學(xué)習(xí)函數(shù)為learngd,學(xué)習(xí)速率為0.01。
2.2.3 模型預(yù)測
運用MATLAB 2014a編制BP神經(jīng)網(wǎng)絡(luò)輔助計算程序,訓(xùn)練界面見圖3。
圖3 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練界面
選擇擬合相對較好、誤差較小的運行結(jié)果作為BP神經(jīng)網(wǎng)絡(luò)預(yù)測值,結(jié)果見表4。
表4 BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測值和殘差 艘次
根據(jù)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果可以發(fā)現(xiàn),單獨利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測,預(yù)測結(jié)果擬合效果較差。為提高預(yù)測精度,引入Markov模型對BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化。
2.3.1 狀態(tài)劃分
由表4可知,由BP神經(jīng)網(wǎng)絡(luò)模型得到的標(biāo)準(zhǔn)船舶交通流量預(yù)測值殘差β(k)∈[-2 462,3 597]。按式(6)進(jìn)行計算,將殘差序列劃分為4個狀態(tài)區(qū)間E1、E2、E3和E4,分別為[-2 462,-947.25)、[-947.25,567.5)、[567.5,2 082.25)、[2 082.25,3 597]。殘差狀態(tài)分布見表5。
表5 殘差狀態(tài)分布
2.3.2 求取狀態(tài)轉(zhuǎn)移概率
根據(jù)表5中的殘差狀態(tài)劃分情況,對殘差的狀態(tài)從Ei經(jīng)1步轉(zhuǎn)移到Ej的頻數(shù)進(jìn)行統(tǒng)計,結(jié)果見表6。
表6 1步狀態(tài)轉(zhuǎn)移頻數(shù)
經(jīng)計算得到1步狀態(tài)轉(zhuǎn)移概率矩陣為
灰區(qū)間(每個狀態(tài)區(qū)間)可能的值應(yīng)該基于具體問題具體分析。本文引入PSO算法對BP神經(jīng)網(wǎng)絡(luò)-Markov預(yù)測模型進(jìn)行優(yōu)化,根據(jù)樣本數(shù)據(jù)進(jìn)行全局搜索,找到最佳的白化系數(shù)。
根據(jù)式(13),對灰區(qū)間進(jìn)行白化:
f1=-2 462a1-947.25(1-a1)
f2=-947.25a2+567.5(1-a2)
f3=567.5a3+2 082.25(1-a3)
f4=2 082.25a4+3 597(1-a4)
這里選取:粒子位置區(qū)間為[0,1];粒子長度為4;慣性系數(shù)w=1;粒子數(shù)為1 000;粒子速度區(qū)間為[-0.01,0.01];迭代次數(shù)k=1 000,學(xué)習(xí)因子c1=c2=2。運用MATLAB 2014a編制基于PSO算法的優(yōu)化程序,輔助求解4個灰色系數(shù)(白化系數(shù)),計算值如下:
a1=0.210 8,a2=1.000 0,
a3=0.968 6,a4=0.430 2
進(jìn)而得到f1、f2、f3、f4的值如下:
f1=-1 266.56,f2=-947.25,
f3=615.06,f4=2 945.35
根據(jù)式(10)對預(yù)測值進(jìn)行計算,計算結(jié)果見表7。
由表7可知,與單純利用BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測結(jié)果相比,基于PSO BP神經(jīng)網(wǎng)絡(luò)-Markov預(yù)測模型的預(yù)測值與船舶交通流量實際值更加接近。
為便于進(jìn)行誤差分析,運用平均絕對誤差和平均絕對百分誤差[10]對兩種模型的誤差進(jìn)行分析。
從表8可知,本文模型預(yù)測精度為91.050 8%,高于單純利用BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度,說明用該模型預(yù)測的船舶交通流量是可供參考的。下面運用該模型對武漢長江大橋2017年11月和12月的船舶交通流量進(jìn)行預(yù)測。
表8 兩種模型誤差比較結(jié)果統(tǒng)計
第43組數(shù)據(jù)轉(zhuǎn)移到第44、45組數(shù)據(jù)的1、2步狀態(tài)轉(zhuǎn)移概率矩陣分別為
根據(jù)式(7)和(8)計算兩組數(shù)據(jù)的1、2步狀態(tài)轉(zhuǎn)移概率:
(0 0.2 0.4 0.4)
因為第43組數(shù)據(jù)的殘差處于E4狀態(tài),所以第44組數(shù)據(jù)處于E3、E4狀態(tài)的概率最大,第45組數(shù)據(jù)處于E1狀態(tài)的概率最大。
得到2017年11月、12月的船舶交通流量分別為12 142/艘次、11 975/艘次。
本文提出了一種預(yù)測船舶交通流量的新方法,該模型在綜合考慮預(yù)測中非線性映射、殘差序列、狀態(tài)區(qū)間、狀態(tài)轉(zhuǎn)移概率的基礎(chǔ)上,自適應(yīng)求解最佳白化系數(shù),用以克服BP神經(jīng)網(wǎng)絡(luò)和Markov模型在預(yù)測過程中存在的不足。基于粒子群優(yōu)化(PSO)的BP神經(jīng)網(wǎng)絡(luò)-Markov模型預(yù)測精度比傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測精度高。計算結(jié)果可以為港口水域的合理規(guī)劃和相關(guān)主管機(jī)關(guān)制定合理有效的水上交通組織方案等提供參考。在后續(xù)的工作中還會在BP神經(jīng)網(wǎng)絡(luò)存在的其他誤差、Markov模型最佳的狀態(tài)劃分方法、PSO算法的改進(jìn)等方面進(jìn)行研究,以期進(jìn)一步提高預(yù)測精度。
參考文獻(xiàn):
[1] 馬曉波, 劉雪菲, 戴冉. 優(yōu)化的長山水道船舶交通流量灰色系統(tǒng)預(yù)測模型[J]. 上海海事大學(xué)學(xué)報, 2016, 37(2): 12-16. DOI: 10.13340/j.jsmu.2016.02.003.
[2] 李曉磊, 肖進(jìn)麗, 劉明俊. 基于SARIMA模型的船舶交通流量預(yù)測研究[J]. 武漢理工大學(xué)學(xué)報(交通科學(xué)與工程版), 2017, 41(2): 329-332, 337. DOI: 10.3963/j.issn.2095-3844.2017.02.030.
[3] 鄭友銀, 徐志京. 基于灰色自回歸模型的船舶流量預(yù)測方法[J]. 船海工程, 2011, 40(1): 122-124. DOI: 10.3963/j.issn.1671-7953.2011.01.037.
[4] FENG Hongxiang, KONG Fancun, XIAO Yingjie. Vessel traffic flow forecasting model study based on support vector machine[J]. Communications in Computer and Information Science, 2011, 143: 446-451.
[5] CHEN Jinbiao, TIAN Yanhua, YING Shijun. Optimized LS-SVR method applied to vessel traffic flow prediction[C]//2010 2nd International Conference on Computational Intelligence and Natural Computing. Wuhan, China, 13-14 Sept, 2010: 315-320.
[6] 楊雙雙, 吳傳生, 劉釗, 等. 基于非凸低秩稀疏約束的船舶交通流量預(yù)測[J/OL]. 計算機(jī)應(yīng)用研究, 2018, 35(1): 43-47[2017-01-19]. http://www.arocmag.com/article/02-2018-01-002.html.
[7] 翟久剛, 田延飛, 嚴(yán)新平. 基于BP神經(jīng)網(wǎng)絡(luò)與殘差分析的船舶交通流量預(yù)測[J]. 上海海事大學(xué)學(xué)報, 2013, 34(1): 19-22. DOI: 10.3969/j.issn.1672-9498.2013.01.005.
[8] 郝勇, 王怡. 基于優(yōu)化RBF網(wǎng)絡(luò)的港口船舶交通流量預(yù)測[J]. 中國航海, 2014, 37(2): 81-84, 117.
[9] 呂鵬飛, 莊元, 李洋, 等. 船舶交通量的BP神經(jīng)網(wǎng)絡(luò)-馬爾科夫預(yù)測模型[J]. 上海海事大學(xué)學(xué)報, 2017, 38(2): 17-21, 28. DOI: 10.13340/j.jsmu.2017.02.004.
[10] 樊冬雪. 基于優(yōu)化灰色馬爾科夫鏈模型的鐵路客流量預(yù)測方法研究[D]. 重慶: 重慶交通大學(xué), 2015.
[11] KENNEDY J, EBERHART R. Particle swarm optimization[J]. IEEE, 2002, 4(8): 1942-1948.
[12] 馬勇. 基于排隊論的T型航路船舶交通通過能力研究[D]. 大連: 大連海事大學(xué), 2008.