劉小東,黃洪瓊
(上海海事大學(xué) 信息工程學(xué)院,上海201306)
近年來,水運總量突飛猛進(jìn),造就了我國沿海及長江流域等地的各條“黃金水道”,為我國的經(jīng)濟(jì)、社會發(fā)展做出了重要貢獻(xiàn)。但同時,水運量的增加使水上交通事故頻發(fā),造成了巨大的損失,這對水道的設(shè)計、規(guī)劃和船舶通航資源管理的優(yōu)化配置提出了更高的要求。船舶流量預(yù)測的研究為水道的設(shè)計、規(guī)劃和船舶通航管理提供了基礎(chǔ)性依據(jù)。
[1]提出差分序列特性進(jìn)行模型的篩選和基于模糊變權(quán)重的船舶交通流量組合預(yù)測方法實現(xiàn)了船舶流量的預(yù)測。參考文獻(xiàn)[2]根據(jù)組合預(yù)測的思想,將三種算法進(jìn)行智能融合構(gòu)建一種新的智能預(yù)測系統(tǒng)。參考文獻(xiàn)[3]利用系統(tǒng)工程的相關(guān)原理,提出了基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型。以上方法各有優(yōu)缺點,預(yù)測精度往往不高,算法穩(wěn)定性較差。為此,本文提出一種數(shù)據(jù)融合的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法,進(jìn)一步提高船舶流量的預(yù)測精度及算法的穩(wěn)定性。
船舶流量預(yù)測指定性預(yù)測和定量預(yù)測[4]。船舶流量的預(yù)測主要受客觀環(huán)境和算法模型影響,拋開客觀因素,算法將是解決預(yù)測精度不高的主要因素。船舶流量的預(yù)測具有時變、不確定、非線性特征,神經(jīng)網(wǎng)絡(luò)模型[5]具有很強的非線性預(yù)測能力和泛化能力。本文在選取BP神經(jīng)網(wǎng)絡(luò)模型時,引入數(shù)據(jù)融合機制,其預(yù)測原理結(jié)構(gòu)如圖1所示。
圖1 船舶流量預(yù)測原理圖
BP神經(jīng)網(wǎng)絡(luò)算法[6]的原理是:輸入量Xi通過隱含層作用于輸出節(jié)點,經(jīng)非線性變換,產(chǎn)生輸出量 Yk,網(wǎng)絡(luò)訓(xùn)練的每個樣本包括輸入向量和期望輸出量,通過調(diào)整輸入節(jié)點與隱層節(jié)點的權(quán)值Wij和隱層節(jié)點與輸出節(jié)點之間的權(quán)值Tjk以及閾值,使網(wǎng)絡(luò)輸出值與期望輸出值之間的偏差沿梯度方向下降,經(jīng)過網(wǎng)絡(luò)訓(xùn)練,確定最小誤差對應(yīng)的網(wǎng)絡(luò)參數(shù),訓(xùn)練停止。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型
采集船舶流量VTS數(shù)據(jù),預(yù)處理成BP神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的樣本,然后根據(jù)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)建立最佳模型。Xi為輸入向量,Oj為隱層輸出向量,Yk為輸出向量,Wij為第i個輸入層到第j個隱含層之間的權(quán)值,Tjk為第j個隱含層到第k個輸出層之間的權(quán)值。
f為非線性神經(jīng)元函數(shù),θ為神經(jīng)單元閾值,則:
激勵函數(shù)是反映下層輸入對上層節(jié)點刺激脈沖強度的函數(shù),又稱刺激函數(shù),一般取(0,1)內(nèi)連續(xù)取值的Sigmoid函數(shù):
誤差計算模型是反映神經(jīng)網(wǎng)絡(luò)期望輸出與計算輸出之間誤差大小的函數(shù),Tpi為節(jié)點的期望輸出值;Opi為節(jié)點計算輸出值。
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程,即連接下層節(jié)點和上層節(jié)點之間的權(quán)重矩陣Wij的設(shè)定和誤差修正過程。自學(xué)習(xí)模型中η為學(xué)習(xí)因子,Фi為輸出節(jié)點 i的計算誤差,Oj為輸出節(jié)點j的計算輸出,a為動量因子,則:
在運用BP神經(jīng)網(wǎng)絡(luò)算法時通常方法為歸一化處理[7],將其轉(zhuǎn)換成適合激勵函數(shù)Sigmoid區(qū)間的數(shù)據(jù)變量,作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練的樣本。
單純用BP神經(jīng)網(wǎng)絡(luò)算法獲取的預(yù)測值必定存在較大的誤差,降低甚至消除這些誤差對提高預(yù)測精度具有十分重要的意義。通過一種數(shù)據(jù)融合優(yōu)化手段,將BP神經(jīng)網(wǎng)絡(luò)預(yù)測獲取的初步預(yù)測結(jié)果進(jìn)一步優(yōu)化,步
(3)構(gòu)造新的曲線空間。 L(1),L(2),L(3),…,L(n)與平均曲線L(a)作差,記錄偏差最大的曲線為L(j1),L(j2),…,L(jj),將其剔除,保留剩下的曲線并重新編號為L(1),L(2),…,L(n-j)構(gòu)成新曲線空間。
(4)新的曲線空間中再次作數(shù)據(jù)融合加權(quán)平均,得到一條較優(yōu)的預(yù)測曲線L:驟如下:
(1)搭建BP神經(jīng)網(wǎng)絡(luò)算法模型,進(jìn)行多次訓(xùn)練獲得船舶流量的多條預(yù)測曲線 L(1),L(2),L(3),…,L(n)。
(2)將這些曲線進(jìn)行加權(quán)平均得到一條平均曲線L(a):經(jīng)過這種多次預(yù)測剔除偏差較大曲線的數(shù)據(jù)融合加權(quán)平均處理可以有效地提高預(yù)測精度。
(5)獲取較優(yōu)預(yù)測曲線 L 中的 k 個值 L1,L2,L3,…,Lk,與期望預(yù)測值 T 的 k 個分量 T1,T2,…,Tk作差,取絕對平均值M,如式(8)所示:
(6)對較優(yōu)預(yù)測曲線L中的k個值依次進(jìn)行判斷,并且剔除偏離門限的點值,利用線性插補法填充剔除的點。
(7)獲取平滑系數(shù):其中,Ri表示第i個值的平滑系數(shù),即為平滑的權(quán)重;Bi表示Ti與Li的殘差Ei所占毛誤差E的比例程度:
其中,h為比例程度系數(shù),取10-n,n為正整數(shù),此處n取1。
(8)進(jìn)行數(shù)據(jù)的平滑。假設(shè)有k個預(yù)測值,Li表示第i個預(yù)測值,其中,i=1,2,3,…,k。 Hi表示平滑后的最終預(yù)測值。
數(shù)據(jù)融合BP技術(shù)[8]預(yù)測曲線平滑的過程引入了多次預(yù)測并刪除誤差較大預(yù)測曲線及曲線點的數(shù)據(jù)處理機制,使得算法在預(yù)測精度不斷提高的同時,有效地提高了系統(tǒng)的容錯能力,即使在預(yù)測過程中產(chǎn)生了一些誤差較大甚至嚴(yán)重偏離船舶交通流量真實曲線的預(yù)測值,這些預(yù)測值也會在多次預(yù)測中剔除異常數(shù)據(jù)的處理下被刪除,較好地降低預(yù)測誤差的同時提高了船舶交通流量的預(yù)測精度,使預(yù)測算法具有較好的穩(wěn)定性。
結(jié)合上述算法分析流程,采集寧波港口2012年7月5日~8月 9日船舶流量 VTS數(shù)據(jù)作為原始數(shù)據(jù),預(yù)測仿真結(jié)果分析如下:
先根據(jù)訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)算法對船舶流量進(jìn)行預(yù)測,預(yù)測結(jié)果與實際船舶交通流量VTS觀測數(shù)據(jù)對比,如圖3所示。
圖3 BP算法預(yù)測與船舶流量統(tǒng)計
由圖3可知,BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法在整體上雖有一定的預(yù)測精度,但部分預(yù)測結(jié)果偏差較大,預(yù)測精度還有待提高,需進(jìn)一步研究。
數(shù)據(jù)融合BP神經(jīng)網(wǎng)絡(luò)算法在傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法的基礎(chǔ)上引入數(shù)據(jù)融合思想,用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行100次仿真,將每次預(yù)測結(jié)果與平均預(yù)測結(jié)果作差比較,刪除一些誤差較大的預(yù)測結(jié)果;然后將剩余的預(yù)測結(jié)果經(jīng)過數(shù)據(jù)加權(quán)平均融合獲取一條較優(yōu)的曲線;接著對較優(yōu)曲線進(jìn)一步優(yōu)化,采用數(shù)據(jù)融合管理機制,以預(yù)測結(jié)果的殘差所占總體誤差的大小來設(shè)定門限,剔除門限之外的點值,并以線性插補的方法填充剔除點;最后對較優(yōu)點值進(jìn)行平滑優(yōu)化,獲得一條高精度的預(yù)測曲線。其仿真結(jié)果與原始觀測數(shù)據(jù)比較結(jié)果如圖4所示。
圖4 數(shù)據(jù)融合BP算法預(yù)測與船舶流量統(tǒng)計
從圖3和圖4可以看出,經(jīng)過數(shù)據(jù)融合BP神經(jīng)網(wǎng)絡(luò)算法的預(yù)測結(jié)果偏離實際值較小,更接近于船舶交通流量的實際值,預(yù)測精度更高,預(yù)測效果明顯優(yōu)于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法,而且算法穩(wěn)定性更強。
本文在理論分析及實驗結(jié)果的基礎(chǔ)上以算法的方差大小來判斷算法的穩(wěn)定性,以平均絕對誤差(MAE)、平均絕對百分誤差(MAPE)、均方根誤差(RMSE)、均方根誤差比(RMSEP)來衡量兩種算法的預(yù)測精度的有效性。圖5為兩種算法方差/10的對比圖。
圖5 兩種算法方差比較圖
由圖5可知,數(shù)據(jù)融合BP神經(jīng)網(wǎng)絡(luò)算法預(yù)測結(jié)果的方差明顯小于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法預(yù)測結(jié)果的方差,從而說明數(shù)據(jù)融合BP算法的穩(wěn)定性更優(yōu)越。上述數(shù)據(jù)融合BP預(yù)測算法引入了數(shù)據(jù)融合處理機制,使得算法在預(yù)測精度不斷提高的同時,有效地提高了算法的抗干擾能力,即使在預(yù)測過程中有較大預(yù)測誤差與測量誤差的影響,這些預(yù)測值也會在多次估計剔除異常數(shù)據(jù)的處理下被刪除,較好地降低了預(yù)測誤差對預(yù)測精度的影響,使數(shù)據(jù)融合BP預(yù)測算法具有較好的穩(wěn)定性,從而增強了系統(tǒng)的魯棒性。
令實際測量值為 Ti,預(yù)測值為 Hi,n為觀察數(shù)據(jù)的總數(shù)量,預(yù)測準(zhǔn)確度的指標(biāo)如下:
平均絕對誤差MAE和平均絕對百分誤差MAPE分別為:
統(tǒng)計得到寧波港口 2012年7月 5日~8月 9日船舶交通流量VTS總量為26 510艘。傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法預(yù)測的結(jié)果為26 415艘,數(shù)據(jù)融合BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法預(yù)測的結(jié)果為26 492艘,兩種算法預(yù)測精度性能指標(biāo)比較如表1所示。
表1 兩種算法預(yù)測性能比較
從表1可以明顯看出,數(shù)據(jù)融合BP預(yù)測算法的預(yù)測精度各項指標(biāo)均明顯優(yōu)于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法,其預(yù)測精度更高,算法穩(wěn)定性能更強。
經(jīng)過數(shù)據(jù)融合的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法,在傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法的基礎(chǔ)上引入數(shù)據(jù)融合優(yōu)化處理機制,有效提高了船舶交通流量的預(yù)測精度,合理改善了算法的穩(wěn)定性,而且智能地調(diào)整了數(shù)據(jù)融合預(yù)測權(quán)值系數(shù)的比例關(guān)系。此外,結(jié)合門限偏差值的設(shè)定剔除偏差較大軌跡點,并進(jìn)行線性插補剔除的點,最后將曲線值進(jìn)行平滑處理,獲取最優(yōu)的預(yù)測結(jié)果。該算法能夠較好地實現(xiàn)船舶交通流量的高精度預(yù)測,同時有效提高了算法的穩(wěn)定性,與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測算法相比,其獨特的數(shù)據(jù)融合算法較好地實現(xiàn)了曲線點值偏移量的數(shù)據(jù)融合優(yōu)化匹配管理,有效地提高了預(yù)測精度,并具有計算復(fù)雜度低、穩(wěn)定性強、適用范圍廣等優(yōu)點。
參考文獻(xiàn)
[1]楊翔.船舶交通流量預(yù)測方法研究[D].大連:大連海事大學(xué),2006.
[2]黃洪瓊,湯天浩,金永興,等.基于智能融合的船舶交通流預(yù)測系統(tǒng)[J].中國航海,2008,31(4):364-367.
[3]王東.基于BP人工神經(jīng)網(wǎng)絡(luò)的船舶交通流量預(yù)測研究[D].武漢:武漢理工大學(xué),2009.
[4]郎茂祥,傅選義,朱廣宇.預(yù)測理論與方法[M].北京:北京交通大學(xué)出版社,2011.
[5]周開利,康耀紅.神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計[M].北京:清華大學(xué)出版社,2005.
[6]蔣良孝,李超群.基于BP神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近方法及MATLAB 實現(xiàn)[J].微型機與應(yīng)用,2004,23(1):52-53.
[7]李曉峰,徐玖平,王蔭清,等.BP人工神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)算法的建立及其應(yīng)用[J].系統(tǒng)工程理論與實踐,2004,24(5):1-8.
[8]吳祖堂.基于神經(jīng)網(wǎng)絡(luò)預(yù)測器的傳感器數(shù)據(jù)證實技術(shù)研究[J].電子技術(shù)應(yīng)用,2001,27(1):22-25.
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2014年16期