蓋曉娜,楊建民,田新亮
(上海交通大學 海洋工程國家重點實驗室,高新船舶與深海開發(fā)裝備協(xié)同創(chuàng)新中心,上海 200240)
海面浮體在復雜的自然環(huán)境條件下,不可避免地產(chǎn)生六自由度的運動,未知的浮體運動可能對海上作業(yè)造成安全隱患,所以對海面浮體的運動進行預報在工程上具有重要的意義。
海面浮體極短期運動預報是指通過建立模型,對海面浮體未來幾秒到十幾秒的運動進行預測的方法。根據(jù)各種方法之間的理論差異,極短期預測模型主要可以分為基于流體力學的物理模型、經(jīng)典的時間序列模型和基于智能學習理論的非線性預測模型,后兩者都是基于統(tǒng)計學理論的預測方法[1]?;诹黧w動力學的預測模型本質(zhì)上是線性方法,適用于小振幅波浪引起的船體運動。其性能取決于線性流體動力學方程系數(shù)的計算,同時依賴于線性假設(shè)、邊界條件和非線性波相互作用的簡化。與之相比,統(tǒng)計模型具有建模相對簡單并且計算量較小的優(yōu)點。統(tǒng)計模型不需要知道海浪的任何先驗信息和浮體的狀態(tài)方程,僅僅利用浮體本身的歷史數(shù)據(jù)尋求規(guī)律進行預報。
Wiener[2]在1949年提出平穩(wěn)時間序列預報方法,F(xiàn)leck & Bates 等[3 - 4]將這種方法用于研究波浪頻率比較低的浮體運動。1990年,Broome[5]分別采用了AR模型和ARMA模型對浮體運動進行預報,發(fā)現(xiàn)可以預報橫搖有效時長為7 s。彭秀艷[6]、趙希人[7]等采用AR模型,重點研究了浮體運動在線預報仿真技術(shù)及應用,可以預報7~10 s的運動時歷。孫李紅[8]、楊震[9]等采用支持向量機回歸(SVR)方法分別對船舶橫搖和縱搖運動進行預測,發(fā)現(xiàn)SVR方法更加靈活,但是在處理非平穩(wěn)數(shù)據(jù)時仍有局限。
為了解決信號的非平穩(wěn)問題,信號數(shù)據(jù)的分解處理就非常重要。在數(shù)據(jù)分解應用中,傅里葉變換、經(jīng)驗模態(tài)分解和小波分析是最常用的方法。黃禮敏[10]、段文洋[11]等采用復合自回歸經(jīng)驗模態(tài)分解支持向量機回歸模型(EMD-SVR)對非線性非平穩(wěn)船舶運動進行了極短期預報,預測精度較高。但是經(jīng)驗模態(tài)分解方法常常受到邊界效應的影響,傅里葉變換不能從非平穩(wěn)信號中提取頻率信息。
考慮到小波分解對非平穩(wěn)信號分析的適應性[12]、對非平穩(wěn)時間序列中趨勢的分離作用及支持向量機較好的泛化能力,本文提出一種復合的小波-SVR模型,對數(shù)據(jù)的不同頻域信息分別建模,而原始序列的預測結(jié)果為逼近信號和細節(jié)信號預測結(jié)果的疊加。通過對一艘鉆井船在水池模型試驗中運動數(shù)據(jù)的分析和預報對比,結(jié)果證明本文方法有效。
小波變換是一種多尺度的信號分析方法,是分析非平穩(wěn)信號的有力工具,克服了傅里葉變換沒有時域局部化,以及短時傅里葉變換固定分辨率的缺陷。小波變換用一個基函數(shù)的平移和伸縮來分解二維空間的函數(shù)。設(shè)基函數(shù)滿足容許條件:
小波分解是把時間序列S分解成低頻信息a1和高頻信息d1兩部分。在分解中,低頻a1中失去的信息由高頻d1捕獲。在下一層分解中,又將a1分解成低頻a2和高頻d2兩部分,低頻a2中失去的信息由高頻d2捕獲,以此類推,可以進行更深層的分解。小波分解過程如圖1所示。
圖1 時間序列 3 層小波分解過程Fig.1 Three-layer wavelet decomposition for time series
支持向量機回歸(SVR,Support Vector Regression)[13]方法是用基于核函數(shù)的支持向量機(SVM,Support Vector Machine)算法進行非線性回歸分析的方法。其基本思想是:定義最優(yōu)線性超平面,并把尋找最優(yōu)線性超平面的算法歸結(jié)為求解一個最優(yōu)化(凸規(guī)劃)問題。進而基于Mercer核展開定理,通過非線性映射,把樣本空間映射到一個高維乃至于無窮維的特征空間,使在特征空間中可以應用線性學習機的方法解決樣本空間中的高度非線性分類和回歸等問題。簡單地說就是實現(xiàn)升維和線性化。
對于給定的一個訓練樣本集T:
將這種方法推廣到回歸問題,就是所謂的支持向量機回歸分析(SVR),引入損失函數(shù),利用SRM準則構(gòu)造最小化目標:
最小化目標式中第1部分表示模型的結(jié)構(gòu)信息,這部分越小表示回歸函數(shù)越平滑,第2部分表示回歸函數(shù)對于誤差的懲罰。C為平衡系數(shù),或稱為懲罰參數(shù),是對經(jīng)驗風險和置信范圍匹配程度的度量,用于調(diào)整上述2個部分的偏重,這樣可以對模型的復雜度和經(jīng)驗誤差進行適當?shù)恼{(diào)節(jié),從而獲得較好的泛化能力。為松弛變量,和之間的區(qū)域為回歸間隔。
本文采用復合的小波-SVR方法進行運動預報。
首先,對原始數(shù)據(jù)進行預處理,包括去除趨勢項、季節(jié)項和均值歸零。然后對數(shù)據(jù)進行小波分解。這里采用的是3層小波分解,小波函數(shù)為Daubechies5小波。對分解出的所有細節(jié)信號d1,d2,d3進行整合,得到整合細節(jié)信號d。采用SVR模型分別對最低頻的逼近信號a3和整合細節(jié)信號進行預測,并且對2個預測結(jié)果進行疊加,再還原趨勢項和均值,得到最終的運動預測結(jié)果。
本文對浮體運動的預報方法按照圖2進行。
圖2 復合的小波-SVR 算法流程圖Fig.2 Algorithm flowchart of the Wavelet-SVR method
本文對同一浮體運動時間序列分別采用SVR方法和小波-SVR方法進行預測,采用均方根誤差作為指標來評價模型對測試樣本的預報性能。誤差公式如下:
均方根誤差
本文采用水池模型試驗中,某鉆井船在輕載橫浪條件下的垂蕩運動數(shù)據(jù)進行分析。模型試驗中采樣頻率為25 Hz,縮尺比為1:60,換算成實型采樣時間間隔為0.31 s,對未來100步,即31 s進行預測。
表1 波浪條件Tab.1 Wave conditions
圖3 半潛式平臺垂蕩運動時歷Fig.3 Heave motion time series of the semi-submersible
在運動時歷中截取部分數(shù)據(jù),包括400個數(shù)據(jù)點,首先對數(shù)據(jù)進行預處理,包括線性趨勢和均值歸零,處理結(jié)果如圖4所示。
對處理后的數(shù)據(jù)進行平穩(wěn)性分析,計算自相關(guān)系數(shù)和偏相關(guān)系數(shù),結(jié)果如圖5所示。
圖4 垂蕩運動數(shù)據(jù)預處理Fig.4 Pretreatment of the original heave motion data
圖5 原始數(shù)據(jù)自相關(guān)圖和偏相關(guān)圖Fig.5 Autocorrelation diagrams and partial correlation diagrams for the original data
原數(shù)據(jù)的自相關(guān)系數(shù)和偏相關(guān)系數(shù)都沒有很快收斂到0,所以數(shù)據(jù)包含了非平穩(wěn)的信息,僅僅用SVR模型進行處理是不夠的。這里對預處理后的數(shù)據(jù)進行小波分解。
預處理后的數(shù)據(jù)包括400個數(shù)據(jù)點,在Matlab中采用db5小波對數(shù)據(jù)進行3層小波分解,分解結(jié)果如圖6所示。
圖6 小波分解結(jié)果Fig.6 Decomposition results based on wavelet
將所有的細節(jié)信號疊加在一起,得到整合細節(jié)信號d,然后采用SVR方法對d和a3分別進行SVR建模。首先設(shè)定參數(shù)范圍。在SVM實現(xiàn)過程中,懲罰參數(shù)C和核函數(shù)g的選取直接關(guān)系最終的預測分類的準確率。目前,關(guān)于支持向量機的核函數(shù)參數(shù)的選取問題還沒有一個標準的方法,常用的有實驗比較法、梯度下降法、交叉驗證法等。本文采取的是交叉驗證法,選取前350個數(shù)據(jù)為訓練集,后50個數(shù)據(jù)為驗證集,設(shè)定懲罰參數(shù)C的范圍為,核函數(shù)為高斯徑向基(RBF)函數(shù),回歸機類型為。
細節(jié)信號和逼近信號的SVR預測結(jié)果如圖7所示。
圖7 細節(jié)信號和逼近信號預測結(jié)果Fig.7 Forecast results of the detail signal and the approximation signal
將各個部分的預測結(jié)果進行整合,對預測結(jié)果進行對比,如圖8所示。
計算不同方法的均方根誤差隨預測步長變化,得到如圖9所示結(jié)果。
分別計算不同方法的均方根誤差,結(jié)果如表2所示。
圖8 小波-SVR 方法、SVR 方法預測結(jié)果對比(預測前方100步)Fig.8 Comparison of the forecast results used Wavelet-SVR method and SVR method respectively (100 steps ahead)
根據(jù)表2和圖9的結(jié)果,小波-SVR方法均方根誤差明顯小于直接使用SVR方法。SVR方法的預測誤差隨著預測步長的增大而迅速增加,而小波-SVR方法的預測誤差在一定的預測步長內(nèi),可以控制在一定的范圍,預測方法的可靠性更好。而從預測結(jié)果圖形上看,小波-SVR方法雖然從第2個運動周期起,預測誤差較大,幅值預測不是很準確,在預測的前10 s,已經(jīng)可以達到較高的精度,所以在極短期運動預測中,小波-SVR方法可以作為非線性非平穩(wěn)問題的一個很好的解決方法。
事實上,從圖8結(jié)果看,結(jié)合仿真過程中的嘗試,發(fā)現(xiàn)SVR方法預測結(jié)果幅值通常都是逐漸變小,直到達到一個穩(wěn)定的值。這就是由于在SVR直接預測中,由于數(shù)據(jù)的非平穩(wěn)性,包含了復雜的頻域信號,模型訓練過程并沒有捕捉到足夠的細節(jié)信息,預測的結(jié)果只能反映出低頻運動的趨勢,而小波分解過程很好的彌補了這一點。
表2 不同方法的均方根誤差Tab.2 Root mean square error of different methods
圖9 不同方法的均方根誤差Fig.9 Root mean square error of different methods
本文在SVR模型的基礎(chǔ)上,通過小波分解方法將非線性非平穩(wěn)數(shù)據(jù)分解成細節(jié)信號和逼近信號的組合,然后對不同特征的信號分別進行SVR建模預測,疊加后得到最終結(jié)果。預測結(jié)果表明,對于有一定非平穩(wěn)性的數(shù)據(jù),小波-SVR方法預測效果更好,并且該方法計算量較小,計算速度較快,適合用于工程實踐。