沈暉華,時(shí) 健,徐佳麗,朱士鵬,鄭金海
(1.海岸災(zāi)害及防護(hù)教育部重點(diǎn)實(shí)驗(yàn)室(河海大學(xué)),江蘇 南京 210098; 2.河海大學(xué)港口海岸與近海工程學(xué)院,江蘇 南京 210098; 3.南京航空航天大學(xué)自動化學(xué)院,江蘇 南京 211106)
波浪是海工結(jié)構(gòu)物、海上運(yùn)輸及作業(yè)工具運(yùn)轉(zhuǎn)時(shí)需要考慮的重要安全因素。開展準(zhǔn)確高效的波浪預(yù)報(bào),不僅有助于海上生產(chǎn)活動的開展,也有助于增強(qiáng)海工結(jié)構(gòu)物、海上運(yùn)輸工具以及人員應(yīng)對災(zāi)害的能力,具有重要的科研價(jià)值和社會經(jīng)濟(jì)意義。
伴隨機(jī)器學(xué)習(xí)的發(fā)展,目前應(yīng)用于波浪預(yù)報(bào)的機(jī)器學(xué)習(xí)模型主要分為2類,一類是神經(jīng)網(wǎng)絡(luò)模型[1-5],該模型模仿人類大腦對于多數(shù)據(jù)、多特征的處理方式,以人工神經(jīng)元為單位處理、分析數(shù)據(jù),具備解決非線性問題的能力,適用于隨機(jī)性較強(qiáng)的波浪研究,但神經(jīng)網(wǎng)絡(luò)模型具有原理可解釋性不強(qiáng)、調(diào)參耗時(shí)耗力的缺點(diǎn);另一類是決策樹模型[6-7],與神經(jīng)網(wǎng)絡(luò)模型相比,決策樹模型的優(yōu)勢在于其建模規(guī)則清晰可見、便于理解、訓(xùn)練時(shí)間更短,缺點(diǎn)是對異常值過于敏感、泛化能力差。針對波浪預(yù)報(bào),現(xiàn)有研究成果大都關(guān)注于單一模型的應(yīng)用,而機(jī)器學(xué)習(xí)的發(fā)展趨勢是同時(shí)使用多個(gè)算法,以期規(guī)避單一模型自身的缺陷,獲得比單一模型更好的擬合表現(xiàn)和更小的誤差。然而,目前未見該類集成機(jī)器學(xué)習(xí)算法應(yīng)用于波浪預(yù)報(bào)研究的報(bào)道。
集成機(jī)器學(xué)習(xí)是20世紀(jì)90年代以來機(jī)器學(xué)習(xí)的主流方法[8],該方法旨在利用多個(gè)學(xué)習(xí)器(模型)來解決同一問題,獲得比單個(gè)學(xué)習(xí)器更優(yōu)異的表現(xiàn)[9]。目前主流的集成機(jī)器學(xué)習(xí)方法有:Boosting[10]、Bagging[11]和Stacking[12-13]。不同集成機(jī)器學(xué)習(xí)方法的工作原理和理論基礎(chǔ)存在差異,如Stacking使用不同的個(gè)體學(xué)習(xí)器去構(gòu)建算法,而Boosting和Bagging都是基于同種學(xué)習(xí)器的集成機(jī)器學(xué)習(xí)方法。本研究數(shù)據(jù)集變量因素多,數(shù)據(jù)量大,可能有多個(gè)映射關(guān)系,單一模型難以窮舉。因此選擇 Stacking方法建立波浪預(yù)報(bào)模型,可以集成多個(gè)不同的方法,建立多個(gè)映射關(guān)系,以充分學(xué)習(xí)波浪數(shù)據(jù)集。
圖1 Stacking集成機(jī)器學(xué)習(xí)波浪預(yù)報(bào)算法模型架構(gòu)Fig.1 Modeling framework of wave forecasting algorithm based on the stacking ensemble machine learning method
模型架構(gòu)如圖1所示,采用多層感知器[14]、隨機(jī)森林[15]2種擬合度較好的學(xué)習(xí)器為第一層集成機(jī)器學(xué)習(xí)算法,針對波浪數(shù)據(jù)進(jìn)行充分學(xué)習(xí)。由于不同的模型在假設(shè)空間和原理上有所差異,第一層算法可以認(rèn)為是從被擴(kuò)大的假設(shè)空間中尋求更好假設(shè)的過程,又因?yàn)榈谝粚铀惴ú捎昧藦?fù)雜的非線性變化提取數(shù)據(jù)特征,所以容易產(chǎn)生過擬合情況。第二層集成機(jī)器學(xué)習(xí)算法采用極端樹模型[16],可以降低在第一層算法中累計(jì)的過擬合風(fēng)險(xiǎn),并從第一層擴(kuò)大的假設(shè)空間中尋找更好的近似,從而獲得比單一模型更好的表現(xiàn),提升預(yù)報(bào)的準(zhǔn)確率和穩(wěn)定性。以上2層集成機(jī)器學(xué)習(xí)算法構(gòu)成基于Stacking集成機(jī)器學(xué)習(xí)的波浪預(yù)報(bào)算法。
機(jī)器學(xué)習(xí)需要大量的數(shù)據(jù)用于模型訓(xùn)練,但高分辨率長時(shí)間序列的波浪數(shù)據(jù)難以獲取,因此本文以Shi等[17]所建立的中國近海波浪數(shù)據(jù)庫(China wave database, 以下簡稱CWAVE)作為數(shù)據(jù)源。CWAVE利用CFSR(climate forecast system reanalysis)提供的水面以上10 m逐時(shí)風(fēng)場數(shù)據(jù)驅(qū)動波浪模型TOMAWAC,追算了中國近海1979-01-01—2017-12-31為期39年的有效波高、平均周期等波浪要素。本研究采用CWAVE 2016年1—9月波高、風(fēng)速數(shù)據(jù)作為訓(xùn)練樣本,2016年10—11月風(fēng)速數(shù)據(jù)用于波浪預(yù)報(bào)。
研究區(qū)域如圖2(a)所示,為1°×1°的矩形區(qū)域,位于123.5°E~124.5°E、30.5°N~31.5°N。該區(qū)域包含東海浮標(biāo)(123.5°E, 31.2°N),CWAVE數(shù)據(jù)庫2016年有效波高計(jì)算結(jié)果經(jīng)過東海浮標(biāo)驗(yàn)證,數(shù)據(jù)質(zhì)量較高,誤差較小[17],因此選用該區(qū)域CWAVE有效波高結(jié)果作為波浪預(yù)報(bào)算法的訓(xùn)練集和驗(yàn)證集。
本研究采用矩形網(wǎng)格,將研究區(qū)域劃分為31×31的網(wǎng)格(圖2(b)),網(wǎng)格間距與CWAVE數(shù)據(jù)庫中模型計(jì)算網(wǎng)格尺寸一致。用于評估算法模擬性能的網(wǎng)格點(diǎn)位于四角、邊緣以及內(nèi)部(圖2黑色點(diǎn)),可用于檢驗(yàn)波浪預(yù)報(bào)算法在不同區(qū)域的精度。
由于Stacking集成機(jī)器學(xué)習(xí)算法下的隨機(jī)森林模型、極端樹模型均以決策樹作為個(gè)體學(xué)習(xí)器,而決策樹認(rèn)為局部極值屬于異常值,因此容易在波高值拐點(diǎn)處出現(xiàn)數(shù)值震蕩(圖3(a))。
圖3 引入鄰域平均法前、后預(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)對比Fig.3 Comparison of forecast results and CWAVE data with and without suppression of oscillation
為減少算法數(shù)值震蕩,引入鄰域平均法[18],定義K參數(shù),其數(shù)學(xué)表達(dá)式如下:
(1)
式中:K——鄰域參數(shù),為4倍的i時(shí)刻預(yù)報(bào)數(shù)據(jù)與i前2個(gè)時(shí)刻以及后2個(gè)時(shí)刻的數(shù)據(jù)所得絕對值的平均值;yi——算法預(yù)報(bào)數(shù)據(jù),不同下標(biāo)表示i前、后不同時(shí)刻的預(yù)報(bào)數(shù)據(jù)。
K參數(shù)用于刻畫i時(shí)刻與前、后時(shí)刻數(shù)據(jù)的情況,根據(jù)該參數(shù)可以設(shè)置觸發(fā)抑制震蕩的數(shù)學(xué)條件。本研究所設(shè)觸發(fā)條件為K大于0.2。當(dāng)觸發(fā)條件時(shí),將i時(shí)刻的數(shù)據(jù)改為前、后2個(gè)時(shí)刻預(yù)報(bào)數(shù)據(jù)的平均值。
圖3(b)為將K參數(shù)加入波浪預(yù)報(bào)算法后的有效波高計(jì)算結(jié)果。可以看出,在波高值拐點(diǎn)所產(chǎn)生的數(shù)值震蕩大為減少,且加入K參數(shù)前計(jì)算結(jié)果均方根誤差為0.229,加入后均方根誤差下降為0.144,說明該方法可有效抑制有效波高預(yù)報(bào)的數(shù)值震蕩,提升算法的預(yù)報(bào)精度。
利用2016年1—9月數(shù)據(jù)對波浪預(yù)報(bào)算法進(jìn)行訓(xùn)練,選取3個(gè)網(wǎng)格點(diǎn)的10月有效波高預(yù)報(bào)結(jié)果如圖4所示??梢钥闯鲇行Рǜ哳A(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)趨勢一致,量值上也吻合較好。
圖4 有效波高預(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)對比Fig.4 Comparison of predicted significant wave height and CWAVE data
為定量分析波浪預(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)之間的誤差,引入平均誤差δME和平均相對誤差δMRE進(jìn)行預(yù)報(bào)結(jié)果精度分析(圖5)。
圖5 δME和δMRE時(shí)間序列Fig.5 Time series of δME and δMRE
圖5(a)中時(shí)間表示自10月1日起的預(yù)測天數(shù)。統(tǒng)計(jì)結(jié)果表明,隨著預(yù)測時(shí)間的增加,平均誤差呈增加趨勢,但在1~45 d內(nèi)增長速率較低,最大平均誤差為0.08 m;45~60 d誤差增長較快,最大平均誤差出現(xiàn)在第54天,為0.17 m。圖5(b)為平均相對誤差隨預(yù)測時(shí)間變化曲線,曲線變化趨勢與平均誤差類似,1~45 d預(yù)報(bào)結(jié)果精度較高,平均相對誤差最大值為0.05,46~60 d預(yù)報(bào)結(jié)果平均相對誤差值快速增加。
引入R2分析預(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)的相關(guān)關(guān)系,R2計(jì)算公式如下:
(2)
圖6列出了每隔15 d的R2和預(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)散點(diǎn)圖,1~45 d預(yù)報(bào)結(jié)果準(zhǔn)確度較高,R2為0.97以上,說明波浪預(yù)報(bào)算法能夠準(zhǔn)確學(xué)習(xí)風(fēng)速與有效波高的相關(guān)關(guān)系,精確預(yù)報(bào)研究區(qū)域的有效波高值。1~45 d預(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)誤差較小,多數(shù)數(shù)據(jù)點(diǎn)落在45°對角線上,算法對3 m以上有效波高預(yù)測精度也較高,數(shù)據(jù)點(diǎn)都落在10%誤差線以內(nèi)。
圖6( d)為46~60 d預(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)散點(diǎn)圖。可以看出,算法對小于1 m波浪預(yù)報(bào)值偏小,1~2 m波浪預(yù)報(bào)值偏大,R2值僅為0.41,說明波浪預(yù)報(bào)算法不能準(zhǔn)確預(yù)測這一時(shí)段的有效波高變化。如圖5所示,預(yù)報(bào)結(jié)果誤差第50天(11月19日)加速增長,這段時(shí)間研究區(qū)域受強(qiáng)寒潮天氣影響[19],風(fēng)向和波向?yàn)槲鞅狈较?,波浪以?dāng)?shù)厣傻娘L(fēng)浪為主。而算法訓(xùn)練集數(shù)據(jù)為1—9月風(fēng)速和有效波高數(shù)據(jù),寒潮浪占比較少,訓(xùn)練集數(shù)據(jù)不足導(dǎo)致算法難以準(zhǔn)確預(yù)測寒潮浪的波高變化。
圖6 預(yù)報(bào)結(jié)果與CWAVE數(shù)據(jù)散點(diǎn)圖Fig.6 Scatter chart of the predicted results and CWAVE data
綜上所述,通過集成機(jī)器學(xué)習(xí)算法建立風(fēng)速與有效波高的映射關(guān)系,可實(shí)現(xiàn)高精度的有效波高預(yù)報(bào)。但由于本研究訓(xùn)練樣本時(shí)間長度僅為9個(gè)月,未包含足夠的寒潮浪訓(xùn)練數(shù)據(jù),下一步可通過完善訓(xùn)練數(shù)據(jù)集,建立更加完整的風(fēng)速與有效波高的映射關(guān)系,從而提高算法波浪預(yù)報(bào)精度。
采用中國近海波浪數(shù)據(jù)庫(CWAVE)所提供的波高數(shù)據(jù)和CFSR再分析風(fēng)場數(shù)據(jù),以多層感知器、隨機(jī)森林、極端樹作為個(gè)體學(xué)習(xí)器,建立了基于Stacking集成機(jī)器學(xué)習(xí)的波浪預(yù)報(bào)算法。
以長江口外海1°×1°的區(qū)域?yàn)閷ο?,利?016年1—9月CWAVE有效波高數(shù)據(jù)和CFSR風(fēng)速數(shù)據(jù)作為訓(xùn)練樣本,以風(fēng)速為輸入?yún)?shù)預(yù)報(bào)了2016年10—11月研究區(qū)域的有效波高。結(jié)果顯示波浪預(yù)報(bào)算法建立了精確的風(fēng)速與有效波高相關(guān)關(guān)系,可以準(zhǔn)確預(yù)測研究區(qū)域的波高變化。45 d內(nèi)平均誤差最大值為0.08 m,相對平均誤差最大值為0.05。相關(guān)性分析發(fā)現(xiàn)45 d預(yù)報(bào)結(jié)果與CWAVE有效波高數(shù)據(jù)的R2擬合優(yōu)度達(dá)到了0.97,說明預(yù)報(bào)結(jié)果與波浪譜模型結(jié)果趨勢一致,準(zhǔn)確度較高。