李練兵, 張燕亮, 吳偉強, 魏玉憧, 李佳根, 盧盛欣
(1.河北工業(yè)大學人工智能與數(shù)據(jù)科學學院, 天津 300130; 2.河北建投海上風電有限公司, 唐山 063000)
目前海浪預測[1]的方法主要分為3種:基于物理的數(shù)值方法,基于經(jīng)驗的統(tǒng)計方法和機器學習方法?;谖锢淼臄?shù)值方法是理論驅(qū)動的,利用求解海浪的控制方程進行預測,但是只對海域比較寬闊,環(huán)境比較平緩的海浪有較好的預測結(jié)果。迄今為止,最成熟的基于物理的波模型是第三代海浪波模型[2],但是依舊需要大量的計算時間,這也是日常使用中最大的限制?;诮?jīng)驗的統(tǒng)計方法在預測中使用的假設(shè)模型,根據(jù)從實際得到的與過程有關(guān)的數(shù)據(jù)進行數(shù)理統(tǒng)計分析,預測的效果一般。如自回歸模型和自回歸移動平均法。機器學習方法通過輸入和輸出的大量歷史數(shù)據(jù)描述了更全面的輸入輸出關(guān)系,例如,利用人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)[3]預測海浪數(shù)據(jù),ANN對于建立復雜非線性映射擬合函數(shù)的能力非常顯著。然而,上述神經(jīng)網(wǎng)絡(luò)自身存在的缺點是忽略了數(shù)據(jù)對時間的依賴性,使得預測模型對噪聲十分敏感,預測準確性下降[4]。(long short-term memory, LSTM)和(gated recurrent unit, GRU)都是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)的進階版本,LSTM[5]是對RNN的細胞結(jié)構(gòu)進行優(yōu)化,GRU則是將LSTM從內(nèi)部結(jié)構(gòu)上進行進一步的優(yōu)化。雙向門控循環(huán)單元(bidirectional gated recurrent unit,BiGRU)在GRU上增加了一個反向隱藏層,這樣正向隱藏層和反向隱藏層可以互相利用隱藏層中的數(shù)據(jù),預測結(jié)果會更加準確。該模型的預期效果在數(shù)據(jù)集較大的情況下具有更快的訓練速度、更高的準確性、更好的處理順序信息、更少的內(nèi)存消耗,提高海浪預測模型預測精度[6]。研究結(jié)果證明GRU的預測性能明顯高于LSTM和RNN,并解決了RNN存在的梯度爆炸性消失和長期記憶力不足等問題。
為了解決上述的各類問題,現(xiàn)提出一種結(jié)合隨機森林、鯨魚算法、變分模態(tài)分解的雙向門控循環(huán)單元的海上風電場海浪預測模型,選取河北樂亭菩提島風電場近一年來的海上數(shù)據(jù)作為預測模型的基礎(chǔ)數(shù)據(jù)。首先使用隨機森林篩選出與海浪波高相關(guān)性較強的環(huán)境特征數(shù)據(jù),應用WOA(whale optimization algorithm)-VMD(variational mode decomposition)模型進一步降低數(shù)據(jù)噪聲,提高模型的輸入質(zhì)量。最后將BiGRU與隨機森林的注意力機制相結(jié)合,結(jié)合后注意力機制將為BiGRU的隱藏層分配不同權(quán)重并加強關(guān)鍵信息的影響,搭建出RF-WOA-VMD-BiGRU-Attention海浪預測模型。
1.1.1 海況數(shù)據(jù)采集
采取樂亭菩提島風電場以觀測站的海況數(shù)據(jù)作為樣本數(shù)據(jù)集,樣本數(shù)據(jù)集中采集了2020年1月1日0時—2021年12月31日24時的相關(guān)海況數(shù)據(jù)。表1為一段時間內(nèi)的原始海況數(shù)據(jù)。
表1 海況數(shù)據(jù)表Table 1 Sea state data sheet
從表1的數(shù)據(jù)可以看出,該風電場的海況數(shù)據(jù)是間隔1 h進行記錄更新,海況數(shù)據(jù)的要素包括海溫(Sea_T)、浪高(WV_H)、風速(Win_S)、海流流速(SS)、能見度(VS)、體感溫度(Som_T)、云量(CC)、天文潮(Ast_T)、水位(Wat_L)、年/月/日(YY/MM/DD)、時(Hour)、經(jīng)緯度(LaL)、點位(Point)。
1.1.2 海況數(shù)據(jù)預處理
(1)數(shù)據(jù)清理。首先要對海況數(shù)據(jù)中重復、缺失的數(shù)據(jù)進行處理。使用線性插值技術(shù),線性插值使用數(shù)據(jù)集中最后一個和第一個可用的平均值插補缺失值。公式為
(1)
式(1)中:f(x)為在位置x的估計值;f(x1)和f(x0)為已知數(shù)據(jù)點的對應值;x1和x0為已知數(shù)據(jù)點的位置。
(2)數(shù)據(jù)規(guī)約。數(shù)據(jù)歸約則是通過降維刪除不需要的屬性來減少數(shù)據(jù)量,最大限度地減少數(shù)據(jù)丟失。其次,在盡可能保證數(shù)據(jù)信息完整性的同時,可以將已有數(shù)據(jù)降維到更低的維度,在實踐中可以提高建模的效率[7]。
(3)數(shù)據(jù)變換。不同特征的數(shù)據(jù)維度可能不一致,如果對數(shù)據(jù)進行歸一化,則數(shù)據(jù)值之間的差異可能非常大,如果不對數(shù)據(jù)進行處理,可能會影響數(shù)據(jù)分析的結(jié)果。因此,需要將數(shù)據(jù)按照一定的比例放縮,使其停留在特定區(qū)域進行綜合分析。本文中采用最大-最小規(guī)范化方法將數(shù)據(jù)映射到[0 1]區(qū)間[8]。即
(2)
式(2)中:xnew為規(guī)范后的數(shù)據(jù);x為原始數(shù)據(jù);xmin和xmax分別為要將數(shù)據(jù)映射到的規(guī)范化范圍的最小值和最大值。
通過隨機森林算法對冗余的數(shù)據(jù)進行剔除,只留下與海浪預測關(guān)聯(lián)性大的特征,來避免因輸入量過于繁雜帶來的數(shù)據(jù)冗余問題[9]。圖1所示為隨機森林算法示意圖。
圖1 隨機森林算法示意圖Fig.1 Schematic diagram of the random forest algorithm
(3)
式(3)中:當0<σ<1時呈現(xiàn)正相關(guān),-1<σ<0時呈現(xiàn)負相關(guān)。當σ的值無限接近1時,表明A和B之間呈現(xiàn)更高的相關(guān)性。
向量A和B分別表示各個數(shù)據(jù)集的向量值,任意一個數(shù)據(jù)集與另一個數(shù)據(jù)集之間的相關(guān)系數(shù)均由此計算。
圖2所示為本研究中使用的數(shù)據(jù)集的特征相關(guān)熱圖,這些數(shù)據(jù)集以浪高作為分析目標。從圖2可知,浪高與風速、海流流速、云量、天文潮和水位呈現(xiàn)正相關(guān),因此當風速、海流流速、云量、天文潮以及水位較大(高)時,海平面會發(fā)生變化,海浪高度會隨之變的更高且更加不穩(wěn)定。浪高與海溫、能見度和體感溫度呈現(xiàn)負相關(guān),考慮到當整體溫度較高時且能見度較高時,天氣相對比較晴朗,海平面更加穩(wěn)定,海浪會變得更小、更加平穩(wěn)[10]。
接下來進行特征重要性評估,在冗余的特征中選擇出對預測結(jié)果影響最大的那幾個特征,以此來縮減模型建立時的特征數(shù)。
(2)第i棵樹節(jié)點q的Gini指數(shù)計算公式為
(4)
式(4)中:pqc、pqc′為節(jié)點q中類別c、c′所占的比例。
節(jié)點q前后的Gini指數(shù)變化值為
(5)
假設(shè)特征XJ在決策樹i中出現(xiàn)的節(jié)點為集合Q,那么XJ在第i棵樹的重要性為
(6)
假設(shè)RF中共有I棵樹,那么
(7)
最后,將重要性評分進行歸一化處理,得到特征重要性評估結(jié)果,公式為
(8)
如圖3可以看出,在海浪預測變量重要性度量[12]過程中,風速與海浪的關(guān)聯(lián)最緊密。
圖3 隨機森林特征選擇結(jié)果Fig.3 Random forest feature selection results
1.3.1 變分模態(tài)分解(VMD)
VMD是一種非遞歸和自適應分解模型,用于處理非平穩(wěn)信號的自適應分解[13]。該模型采用wiener濾波對相關(guān)參數(shù)進行初始化,得到K估計的中心角頻率wk,然后使用交替乘法更新每個模態(tài)函數(shù)及其中心頻率,并將每個模態(tài)解調(diào)到相關(guān)的頻段,以最小化總估計帶寬。公式為
(9)
式(9)中:δ(t)為單位沖激函數(shù);{uk}={u1,u2,…,uK}和{ωk}={ω1,ω2,…,ωK}為K從固有模態(tài)函數(shù)(IMF)分解中獲得的分量和中心頻率。式(9)通過使用改進拉格朗日算子λ(t)和二次懲罰因子得到,即
L({uk},{ωk},λ)=
(10)
尋找變量受限的最優(yōu)解,uk和ωk更新后得到
(11)
(12)
VMD模型的步驟如下:
(2)根據(jù)式(11)和式(12)更新uk、wk。
1.3.2 鯨魚算法(WOA)
WOA作為一種新穎的智能算法,其核心是模擬座頭鯨的狩獵行為。在WOA算法中,螺旋用于實現(xiàn)局部搜索,隨機學習策略用于全局搜索。具體步驟如下。
(1)圍捕獵物。座頭鯨可以識別位置并包圍獵物,在此算法中,離目標最近的單個鯨魚的位置被設(shè)置為最佳位置。確定最佳位置后,其他鯨魚會接近該位置。包圍獵物的公式為
W(t+1)=W*(t)-AD
(13)
D=∣CW*(t)-W(t)∣
(14)
A=2ar1-a
(15)
C=2r2
(16)
(17)
式中:t為當前迭代;W*(t)為當前最佳位置向量;A、C為系數(shù);r1和r2為0~1的隨機數(shù);a為一個0~2線性變化的量;Tmax為最大迭代次數(shù)。
(2)搜尋行為。座頭鯨沿著螺旋路徑走向獵物,模擬座頭鯨狩獵行為的數(shù)學模型為
W(t+1)=W*(t)+Dpeblcos(2πl(wèi))
(18)
式(18)中:Dp=∣W*(t)-W(t)∣表示獵物到座頭鯨的有向距離;b作為參數(shù)常量控制螺旋的形狀;l為[-1,1]范圍內(nèi)的隨機數(shù)。
此外,當座頭鯨圍繞獵物盤旋時,包圍逐漸縮小。為了模擬這種行為,假設(shè)座頭鯨選擇了一個收縮的包絡(luò)和螺旋模型,并有50%的概率更新它們的位置,因此開發(fā)了數(shù)學模型,即
(19)
式(19)中:p為[0,1]范圍內(nèi)的隨機數(shù)。
(3)尋找獵物。座頭鯨在尋找獵物時根據(jù)它們彼此之間的位置隨機游動,這可以用以下數(shù)學模型表示,即
D=∣CWrand(t)-W(t)∣
(20)
W(t+1)=Wrand(t)-AD
(21)
式中:Wrand表示隨機選擇的鯨魚位置,當|A|>1,鯨魚被迫遠離獵物,同時用隨機生成的Wrand來尋找更合適的獵物。
1.3.3 基于WOA的VMD參數(shù)優(yōu)化
使用WOA優(yōu)化VMD參數(shù)的過程如圖4所示[14]。首先初始化座頭鯨的種群位置向量[K,α],以包絡(luò)熵為適應度函數(shù)計算每頭座頭鯨的適應度,然后通過判斷收斂因子的大小,選擇迭代公式來更新迭代公式,得知滿足終止條件,輸出最優(yōu)VMD參數(shù)。
圖4 基于WOA優(yōu)化VMD參數(shù)流程圖Fig.4 Flowchart of optimizing VMD parameters based on WOA
1.4.1 雙向門控循環(huán)單元(BiGRU)
圖5為GRU的單元結(jié)構(gòu),其計算工作原理可表示為
圖5 GRU單元結(jié)構(gòu)Fig.5 Structure of the GRU unit
zt=σ(Wz[ht-1,xt])
(22)
rt=σ(Wr[ht-1,xt])
(23)
(24)
(25)
雙向GRU由兩個GRU組成:一個是正向的GRU模型,接受正向的輸入;另一個是反向的GRU模型,學習反向的輸入。BiGRU可以提高模型在后續(xù)預測問題中的性能,在任意時刻, 兩個GRU的狀態(tài)共同決定BiGRU的輸出。BiGRU的具體結(jié)構(gòu)如圖6所示。
圖6 雙向GRU結(jié)構(gòu)模型Fig.6 Bidirectional GRU structure model
(26)
(27)
(28)
式中:wt、vt分別為正向權(quán)重參數(shù)和反向權(quán)重參數(shù),bt為偏置參數(shù)。
1.4.2 注意力機制
在神經(jīng)網(wǎng)絡(luò)模型中,當輸入大量的參數(shù)信息時會造成參數(shù)過載問題。而注意力機制恰好可以在復雜繁多的參數(shù)信息內(nèi)找到最重要的信息,而對其他非重要的信息的注意力會下降,甚至可以有效地過濾掉一些無用信息,提高工作效率的同時保證了準確性。注意力機制主要應用在循環(huán)神經(jīng)網(wǎng)絡(luò)框架中隱藏狀態(tài)矩陣Xi={X1,X2,…,XN}的生成過程中,計算表達式為
αi=p(z=i∣X,q)
=softmax[s(xi,q)]
(29)
(30)
式中:Xi為第i時刻的隱藏狀態(tài)信息;att(X,q)是注意力權(quán)重。
為了比較不同模型的預測精度,采用均方根誤差(root mean square error,RMSE)和平均絕對百分比誤差(mean absolute percentage error, MAPE)兩個評價指標對比RF-BiGRU、RF-BiGRU-Attention、RF-VMD-BiGRU-Attention、RF-WOA-VMD-BiGRU-Attention,通過分析結(jié)果判斷RF-WOA-VMD-BiGRU-Attention模型預測準確。
(1)均方根誤差RMSE數(shù)值越小代表預測誤差越小,預測結(jié)果更加準確。計算公式為
(31)
(2)平均絕對百分比誤差MAPE數(shù)值越小代表預測誤差越小,預測結(jié)果更加準確。計算公式為
(32)
BiGRU網(wǎng)絡(luò)可以有效地學習和訓練波動的時間數(shù)據(jù)序列,從而提取時間特征。注意力機制的引入為特征分配了不同的權(quán)重,放大了重要信息的影響,提高模型效率。因此,該文提出一種引入注意力機制的BiGRU海浪高度預測模型。通過組合多種結(jié)構(gòu),學習原始數(shù)據(jù)的特性,獲得更準確的預測結(jié)果。圖7顯示了有5個主要部分組成的模型結(jié)構(gòu):輸入層、特征過濾層、特征分解、BiGRU層、注意力層和輸出層。分解模塊的結(jié)果作為下一層的輸入,從所提出的特征中學習序列的時間變化模式,以實現(xiàn)預測功能。最后,通過輸出層得到預測結(jié)果。
圖7 基于RF-WOA-VMD-BiGRU-Attention的海浪預測模型框架Fig.7 Wave prediction model framework based on RF-WOA-VMD-BiGRU-Attention
為了驗證基于RF-BiGRU海浪預測模型的卓越性,采用樂亭菩提島風電場2020—2021兩年的海況數(shù)據(jù)作為訓練樣本,預測樣本為2022年上半年的觀測數(shù)據(jù),并用RF-BiGRU、RF-BiGRU-Attention、RF-VMD-BiGRU-Attention、RF-WOA-VMD-BiGRU-Attention模型作為對比試驗。
為了進一步提高數(shù)據(jù)質(zhì)量并消除噪聲的影響,采用WOA-VMD對海浪序列進行分解。首先,鯨魚的數(shù)量設(shè)置為10,最大迭代次數(shù)為50,變量數(shù)量為2,懲罰因子為[100, 2 000],K取值范圍為[3,7]且僅包含整數(shù)。然后使用WOA優(yōu)化VMD參數(shù)。
如圖8所示為預測模型訓練和測試迭代50次的損失函數(shù)曲線,當?shù)螖?shù)達到8次時,損失函數(shù)趨于收斂,且損失值基本不再變化。圖9為懲罰因子優(yōu)化曲線,經(jīng)過8次迭代進化后,得到的最優(yōu)懲罰參數(shù)為100。從圖10可以看出迭代后,本征模函數(shù)(intrinsic mode function,IMF)最佳數(shù)值為7?;谏鲜龃_定好的參數(shù),對原始信號進行分解,得到的基于WOA-VMD的模態(tài)分解圖如圖11所示。
圖8 損失函數(shù)曲線圖Fig.8 Loss function graph
圖9 懲罰因子優(yōu)化曲線圖Fig.9 Penalty factor optimization curve
圖10 模態(tài)分解曲線圖Fig.10 Modal decomposition curve
圖11 基于WOA-VMD模態(tài)分解圖Fig.11 Based on the WOA-VMD modal exploded view
由于文本海況數(shù)據(jù)量級過大,從數(shù)據(jù)集中隨機選取連續(xù)5 d的數(shù)據(jù)進行預測,得到預測效果如圖12所示。可以看出本文提出的RF-WOA-VMD-BiGRU-Attention模型具有良好的預測精度,在面對波動較大的海況數(shù)據(jù)時保持了良好的魯棒性。本文提出的模型RMSE為0.555 7,MAPE為3.85%。
圖12 RF-WOA-VMD-BiGRU-Attention模型預測效果圖Fig.12 RF-WOA-VMD-BiGRU-Attention model prediction effect
為了評估所提出模型的優(yōu)化效果,構(gòu)建了另外3個模型來分別驗證添加WOA、VMD和注意力機制的效果。如圖13所示為多模型預測效果對比圖。
為了精確地對比出不同預測模型的預測精度,表2為測試過程中RF-WOA-VMD-BiGRU-Attention、RF-VMD-BiGRU-Attention、RF-BiGRU-Attention、RF-BiGRU的RMSE、MAPE數(shù)值,通過對比RMSE和MAPE的值可以得出RF-WOA-VMD-BiGRU-Attention預測模型的預測精度更高。
表2 各模型誤差對比Table 2 Comparison of error between models
本文搭建了RF-WOA-VMD-BiGRU-Attention模型,基于隨機森林對輸入特征進行篩選,利用WOA-VMD對模型的數(shù)據(jù)噪聲進行分解,最后利用注意力機制進一步優(yōu)化BiGRU來達到精準預測。以樂亭菩提島風電場的海況數(shù)據(jù)為基礎(chǔ)進行預測分析,實驗結(jié)果表明,VMD可以有效地降低噪聲,提高模型預測能力。VMD分解后RMSE和MAPE指數(shù)分別下降了43.90%和54.20%。采用WOA-VMD算法,得到VMD的最優(yōu)關(guān)鍵參數(shù),提高VMD的分解效果,應用WOA-VMD分解策略,RMSE和MAPE指數(shù)分別下降了78.52%和85.70%。注意力機制可以有效地聚集關(guān)鍵信息,消除冗余信息,引用注意力機制后,RMSE和MAPE指數(shù)分別下降了21.08%和10.65%。RF-WOA-VMD-BiGRU-Attention模型與其他模型相比,有效地降低了數(shù)據(jù)噪聲的干擾,對于處理規(guī)模龐大的數(shù)據(jù)來說訓練速度更快、結(jié)構(gòu)更簡單、處理長短序列性能更優(yōu)越、內(nèi)存消耗更少,能夠更加準確地預測海浪高度??傮w來說,本文提出了性能優(yōu)良、泛化能力強的預測模型,但是海浪預測領(lǐng)域還是存在很多問題需要進一步研究。例如,沒有考慮到風機尾流效應的影響,由于各個風電場的地理位置不同,導致海況數(shù)據(jù)的準確性也不同,預測結(jié)果也會有所不同,這也是將來我們進一步的研究方向。