李海濤, 孫亞男, 付建浩
(青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院, 青島 266061)
海浪預(yù)報(bào)是海洋環(huán)境預(yù)報(bào)中的難題. 海浪的預(yù)報(bào)在沿海城市居民的日常生活中占有著重要的地位. 海浪會(huì)因?yàn)楹oL(fēng)的隨機(jī)性變得更加隨機(jī)和復(fù)雜. 風(fēng)浪能改變表面的風(fēng)場(chǎng)結(jié)構(gòu), 導(dǎo)致海浪的生成機(jī)制和過(guò)程更加繁瑣[1]. 近岸沿海城市的海洋經(jīng)濟(jì)經(jīng)常受到海浪等災(zāi)害的威脅, 建立海浪智能精細(xì)化預(yù)報(bào)業(yè)務(wù)對(duì)于預(yù)防并減少海洋災(zāi)害和發(fā)展海洋經(jīng)濟(jì)具有重大的意義.
目前海浪預(yù)報(bào)大致分為經(jīng)驗(yàn)?zāi)P汀?shù)值預(yù)報(bào)和機(jī)器學(xué)習(xí)法[2]這3 類方法. 經(jīng)驗(yàn)?zāi)P皖愵A(yù)測(cè)海浪是利用假設(shè)先驗(yàn)?zāi)P偷姆绞? 但是預(yù)測(cè)效果一般, 比如自回歸移動(dòng)平均方法. 數(shù)值模型類預(yù)測(cè)海浪是利用求解海浪譜控制方程的方式來(lái)擬合、預(yù)測(cè), 該預(yù)測(cè)法對(duì)海域?qū)掗煹暮@擞休^好的預(yù)測(cè)效果, 但對(duì)地形繁雜的近岸、沿岸海域則預(yù)測(cè)效果較差, 例如海浪模型、近岸海浪數(shù)值模型、第三代海浪模型和海浪數(shù)值模式[3]等. 支持向量機(jī)(SVM)[4]和人工神經(jīng)網(wǎng)絡(luò)[5]等機(jī)器學(xué)習(xí)技術(shù)方法由于它們具備更好的自適應(yīng)學(xué)習(xí)和非線性映射的特點(diǎn), 適宜解決那些復(fù)雜的物理機(jī)制, 難以確定推理規(guī)則的非線性問(wèn)題. 因而在海浪預(yù)測(cè)中人工神經(jīng)網(wǎng)絡(luò)有著廣闊的發(fā)展前景[6]. 目前機(jī)器學(xué)習(xí)中有關(guān)海浪預(yù)測(cè)的方法有支持向量機(jī)、BP 神經(jīng)網(wǎng)絡(luò)、長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)等相關(guān)算法, 例如利用支持向量機(jī)預(yù)測(cè)海浪數(shù)據(jù),通過(guò)人工神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)南海硇洲島的海浪數(shù)據(jù)[5], 利用BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)上海沿海浮標(biāo)站的海浪數(shù)據(jù)[7], 利用長(zhǎng)短期記憶[8,9]模型進(jìn)行海浪預(yù)測(cè)[10]等. 對(duì)于具有非線性和弱規(guī)律性的海浪波高數(shù)據(jù), BP 神經(jīng)網(wǎng)絡(luò)能夠表現(xiàn)出較好的預(yù)測(cè)特性. 然而, BP 神經(jīng)網(wǎng)絡(luò)自身存在誤差收斂慢、訓(xùn)練周期長(zhǎng)、泛化能力差、容易陷入局部極小等缺陷. 長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)[11]是RNN的進(jìn)階版本, 它優(yōu)化了RNN 的細(xì)胞結(jié)構(gòu), 能夠?qū)r(shí)間序列數(shù)據(jù)進(jìn)行記憶的優(yōu)點(diǎn)的同時(shí)還解決了傳統(tǒng)RNN自身存在的缺陷, 比如梯度爆炸、梯度消失和長(zhǎng)期記憶能力不足.
為了解決上述問(wèn)題, 本文提出了一種結(jié)合隨機(jī)森林(random forest, RF)算法[12]和注意力機(jī)制[13]的雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(BiLSTM)的海浪預(yù)測(cè)模型, 并在基礎(chǔ)上選取2017–2018 年北海小麥島海洋站點(diǎn)的海洋環(huán)境數(shù)據(jù)作為海浪預(yù)測(cè)的實(shí)驗(yàn)數(shù)據(jù). 首先使用隨機(jī)森林[9]能夠進(jìn)行特征重要性度量的特點(diǎn), 在眾多海洋環(huán)境數(shù)據(jù)中篩選出與風(fēng)速、海浪波高關(guān)聯(lián)性較高的影響因素作為模型的輸入, 然后將雙向長(zhǎng)短期記憶[14]神經(jīng)網(wǎng)絡(luò)與注意力機(jī)制[15]相結(jié)合, 并搭建預(yù)測(cè)模型, 即RFBiLSTM 海浪預(yù)測(cè)模型. 雙向長(zhǎng)短期記憶 (bidirectional LSTM, BiLSTM)[16]神經(jīng)網(wǎng)絡(luò)是在長(zhǎng)短期記憶的基礎(chǔ)上添加了反向隱含層, 這樣就可以讓模型在前向隱含層使用過(guò)去數(shù)據(jù), 在反向隱含層使用將來(lái)數(shù)據(jù), 這樣預(yù)測(cè)效果會(huì)更加精確. 最終實(shí)驗(yàn)證明, 該模型比其他模型的學(xué)習(xí)效果要好, 特別是面對(duì)數(shù)據(jù)量規(guī)模較大的多變量時(shí)間序列數(shù)據(jù)時(shí), 該模型的準(zhǔn)確性更高和收斂速度也更快. 海浪的準(zhǔn)確預(yù)測(cè)對(duì)沿海城市經(jīng)濟(jì)發(fā)展和海洋災(zāi)害防范具有重要意義, RF-BiLSTM 模型比其他預(yù)測(cè)模型的性能更好, 在海浪波高預(yù)測(cè)上有重要的戰(zhàn)略意義和運(yùn)用價(jià)值[17,18].
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)能挖掘并分析數(shù)據(jù)中的時(shí)序信息, 因此對(duì)具備序列性質(zhì)的數(shù)據(jù)作用甚好. 圖1 為循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖. RNN還具有時(shí)間反饋循環(huán)和存儲(chǔ)記憶數(shù)據(jù)的特點(diǎn), 而且在時(shí)序數(shù)據(jù)分析中有著很好的效果. 因?yàn)镽NN 能夠記錄每時(shí)刻的數(shù)據(jù)信息, 每時(shí)刻的輸入層和上一時(shí)刻的隱藏層共同決定該時(shí)刻的隱藏層, 所以RNN 對(duì)解決時(shí)間序列問(wèn)題有著超前的優(yōu)越性. 而且不同順序的輸入序列最后的結(jié)果也是完全不同的. 因此RNN 處理序列數(shù)據(jù)時(shí)效果又好又敏感.
圖1 循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
圖2 所示為RNN 的神經(jīng)單元結(jié)構(gòu), 由于RNN的神經(jīng)單元僅有這一個(gè)函數(shù), 因此在訓(xùn)練中會(huì)多次疊加函數(shù), 容易造成梯度消失和梯度爆炸的結(jié)果, 所以RNN 在跨度大的時(shí)間序列數(shù)據(jù)方面處理效果不是很理想.
圖2 RNN 單元結(jié)構(gòu)
LSTM 是RNN 的進(jìn)階版本, 比普通的RNN 高級(jí),RNN 因?yàn)闆](méi)有篩選的特點(diǎn), 所以全部信息它都記錄、保存下來(lái), 但是LSTM 能夠篩選存儲(chǔ)信息, 留下所需要的信息, 這就可以有效避免梯度消失問(wèn)題. LSTM 能夠篩選信息, 能夠選擇性的遺忘或保留輸入信息, 皆是因?yàn)樗哂羞z忘門、記憶門和輸出門這3 大門控系統(tǒng).
標(biāo)準(zhǔn)RNN 中, 重復(fù)神經(jīng)網(wǎng)絡(luò)模塊的處理層通常為單tanh 層, 較為簡(jiǎn)單, 與標(biāo)準(zhǔn)RNN 相比, LSTM 有著更加繁瑣的4 層架構(gòu)的重復(fù)模塊. LSTM 的核心思想就是記憶塊, 主要包含了1 個(gè)記憶單元和3 個(gè)門(遺忘門、輸入門、輸出門), 如圖3 所示.
圖3 LSTM 單元結(jié)構(gòu)
LSTM 的第1 步: 決定通過(guò)單元狀態(tài)篩選信息, 遺忘門通過(guò)Sigmoid 函數(shù)來(lái)控制這個(gè)決定, 依據(jù)上一時(shí)刻的輸出通過(guò)或部分通過(guò), 也可以理解為從之前所學(xué)習(xí)的很多東西中將沒(méi)用的東西就對(duì)它進(jìn)行選擇性過(guò)濾.其表達(dá)式如下:
第2 步: 生成需要更新的新信息. 這個(gè)過(guò)程分為兩個(gè)環(huán)節(jié), 一是哪些值用來(lái)更新由輸入門通過(guò)Sigmoid函數(shù)來(lái)決定的, 二是新的候選值通過(guò)tanh 函數(shù)生成, 兩者相加, 得到了新信息.
第3 步: 將前兩步聯(lián)合, 將需要的信息保留, 不需要的信息過(guò)濾, 新信息添加的過(guò)程. 第2 步、第3 步的公式如下:
第4 步: 決定模型的輸出, 首先初始輸出由Sigmoid函數(shù)得到, 其次利用tanh 函數(shù)將Ct值縮放到區(qū)間[?1,1]之間, 再和Sigmoid 函數(shù)得到的初試輸出逐對(duì)相乘,從而得到模型的輸出值, 其表達(dá)式如下:
以上公式中,ft,it,Ct,ot分別表示時(shí)刻t的遺忘門、輸入門, 單元狀態(tài)和輸出門,W[·],b[·],Cˉt,ht分別代表的是權(quán)重值, 偏置值, 單元狀態(tài)和最終輸出.
模型采用神經(jīng)網(wǎng)絡(luò)中常用函數(shù)的tanh 和Sigmoid函數(shù)作為 σ函數(shù), 其公式如下所示:
單向LSTM 能夠很好地處理和預(yù)測(cè)時(shí)間序列過(guò)長(zhǎng)數(shù)據(jù)的特點(diǎn), 然而它進(jìn)行預(yù)測(cè)只能利用以往的數(shù)據(jù)信息, 例如預(yù)測(cè)未來(lái)幾個(gè)小時(shí)甚至一天的海浪預(yù)報(bào)預(yù)測(cè)數(shù)據(jù)需要利用過(guò)去若干天的海浪預(yù)報(bào)預(yù)測(cè)數(shù)據(jù). 只利用了距離預(yù)測(cè)數(shù)據(jù)較近的若干個(gè)歷史數(shù)據(jù), 這就將較早的歷史數(shù)據(jù)信息遺忘了. 雙向LSTM 神經(jīng)網(wǎng)絡(luò)具有利用過(guò)去和未來(lái)的海浪預(yù)報(bào)預(yù)測(cè)數(shù)據(jù)來(lái)更好的模擬預(yù)測(cè)海浪數(shù)據(jù). BiLSTM 的基本思想是每一個(gè)訓(xùn)練的序列向前和向后分別是兩個(gè)長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò), 同時(shí)這兩個(gè)層均與輸入層、輸出層相連接. 過(guò)去(前向)和未來(lái)(反向) 相結(jié)合得到了輸出. 在海浪波高預(yù)測(cè)中,是利用過(guò)去和未來(lái)的風(fēng)速海浪預(yù)測(cè)數(shù)據(jù)實(shí)現(xiàn)對(duì)波高的預(yù)測(cè).
BiLSTM 的神經(jīng)元由輸入層、隱含層(前向、反向)、輸出層組成. 圖4 為BiLSTM 的結(jié)構(gòu)圖, 能夠觀察出前向隱含層和反向隱含層均與輸出層相連.
圖4 BiLSTM 神經(jīng)網(wǎng)絡(luò)示意圖
每個(gè)時(shí)刻向前隱含層的輸出由前向隱含層從1 時(shí)刻到t時(shí)刻正向計(jì)算一遍得到. 每個(gè)時(shí)刻向后隱含層的輸出由后向隱含層沿著時(shí)刻t到時(shí)刻1 反向計(jì)算一遍得到. 每個(gè)時(shí)刻的最終輸出是由前向隱含層和后向隱含層的相應(yīng)時(shí)刻輸出聯(lián)合得到的, 計(jì)算公式如下:
一般在神經(jīng)網(wǎng)絡(luò)模型中, 模型的參數(shù)與表達(dá)能力和存儲(chǔ)信息是成正比的. 所以當(dāng)大量的信息被模型存儲(chǔ)時(shí), 就會(huì)造成信息過(guò)載的問(wèn)題. 在大量的輸入數(shù)據(jù)中, 注意力機(jī)制能夠找到對(duì)當(dāng)下任務(wù)最重要的數(shù)據(jù)信息, 對(duì)其他數(shù)據(jù)的重要程度能夠降低, 甚至可以過(guò)濾一些無(wú)效信息, 這樣信息過(guò)載的困擾就可以解決, 也能提升任務(wù)處理的工作效率和準(zhǔn)確性. 它關(guān)注輸入數(shù)據(jù)中更關(guān)鍵的信息, 即可以更好地學(xué)習(xí)有用的信息去影響結(jié)果, 而且模型的計(jì)算和存儲(chǔ)也不會(huì)擴(kuò)大, 能夠提高效率. 注意力機(jī)制主要應(yīng)用在循環(huán)神經(jīng)網(wǎng)絡(luò)框架中的隱藏狀態(tài)矩陣Hi={h1,h2,h3,···,ht}生成過(guò)程中, 計(jì)算公式如下:
其中,hi是第i時(shí)刻的隱藏狀態(tài)信息,vt是注意力權(quán)重.
2.1.1 數(shù)據(jù)采集
本文選取北海觀測(cè)站點(diǎn)小麥島觀測(cè)站點(diǎn)的觀測(cè)數(shù)據(jù)集作為樣本數(shù)據(jù)集, 其中采集了從2017 年1 月1 日0 時(shí)到2018 年12 月31 日24 時(shí)的相關(guān)海洋觀測(cè)數(shù)據(jù).表1 為原始觀測(cè)數(shù)據(jù)中某時(shí)間段的數(shù)據(jù).
表1 部分原始海洋氣象數(shù)據(jù)表
表1 數(shù)據(jù)可以看出, 該海洋觀測(cè)站點(diǎn)的觀測(cè)數(shù)據(jù)是每小時(shí)記錄、更新一次, 該觀測(cè)數(shù)據(jù)要素包括采集數(shù)據(jù)的區(qū)站號(hào)(StationId)、年/月/日(YY/MM/DD)、時(shí)(Hour)、溫度(Tem)、海鹽(SSalt)、濕度(Hum)、海浪(WV)、風(fēng)速(Win_S)、風(fēng)向(Win_D)、模式風(fēng)速(MWin_S)、氣壓(AP)、降水量(PreH).
2.1.2 數(shù)據(jù)預(yù)處理
(1)數(shù)據(jù)清洗. 數(shù)據(jù)清洗的工作比較復(fù)雜, 數(shù)據(jù)清洗成功與否決定數(shù)據(jù)的質(zhì)量的好壞, 所以數(shù)據(jù)清洗是預(yù)測(cè)實(shí)驗(yàn)的重要保障. 首先需要處理的是原始數(shù)據(jù)中冗雜、無(wú)效的數(shù)據(jù), 如觀測(cè)站編號(hào)均是小麥島站點(diǎn)的編號(hào)01116, 因而去掉這一列對(duì)海浪預(yù)測(cè)實(shí)驗(yàn)無(wú)用的數(shù)據(jù); 第二就是查看數(shù)據(jù)表中是否有缺省值(null 或999)并加以處理, 本文中的缺省值通過(guò)fillna 函數(shù)進(jìn)行填充處理, 選擇各項(xiàng)數(shù)據(jù)的中位數(shù)將其代替; 最后將日期、時(shí)間兩項(xiàng)整合為一項(xiàng).
(2)數(shù)據(jù)歸一化. 本文的輸入數(shù)據(jù)為上表中的海洋氣象數(shù)據(jù), 由表1 可知每種氣象數(shù)據(jù)都有著對(duì)應(yīng)的數(shù)量級(jí)和數(shù)量級(jí)單位, 這種無(wú)序化的數(shù)量規(guī)則將對(duì)最終海浪的預(yù)測(cè)結(jié)果造成很大的誤差. 本文將對(duì)樣本數(shù)據(jù)進(jìn)行規(guī)范化操作, 即歸一化處理, 來(lái)消除這種不利因素.對(duì)此, 本文將樣本數(shù)據(jù)的取值限定在[0, 1]這個(gè)區(qū)間之內(nèi), 計(jì)算公式如下:
其中,Xmax為對(duì)應(yīng)影響因素?cái)?shù)據(jù)的最大值,Xmin為樣本數(shù)據(jù)中對(duì)應(yīng)影響因素?cái)?shù)據(jù)的最小值. 數(shù)據(jù)歸一化之后,處于同一數(shù)量級(jí)的輸入數(shù)據(jù)既能使預(yù)測(cè)模型的訓(xùn)練效率加快, 又能使輸出誤差降低.
(3)數(shù)據(jù)轉(zhuǎn)化. 因?yàn)樘幚砗玫幕A(chǔ)數(shù)據(jù)集中有輸入數(shù)據(jù)和輸出數(shù)據(jù), 所以將其看作成監(jiān)督學(xué)習(xí)問(wèn)題. 輸入數(shù)據(jù)是與海浪相關(guān)的各種影響因素在t時(shí)刻的觀測(cè)值,輸出是t+1時(shí)刻的海浪的波高. 詳細(xì)操作是將原始數(shù)據(jù)和整體向后推動(dòng)一格的數(shù)據(jù)進(jìn)行拼接.
針對(duì)海浪預(yù)測(cè)為例, 提出了RF-BiLSTM 海浪預(yù)測(cè)模型, 即基于隨機(jī)森林的注意力機(jī)制和雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)相結(jié)合的海浪預(yù)測(cè)模型. 首要工作是對(duì)海浪影響因素?cái)?shù)據(jù)歸一化處理, 也就是預(yù)處理不同的數(shù)量級(jí)和數(shù)量級(jí)單位的樣本數(shù)據(jù), 而后將其轉(zhuǎn)變?yōu)楸O(jiān)督學(xué)習(xí)數(shù)據(jù); 其次利用隨機(jī)森林進(jìn)行特征的重要性度量并篩選出與風(fēng)浪關(guān)聯(lián)程度較高的影響因素作為輸入數(shù)據(jù); 然后利用訓(xùn)練數(shù)據(jù)對(duì)帶有注意力機(jī)制的BiLSTM模型進(jìn)行訓(xùn)練, 最后利用測(cè)試數(shù)據(jù)對(duì)訓(xùn)練成功的注意力機(jī)制的BiLSTM 模型進(jìn)行測(cè)試.
2.2.1 隨機(jī)森林選擇特征
為了去掉一些冗余的數(shù)據(jù), 并保留對(duì)海浪預(yù)測(cè)相關(guān)性比價(jià)大的特征. 本文對(duì)樣本數(shù)據(jù)的特征通過(guò)隨機(jī)森林算法進(jìn)行重要性度量, 選擇出對(duì)海浪預(yù)測(cè)過(guò)程中相關(guān)性較高的影響因素, 以此來(lái)避免輸入變量過(guò)多帶來(lái)的數(shù)據(jù)冗余的問(wèn)題. 具體分為以下兩個(gè)步驟:
(1) 計(jì)算影響因素X的重要性.
1) 袋內(nèi)數(shù)據(jù)是由隨機(jī)有放回抽樣海浪數(shù)據(jù)構(gòu)成的, 袋外數(shù)據(jù)(OOB)是由未被抽取的樣本數(shù)據(jù)構(gòu)成的,測(cè)試集是袋外數(shù)據(jù)組成; 將抽取的樣本數(shù)據(jù)用來(lái)搭建隨機(jī)森林模型, 利用袋外數(shù)據(jù)對(duì)該模型的性能進(jìn)行評(píng)估, 從而計(jì)算袋外數(shù)據(jù)誤差, 記為errOOB1;
2) 隨機(jī)對(duì)袋外數(shù)據(jù)OOB 所有樣本的隨機(jī)改變某個(gè)影響因素X的值, 再次計(jì)算它的袋外數(shù)據(jù)誤差, 記為errOOB2;
3) 假設(shè)隨機(jī)森林中有N棵樹, 則影響因素X的重要性度量公式如下:
(2)按照上述操作能夠得到樣本數(shù)據(jù)中每個(gè)影響因素X的重要性度量值W, 然后從全部影響因素中根據(jù)對(duì)應(yīng)的規(guī)則篩選出重要性度量較高的因素. 這樣既可以篩選出與海浪關(guān)聯(lián)性較高的影響因素, 又可以減少模型中輸入變量過(guò)多的問(wèn)題, 最終達(dá)到使用較少的輸入變量就可以較好的預(yù)測(cè)海浪的結(jié)果. 其步驟如下:
1) 根據(jù)式(15) 計(jì)算每個(gè)影響因素X的重要性W,并按照降序順序進(jìn)行排序;
2) 根據(jù)特征重要性在當(dāng)前的影響因素中確定一個(gè)剔除的比例并剔除對(duì)應(yīng)部分, 留下的影響因素組成一個(gè)新特征集;
3) 利用新特征集重新搭建隨機(jī)森林模型, 計(jì)算其中各個(gè)影響因素的W, 然后再次排序;
4) 重復(fù)上述步驟, 直到剩下m個(gè)影響因素(m為提前設(shè)定的值);
5) 依據(jù)上述操作, 能夠得到所有特征集和特征集相應(yīng)的隨機(jī)森林模型的袋外誤差率. 因此, 決定神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)集是袋外誤差率最低的特征集.
圖5 為使用隨機(jī)森林在海浪預(yù)測(cè)過(guò)程中進(jìn)行特征重要性度量的結(jié)果. 由圖能夠看出, 在海浪預(yù)測(cè)的特征重要性度量過(guò)程中, 溫度、濕度、風(fēng)向、風(fēng)速、模式風(fēng)速這幾種因素對(duì)海浪的關(guān)聯(lián)性在所有的影響因素中相對(duì)而言更高, 所以輸入變量便由溫度、濕度、風(fēng)速、風(fēng)向、模式風(fēng)速組成, 同時(shí)樣本數(shù)據(jù)集由輸入變量的特征集組成.
圖5 隨機(jī)森林特征選擇結(jié)果
2.2.2 RF-BiLSTM 神經(jīng)網(wǎng)絡(luò)風(fēng)浪預(yù)測(cè)模型
神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型大多是訓(xùn)練若干歷史數(shù)據(jù), 從而建立輸入和輸出的關(guān)系, 訓(xùn)練成功后, 通過(guò)現(xiàn)有的輸入數(shù)據(jù)來(lái)預(yù)測(cè)未來(lái)數(shù)據(jù). 本文分析了歷史海洋環(huán)境和風(fēng)浪數(shù)據(jù), 發(fā)現(xiàn)風(fēng)速和海浪的波高大小有著最密切的關(guān)系, 因此建立風(fēng)速、海浪與海洋風(fēng)浪的相關(guān)數(shù)據(jù)建立聯(lián)系. 由于利用過(guò)去的風(fēng)速數(shù)據(jù)預(yù)測(cè)海浪會(huì)有一些局限性, 因此, RF-BiLSTM 模型是利用過(guò)去的風(fēng)速數(shù)據(jù)信息和未來(lái)的風(fēng)速數(shù)據(jù)信息進(jìn)行預(yù)測(cè)更加準(zhǔn)確的風(fēng)速數(shù)據(jù)進(jìn)而預(yù)測(cè)的海浪數(shù)據(jù)會(huì)更加精確.
基于隨機(jī)森林的BiLSTM 的風(fēng)浪預(yù)測(cè)模型結(jié)構(gòu)如圖6 所示. 首先處理海洋站觀測(cè)數(shù)據(jù), 提取風(fēng)速、海浪觀測(cè)值和其他觀測(cè)值; 其次, 對(duì)眾多特征使用隨機(jī)森林進(jìn)行特征度量并篩選, 并作為輸入數(shù)據(jù); 然后, 建立注意力機(jī)制和BiLSTM 相結(jié)合的預(yù)測(cè)模型, 將做好的特征數(shù)據(jù)集輸入預(yù)測(cè)模型進(jìn)行訓(xùn)練; 再根據(jù)設(shè)置的評(píng)估指標(biāo)選取最佳預(yù)測(cè)模型, 得到更精確的海浪波高預(yù)測(cè)值.
圖6 RF-BiLSTM 海浪結(jié)構(gòu)框圖
選擇的模型預(yù)測(cè)不同得到的結(jié)果也是不一樣的.如BiLSTM 神經(jīng)網(wǎng)絡(luò)、BP 神經(jīng)網(wǎng)絡(luò)、LSTM 神經(jīng)網(wǎng)絡(luò)、等. 因此, 對(duì)預(yù)測(cè)結(jié)果使用常用的兩種指標(biāo)進(jìn)行評(píng)估, 并對(duì)此進(jìn)行適用性分析.
(1)均方根誤差RMSE評(píng)價(jià)指標(biāo), 指標(biāo)數(shù)值越小,預(yù)測(cè)誤差越小, 預(yù)測(cè)效果越好.
(2)平均絕對(duì)百分比誤差MAPE評(píng)價(jià)指標(biāo), 指標(biāo)數(shù)值越小, 預(yù)測(cè)誤差越小, 預(yù)測(cè)效果越好.
為了驗(yàn)證本文提出的基于RF-BiLSTM 海浪預(yù)測(cè)模型的優(yōu)越性, 采用了小麥島2017–2018 兩年的海洋觀測(cè)數(shù)據(jù)作為訓(xùn)練樣本, 預(yù)測(cè)樣本為2019 年前半年的觀測(cè)數(shù)據(jù). 并分別用BP、LSTM 和BiLSTM 模型作為對(duì)比試驗(yàn).
圖7 顯示模型訓(xùn)練和模型測(cè)試過(guò)程中迭代50 次的損失函數(shù)變化曲線圖, 由圖可知, 當(dāng)損失函數(shù)迭代15 次時(shí), 損失函數(shù)基本收斂, 在迭代36 次以后, 損失值變動(dòng)幅度極小, 基本保持不變, 并且測(cè)試的損失函數(shù)比訓(xùn)練損失函數(shù)值還低, 說(shuō)明在測(cè)試集上該模型表現(xiàn)出了更好的效果, 展現(xiàn)出了較強(qiáng)的泛化能力.
圖7 RF-BiLSTM 模型損失函數(shù)曲線圖
由于數(shù)據(jù)量較大, 本文隨機(jī)在數(shù)據(jù)集中選取了連續(xù)數(shù)據(jù), 即連續(xù)5 天的數(shù)據(jù)作為訓(xùn)練和測(cè)試輸出的展示數(shù)據(jù), 得到圖8 和圖9 的擬合效果圖.
圖8 RF-BiLSTM 與BiLSTM 訓(xùn)練輸出對(duì)比圖
圖9 RF-BiLSTM 與BiLSTM 測(cè)試輸出對(duì)比圖
從圖8 和圖9 能夠看出, 用RF-BiLSTM 模型和BiLSTM 模型得到的海浪預(yù)測(cè)趨勢(shì)不僅在訓(xùn)練過(guò)程中而且在測(cè)試過(guò)程中都與實(shí)際海浪趨勢(shì)基本一樣, 說(shuō)明BiLSTM 模型比較適合海浪預(yù)測(cè). 但是相對(duì)于單純的BiLSTM 模型來(lái)講, 本文提出的基于RF-BiLSTM 的海浪預(yù)測(cè)模型得出的結(jié)果和實(shí)際數(shù)據(jù)值擬合的更好一點(diǎn),曲線與真實(shí)值對(duì)應(yīng)的曲線更貼合, 趨勢(shì)更一致.
為了驗(yàn)證海浪預(yù)測(cè)模型的預(yù)測(cè)精度, 表2 中列出測(cè)試過(guò)程中BiLSTM 和RF-BiLSTM 的RMSE、MAPE的值.
表2 RF-BiLSTM 與BiLSTM 模型誤差對(duì)比
由表2 可知: RF-BiLSTM 海浪預(yù)測(cè)模型的RMSE、MAPE值均小于BiLSTM, 說(shuō)明RF-BiLSTM 海浪預(yù)測(cè)模型預(yù)測(cè)精度更高, 海浪的預(yù)測(cè)值與實(shí)際海浪數(shù)據(jù)值之間具有更小的誤差.
綜上表明, 對(duì)于數(shù)據(jù)量規(guī)模大的多變量時(shí)間序列而言, 使用本文的RF-BiLSTM 模型, 擬合程度更好, 預(yù)測(cè)結(jié)果更精確.
為了進(jìn)一步的驗(yàn)證本文提出的RF-BiLSTM 海浪預(yù)測(cè)模型的優(yōu)越性. 于是將RF-BiLSTM 模型訓(xùn)練測(cè)試結(jié)果與LSTM、BP 模型預(yù)測(cè)的結(jié)果相比較, 選擇連續(xù)4 天的數(shù)據(jù)作為訓(xùn)練測(cè)試數(shù)據(jù)展示, 最終結(jié)果對(duì)比圖如圖10 和圖11 所示.
圖10 RF-BiLSTM 與其他模型訓(xùn)練輸出對(duì)比圖
圖10 和圖11 中顯示了RF-BiLSTM、BP、LSTM這3 種模型在訓(xùn)練和測(cè)試中海浪預(yù)測(cè)值和海浪真實(shí)值的對(duì)比結(jié)果. 從圖10 可以看出, 在訓(xùn)練過(guò)程中LSTM模型的預(yù)測(cè)值與真實(shí)值之間的擬合程度與RF-BiLSTM模型的擬合程度相差不大. 而在圖11 中可以看出, 是LSTM 模型在海浪波動(dòng)較大的時(shí)候擬合效果沒(méi)有那么好, 比如在第32 和第37 個(gè)數(shù)據(jù)點(diǎn)時(shí), 預(yù)測(cè)出得海浪值與海浪真實(shí)值之間偏離程度較大. 相反, RF-BiLSTM模型不管是在訓(xùn)練還是在測(cè)試過(guò)程中, 海浪的預(yù)測(cè)值和實(shí)際值之間的擬合效果都比較好, 比如在第24 個(gè)、第32 個(gè)和第44 個(gè)數(shù)據(jù)點(diǎn)時(shí), 海浪預(yù)測(cè)值和實(shí)際值簡(jiǎn)直完全重合. 因此, RF-BiLSTM 海浪預(yù)測(cè)模型與LSTM、BP 這兩種模型相比較, 海浪的預(yù)測(cè)值和實(shí)測(cè)值之間擬合效果更好, 尤其是在海浪波動(dòng)較大的地方,RF-BiLSTM 也能夠表現(xiàn)出較好的擬合效果.
圖11 RF-BiLSTM 與其他模型測(cè)試輸出對(duì)比圖
表3 顯示了RF-BiLSTM 與BP、LSTM 模型之間的測(cè)試誤差對(duì)比. 由圖可知, RF-BiLSTM 模型預(yù)測(cè)的誤差最小, 預(yù)測(cè)精度更高. 由此說(shuō)明本文提出的RFBiLSTM 模型能夠更好地描述海浪的非線性變化, 在海浪預(yù)測(cè)上有較好的發(fā)展和重要意義.
表3 不同預(yù)測(cè)模型測(cè)試誤差對(duì)比
本文搭建了RF-BiLSTM 模型, 即基于隨機(jī)森林的BiLSTM 海浪預(yù)測(cè)模型, 介紹了隨機(jī)森林、注意力機(jī)制、LSTM 和BiLSTM 的數(shù)學(xué)模型, 搭建基于隨機(jī)森林的注意力機(jī)制與雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)相結(jié)合的海浪預(yù)測(cè)模型, 以小麥島站點(diǎn)的海洋數(shù)據(jù)進(jìn)行預(yù)測(cè)分析. 實(shí)驗(yàn)研究顯示, RF-BiLSTM 模型與BP, LSTM 模型相比, 更加健壯, 預(yù)測(cè)準(zhǔn)確度高, 性能更加優(yōu)越, 能夠準(zhǔn)確有效地預(yù)測(cè)海浪, 并成功解決了傳統(tǒng)模型所存在的準(zhǔn)確度不高的問(wèn)題. 因此對(duì)于數(shù)據(jù)量規(guī)模較大的多變量的時(shí)間序列數(shù)據(jù)預(yù)測(cè)分析時(shí), 基于隨機(jī)森林的注意力機(jī)制與雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)相結(jié)合的預(yù)測(cè)模型具有實(shí)用性和優(yōu)越性, 并在海洋預(yù)測(cè)領(lǐng)域中有著廣大的運(yùn)用前景.