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