王燕,鐘建,張志遠
(中國人民解放軍91001部隊,北京100161)
海浪周期、波向、有效波高等海況特征是海洋工程建設、海上運輸、環(huán)境保護和軍事行動等活動必須考慮的重要安全因素[1]。其中,海浪有效波高最為重要,其預測的時效和準確性依然是目前亟需解決的關鍵問題。為提高海浪預測的準確性,國內外學者開展了不同的預測方法研究,主要有經(jīng)驗模型、數(shù)值模擬[2]和機器學習法等。基于經(jīng)驗模型,通過先驗模型假設進行海浪預測,例如自回歸移動平均方法(Auto-Regression and Moving Average Model,ARMA),但預測能力有限?;跀?shù)值模型,例如海浪模型(WAve Model,WAM)[3]、近岸海浪數(shù)值模型(Sim-ulated WAves Nearshore,SWAN)[4]、第三代海浪模型(WAVEWATCH III)[5]和海浪數(shù)值模式(MArine Science and NUmerical Modeling,WASNUM)[6]等,通過求解海浪譜控制方程來模擬和預測海浪要素,該方法對于廣闊海域海浪具有顯著的預測能力,但對于復雜地形的近岸海域,其預測能力欠佳。
由于機器學習方法不受高性能計算和大樣本數(shù)據(jù)集輸入的限制,近年來,人工神經(jīng)網(wǎng)絡[2,7-12]、模糊推理系統(tǒng)[2,13-14]和遺傳規(guī)劃[15-17]等機器學習方法被廣泛應用于海浪要素預測,有效彌補了其他兩種海浪預測方法的不足。支持向量機(Support Vector Machine,SVM)[18]作為一種新穎的機器學習方法,已廣泛用于海上活動和沿海工程大氣海洋環(huán)境要素的預測。Mohandes等[19]利用SVM方法進行風速預測。Asefa等[20]利用SVM方法實現(xiàn)了對復雜海況的海流預測。Salcedo-Sanz等[21]利用SVM方法開展了風電場風力渦輪機中的風速預測。Raghavendra等[22]詳細闡述了SVM方法在水文領域的應用情況,并指出其對大氣海洋環(huán)境的預測能力已得到社會廣泛認可。2009年,Mahjoobi等[1]利用支持向量回歸(Support Vector Regression,SVR)方法建立了海浪有效波高預測模型,將風速作為輸入信息,并指出SVR方法對有效波高的預測技巧優(yōu)于人工神經(jīng)網(wǎng)絡模型、多層感知機模型和徑向基函數(shù)模型,且所需計算時間相對較少。
海浪通??煞譃轱L浪和涌浪。風浪是受局地風影響的海浪,當海浪傳播到遠離其產(chǎn)生區(qū)域時,或當它們的傳播相速度超過局地風速時,則為涌浪[23]。由于涌浪的存在,如果在SVR預測模型中僅考慮風速作為輸入信息,則無法達到最佳預測效果。針對這個問題,本文考慮歷史海浪狀態(tài)的影響,設計了多組風浪信息組合方案,利用SVR方法建立了渤海海域有效波高預測模型,并開展不同風浪信息組合對有效波高預測的敏感性試驗,分析對比不同輸入信息對有效波高預測技巧的影響。
渤海屬于我國內陸海,海岸線崎嶇,島嶼眾多,地形、地貌復雜,對該海域近岸海浪的準確預測存在較大難度。隨著我國經(jīng)濟的快速發(fā)展和軍事實力的增強,對渤海海域海浪的預測需求日益迫切。本文選取渤海海域為預測區(qū)域(見圖1),研究采用的觀測數(shù)據(jù)為近岸浮標數(shù)據(jù)(121°40′48″E、38°9′31″N),觀測要素為海浪有效波高和10 m風速,時間分辨率為1 h,時間區(qū)間為2012年11月15日—2013年2月15日。本文將觀測數(shù)據(jù)集分為兩組,第一組(810個樣本)用于預測模型訓練,第二組(480個樣本)用于預測結果驗證。
圖1 預測區(qū)域和浮標位置(見黑色小框)
渤海灣屬于半封閉海,太平洋涌浪很難影響到渤海灣海域,因此該海域主要為風浪。Pierson等指出風速U和有效波高遵循如下經(jīng)驗關系[24],
式中:g是重力加速度,U是10 m風速?;谠擄L浪經(jīng)驗關系公式,得到風浪狀態(tài)和涌浪狀態(tài)之間擬合曲線(見圖2),曲線下方(上方)的值表示風浪(涌浪)為主的海浪狀態(tài)。統(tǒng)計發(fā)現(xiàn)涌浪為主的海浪狀態(tài)所占比例約為30%,表明該海域涌浪存在且不能忽視。
圖2 海面風速和有效波高的散點分布圖
SVM是在統(tǒng)計學習理論基礎上發(fā)展起來的基于結構風險最小化原則的機器學習理論[18],其具有較高的泛化推廣能力。通過將低維的樣本空間映射到高維空間來實現(xiàn)低維非線性問題向高維線性問題的轉化,能夠較好地處理小樣本、高維度、非線性等問題。研究發(fā)現(xiàn),SVM方法在數(shù)據(jù)分類和數(shù)據(jù)回歸方面具有顯著優(yōu)勢,且其預測技巧優(yōu)于人工神經(jīng)網(wǎng)絡模型和模糊推理模型[20]。
SVR方法是通過SVM方法進行回歸分析的一種機器學習方法。為簡化SVR模型復雜度并提升預測技巧,SVR模型通過構造核函數(shù)解決上述問題。核函數(shù)的選擇能夠很好地解決維數(shù)問題,并克服機器學習方法中存在的收斂速度慢、局部極值、過學習與欠學習等問題。常用的核函數(shù)有:線性函數(shù)、S函數(shù)、多項式函數(shù)和徑向基函數(shù)等。本文通過敏感性數(shù)值試驗評估后,選擇徑向基核函數(shù),與其它核函數(shù)相比,徑向基核函數(shù)所需輸入?yún)?shù)少,數(shù)值計算限制少。具體表示為:
式中:x∈Rn,xi是輸入要素向量,γ是徑向基核函數(shù)參數(shù)。
徑向基核函數(shù)的參數(shù)γ和SVM模型中的懲罰參數(shù)C的選擇會極大的影響模型的預測結果,應根據(jù)不同的應用領域來取值。為了優(yōu)化參數(shù)γ和C,本文使用粒子群優(yōu)化(particle swarm optimization,PSO)算法選擇最佳匹配參數(shù)。PSO方法最初由Kennedy等提出[25],與遺傳算法相比,PSO沒有復雜的繼承、變異、選擇和交叉的操作,實施更為簡單,通過交叉驗證進一步確定PSO算法在本文可用。
本文基于SVR機器學習方法,建立了渤海海域有效波高短期預測模型,并利用浮標觀測數(shù)據(jù)進行3 h、6 h、12 h和24 h有效波高預測試驗和結果驗證。前人研究成果表明,與風向、風作用時間和風區(qū)長度等輸入信息相比,風速對海浪預測技巧的提升更為重要[2]。此外,由于歷史海浪狀態(tài)能夠改變海面粗糙度分布,因此本文在考慮風速影響的情況下,同時考慮海浪狀態(tài)的影響,在預測模型中引入歷史海浪狀態(tài)作為輸入信息。為分析不同的風浪輸入信息組合對有效波高預測能力的影響,本文開展了多組有效波高預測的敏感性試驗,共設計了32組數(shù)值試驗(見表1),分別以M1—M32命名,表中符號H和U分別表示有效波高和10 m風速,下標表示時間,例如U0表示前當風速,U-3表示預測前3 h風速,U3表示未來3 h風速,H0表示當前有效波高,H3表示未來3 h有效波高。
表1 不同輸入信息組合的數(shù)值試驗
為定量評估SVR模型的預測能力,本文選擇均方根誤差(Root Mean Square Error,RMSE),相關系數(shù)(R)和一致性指數(shù)(Index of Agreement,IA)作為評估指標,其定義如下:
式中:xi(yi)是觀測(預測)值,n表示樣本總數(shù)。xˉ(yˉ)表示觀測(預測)值的平均值。
基于SVR模型,將當前風速U0作為輸入信息,設計了5組數(shù)值試驗(M1、M2、M3、M4、M5)來評估當前風速U0對有效波高的預測技巧。預測結果誤差統(tǒng)計表明(見表2),在只考慮當前風速U0情況下,僅對未來6 h以內的有效波高具有較高的預測能力,尤其對未來3 h的有效波高預測技巧達到最高,其RMSE、R、IA分別為0.277、0.913和0.935,但對6 h以上的有效波高沒有顯著的預測能力。
表2 僅輸入10 m風速信息的預測試驗的有效波高預測誤差
由于歷史海浪狀態(tài)能夠影響海面粗糙度,本文設計了4組(M6、M7、M8、M9)數(shù)值試驗,將當前有效波高H0作為SVR模型的輸入信息,評估其對有效波高的預測技巧。從不同預測時刻的有效波高誤差統(tǒng)計結果可見(見表3),未來3 h有效波高預測的RMSE、R、IA分別為0.291、0.886、0.937,其具備一定預測技巧,但隨著預測時效的延長,誤差越來越大,12 h后完全失去預測能力。此外,比較表2和表3的誤差結果,作為輸入信息,當前風速U0對有效波高預測的貢獻要高于當前有效波高H0,但當前有效波高H0的作用不可忽視,因此基于SVR模型的有效波高預測應當考慮當前有效波高H0的影響。
表3 僅輸入當前海浪信息的預測試驗的有效波高預測誤差
基于上述試驗結果,本文將當前有效波高H0與不同時刻的風速Ut作為SVR模型的輸入信息,設計了23組數(shù)值試驗(M10—M32),深入分析不同的風浪輸入信息組合對有效波高預測技巧的影響。表4列出了利用當前有效波高H0和不同時刻的風速Ut作為輸入信息(H0和U-3、H0和U0、H0和U3)的試驗結果,可以看出將H0和U3作為輸入信息對有效波高的預測技巧最高,其未來3 h有效波高預測的RMSE、R、IA分別為0.179、0.963、0.977,對未來12 h有效波高仍然具備一定的預測能力,但預報誤差變化特征表明,隨著預測時效的延長預測誤差也隨之增加。此外,綜合表2、表3和表4的誤差統(tǒng)計結果可見,使用風浪組合作為輸入信息的預測結果更接近實測有效波高。
為進一步提高對12 h和24 h有效波高的預測能力,本文考慮將預測時刻的風速作為SVR模型的輸入信息,進而分別針對12 h和24 h有效波高預測目標獨立訓練其最優(yōu)預測參數(shù)。根據(jù)輸入的預測風速時效不同,將數(shù)值試驗分為當前有效波高H0和預測時刻前6 h風速、當前有效波高H0和預測時刻前3 h風速、當前有效波高H0和預測時刻風速共3類數(shù)值試驗。誤差統(tǒng)計結果表明(見表5)。對12 h和24 h的有效波高預測技巧最高的是M25和M28,其中12 h有效波高預測的RMSE、R、IA分別為0.295、0.892、0.929,也就是說采用當前有效波高H0和預測時刻前3 h風速作為輸入信息,其12 h和24 h有效波高預報技巧達到最高。如表5所示,該方法對12 h和24 h有效波高預測誤差基本相當,也就是說該方法對24 h有效波高預測結果可用。
為進一步評估多組輸入信息對有效波高預測效果的影響,本文在上述數(shù)值試驗的基礎上,將8個變量Hi和Ui(i=-3、-2、-1和0)均作為SVR模型的輸入信息,設計了3組試驗(M30、M31、M32)。實驗結果表明(見表6),在認為所有輸入信息都具有同等重要性的前提下,同時引入多個輸入信息的并不能有效提升預測效果,反而增加了SVR模型的計算時間。
表4 利用當前有效波高H0和不同時刻的風速Ut作為輸入信息的預測試驗的有效波高預測誤差
表5 輸入當前有效波高H0和不同預測時刻的風速Ut作為輸入信息的預測試驗的有效波高預測誤差
表6 使用8個變量作為輸入信息的誤差
本文利用PSO算法,建立了基于SVR的有效波高短期預測模型,并開展了不同風浪輸入信息組合對有效波高預測影響的敏感性試驗。通過優(yōu)化徑向基核函數(shù)的參數(shù)γ和模型中的懲罰參數(shù)C,以及采用最優(yōu)化風浪組合方案作為模型輸入信息,開展了對渤海海域近岸有效波高3 h、6 h、12 h和24 h的預測可靠性研究。試驗結果表明:風速是影響有效波高預測最重要的因素,利用當前風速信息能夠準確實現(xiàn)對3 h和6 h有效波高的預測,但隨著預測時效增加,12 h和24 h預測準確性迅速降低;當前有效波高僅對3 h有效波高預測具備一定預測技巧,其影響作用不可忽視;同時引入當前有效波高和不同時刻的風速作為輸入信息可有效改善預測能力,當預測時效延長至12 h后,將預測風速作為模型的輸入信息,可有效提高12 h和24 h的有效波高預測準確性;此外,若模型輸入信息與預測對象不存在顯著的相關,多個輸入信息不能有效提高模型的預測能力。綜上所述,SVR模型對于小樣本數(shù)據(jù)具有較高的學習能力和適應能力,為復雜地形近岸海域有效波高短期預測提供了一種有效的機器學習方法,可在海洋環(huán)境業(yè)務保障中推廣應用。