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