?

基于數據平穩化和BiLSTM的短期風電功率預測方法

2023-12-29 12:23唐賢倫張家瑞郭祥麟
關鍵詞:電功率分量模態

唐賢倫,張家瑞,郭祥麟,鄒 密

(重慶郵電大學 自動化學院,重慶 400065)

0 引 言

風能作為一種成本低、發電過程無污染的清潔可再生能源,逐漸成為能源與環境可持續發展的主力軍。然而,風電具有的隨機性和不可控性會直接影響風電場甚至整個電力系統的安全性和穩定性。因此,提高風電功率預測的準確性對提高電力系統運行的安全性、經濟性和穩定性具有重要意義。

常見風電功率預測的方法可以分為物理方法、統計方法和人工智能的方法[1]。近年來,基于人工智能技術的飛速發展以及其強大的并行處理非線性序列的能力,研究人員已將人工智能廣泛應用于風電功率預測研究中。文獻[2]提出一種基于新型隱馬爾可夫模型的風速校正方法,通過引入模糊C均值聚類對隱馬爾可夫模型的隱狀態空間進行合理劃分,并通過核密度估計將隱馬爾可夫的發射頻率轉變為連續的,通過風速修正,從確定性預測和概率預測2個方面提高了風電功率預測的精度。文獻[3]通過改變預測時刻前時間段的數量來對人工神經網絡(artificial neural network,ANN)模型在效率和穩定性方面進行改進,并在預測時改變輸入層參數的選擇,改善了模型性能,降低了預測誤差。文獻[4]提出了一種基于長短期記憶網絡( long short term memory,LSTM)的區間預測模型,并引入競爭學習機制,對LSTM參數進行優化,提高了預測精度。

以上預測方法主要通過改進和優化預測模型來提高預測精度,忽略了風電功率數據序列本身存在的非平穩性和非線性的問題。對此,有研究人員提出利用小波變換(wavelet transform,WT)、經驗模態分解(empirical mode decomposition,EMD)、變分模態分解(variational mode decomposition,VMD)等分解算法將原始風電功率數據序列分解成子序列后再進行預測,以此實現對原始序列的平穩化處理,提高預測精度。文獻[5]采用VMD與集合經驗模態分解(ensemble empirical mode decomposition,EEMD)相結合的二次分解方法依次對原始時間序列進行分解,從而最大程度保留數據中的有用信息,并通過在LSTM模型中融合因子分解機,整體上提高了預測精度。文獻[6]利用改進的小波變換將原始信號分解為子信號,并基于最大相關性等特征選擇方法來選擇最佳輸入,而后通過基于粒子群優化后的二維卷積神經網絡對數據集進行訓練和預測,并在短期預測范圍內分析驗證了其方法的高性能和優勢。文獻[7]提出一種利用離散小波變換(discrete wavelet transformation,DWT)、季節性自回歸綜合移動平均(seasonal autoregressive integrated moving average model,SARIMA)和LSTM的混合模型完成了對海上風電功率數據的預測。文獻[8]通過EEMD將數據分解為本征模態分量(intrinsic mode function,IMF),再經過由遺傳算法(genetic algorithm,GA)方法優化后的卷積雙向長短期記憶網絡(convolutional neural network-bidirectional long short term memory,CNN-BiLSTM)對各IMF進行訓練及預測,最后對各IMF的預測結果進行重構,得到最終預測值。為了使VMD能產生合適數量的IMF分量,文獻[9]提出一種基于元啟發式種群的正弦余弦集成水循環算法(sine cosine integrated water cycle algorithm,SCWCA)對VMD的參數(α,K)進行優化,并通過混合核(mixed kernel ELM,MKELM)自動編碼器進行短期多步風電功率預測。

然而,以上分解后再預測的方法大多是將分解后的子序列直接進行預測,忽略了輸入變量序列對時間序列預測模型的影響。本文充分考慮上述預測方法的優缺點,針對原始數據序列曲線的非平穩性和非線性,合理有效地選取輸入變量序列,提出了一種基于結合自適應噪聲完備集合經驗模態分解(complete ensemble empirical mode decomposition with adaptive noise,CEEMDAN)、偏自相關函數(partial autocorrelation function,PACF)和雙向長短期記憶網絡(bidirectional long short term memory,BiLSTM)的組合短期風電功率預測模型。

1 基于CEEMDAN和BiLSTM的短期風電功率預測方法和流程

在風電功率預測過程中,由于風能本身具有的隨機性、波動性、不可控性以及會對風電場發電機組產生影響的環境因素,比如溫度、濕度、風向等,使得功率數據曲線表現出強烈的波動性和隨機性,增加了風電功率預測的難度。在現有的風電功率預測研究中,大多數是直接將其放進預測模型中進行訓練和預測[10-12],很少針對原始功率數據曲線和相關時間序列信息進行分析和處理。因此,為了提高短期風電功率預測的精確度,以及改善因為存在大量峰值而致的原始功率數據曲線圖的不平穩性,本文提出了一種CEEMDAN結合BiLSTM網絡的組合預測模型,其結構如圖1所示。

圖1 本文所提預測方法的結構Fig.1 Structure of the prediction method proposed in this paper

1.1 CEEMDAN分解算法

CEEMDAN通過加入經EMD分解后含輔助噪聲的IMF分量以及對EMD分解后的第1階IMF分量進行集合平均計算,解決了EMD算法存在模態混疊以及EEMD算法分解后會殘留一定的白噪聲等問題。本文使用CEEMDAN對信號進行分解及平穩化處理[13],具體分解步驟如下。

1)將高斯白噪聲δj(t)加入到原始信號x(t),得到新信號s(t),即

s(t)=x(t)+δj(t)

(1)

(1)式中,j=1,2,…,N表示加入白噪聲的次數。

2)對已添加噪聲信號的s(t)進行EMD分解,得到第1階本征模態分量imf1,表示為

(2)

(2)式中:Ei表示EMD分解得到的第i個模態分量,j=1,2,…,n表示EMD分解得到模態分量的個數,r1為EMD分解得到的殘差分量。

(3)

去除第1個模態分量后得到余量R1(t)為

(4)

(5)

去除第2個模態分量后得到余量R2(t)為

(6)

5)重復上述步驟,直到獲得的余量為單調函數,不能再繼續分解。最終原始信號x(t)被分解為

(7)

(7)式中:k=1,2,…,K表示得到的本征模態分量的數量;R(t)表示最終剩余的殘差信號。

1.2 BiLSTM網絡

通過在隱藏層中加入遺忘門、輸入門和輸出門的門結構,LSTM實現了對歷史信息合理的保留和遺忘,從而解決了RNN不能有效記憶時間跨度較長的信息以及在處理長序列訓練過程中產生的梯度爆炸和梯度消失等問題[14]。LSTM隱藏層內部結構如圖2所示。

圖2 LSTM結構圖Fig.2 LSTM structure diagram

圖2中,xt表示輸入數據,ht和ct分別表示輸出數據和LSTM特有的細胞狀態。LSTM內部結構的核心處理單元遺忘門、輸入門、輸出門分別由ft、it和ot表示,其中涉及的公式如下。

ft=σ(Wf·[ht-1,xt]+bf)

(8)

it=σ(Wi·[ht-1,xt]+bi)

(9)

(10)

(11)

ot=σ(Wo·[ht-1,xt]+bo)

(12)

ht=ot*tanh(ct)

(13)

BiLSTM由2層方向相反的LSTM層疊加而成,因此,輸入會同時提供給前向層和反向層的LSTM,輸出即由這2個LSTM層共同決定[15]。其結構如圖3所示。

圖3 BiLSTM結構圖Fig.3 BiLSTM structure diagram

圖3中,x為模型輸入,y為輸出,中間2層方向相反的LSTM網絡組成隱藏層,h表示隱藏層狀態。

(14)

(15)

(16)

1.3 基于CEEMDAN和BiLSTM的功率預測流程

本文采用CEEMDAN分解算法對功率時序信號進行平穩化處理,將功率序列分解成若干個更為平穩的模態分量。在預測模型方面,采取可以同時處理正反2個時間流向的BiLSTM模型,有利于更好地發掘數據的時序特征,提升短期風電功率預測的精確度。圖4為本文提出的短期風電功率預測方法流程圖。

圖4 本文預測方法流程圖Fig.4 Flow chart of the prediction method in this paper

本文方法具體實現步驟如下。

1)對原始數據集進行預處理。采集設備故障、通信故障以及人為誤操作等不可預料的因素,可能會導致保存的歷史功率數據出現突變和缺失等問題。本文采用橫向法來填補、刪除或修正歷史數據集中出現的不良數據。

2)使用CEEMDAN分解算法將預處理后的功率數據集進行分解得到多個本征模態函數分量和一個殘差分量。

3)利用樣本熵(sample entropy,SE)計算每個分量的SE值,并將SE值相近的分量歸為一類,得到新的重構分量,從而減少需要訓練和預測的分量數量,提高預測效率。

4)采用偏自相關函數PACF計算相關程度,確定每個重構分量序列的輸入變量,減少人為設置預測模型輸入變量的主觀性,提高預測精度。

5)對每個重構分量采用min-max方法進行歸一化處理,從而消除數據量綱,加速訓練網絡的收斂。用xnorm表示歸一化后的值,其計算公式為

(17)

(17)式中,xmax和xmin分別表示功率數據序列中功率的最大值和最小值。

6)根據由PACF確定的輸入變量,建立BiLS-TM預測模型。利用訓練集樣本對模型進行訓練,模型中隱藏層狀態的維度為64,輸入形狀參數為(l,m),其中l為輸入變量長度,m為功率數據和天氣數據總數。網絡訓練采用Adam優化算法,對權重進行更新,得到預測模型。以輸入變量長度作為滑動窗口長度,采用單步滾動預測方法輸出各個重構分量的預測值,并對預測值進行反歸一化處理,得到預測的功率值。以均方誤差(MSE)值VMSE作為損失函數,表示為

(18)

7)通過疊加各分量的功率預測值得到最終功率預測值,并對其進行綜合評價。

2 案例分析

2.1 數據集

本文通過2個不同數據集的實驗來分析驗證所提預測方法的有效性和優越性。案例1數據集來源于重慶某風電場2012年的全年歷史功率數據,數據采樣間隔為5 min。同時,數據集還包括每個采集點對應時刻的100 m高度處的自然風向、100 m高度處的自然風速、2 m處的空氣溫度、地表大氣壓強、輪轂高度處大氣密度5種氣象特征。案例2數據集來源于數據科學競賽平臺Kaggle,該數據采集于土耳其某地工作的風力渦輪機,數據包括2018年全年的輸出功率,以及對應時刻的風速和風向數據,采樣間隔為10 min。

短期風電功率預測的任務和需求是通過預測得到未來1~3天的風電功率,用于規劃和調整風電場每天的發電和調度任務[17]。本文實驗選取每小時功率峰值以及對應時刻的氣象數據值作為被測數據集,目的是預測出未來一天中每小時的功率峰值,共24個數據點。本文實驗將數據集按8∶1∶1的比例分布形成訓練集,驗證集和測試集,分別用于構建及訓練預測模型、確定模型參數以及輸出預測結果并評估模型的預測性能。

2.2 評價指標

為了評估衡量模型的預測能力,本文選用均方根誤差(root mean square error,RMSE)VRMSE和平均絕對百分比誤差(mean absolute percentage error,MAPE)VMAPE作為所提出模型的評價指標,其計算公式為

(19)

(20)

2.3 案例1

2.3.1 CEEMDAN分解及重構

選取原始功率數據集前1 000個采樣點數據繪制曲線如圖5所示。由于風能自身存在的突變性和隨機性,數據集存在大量功率峰值和谷點,導致數據集曲線呈現出強烈的非平穩非線性特點。因此,對選取的數據集進行數據清洗處理后,利用CEEMDAN分解算法對原始功率數據序列進行分解,獲得分解結果如圖6所示。

圖5 部分原始功率數據Fig.5 Partial raw power data

圖6中,CEEMDAN分解結果包括9個本征模態分量(IMF)和1個殘差分量(Res)。為了減少實驗重復步驟,提高預測效率,本文將利用樣本熵對各個分量序列進行復雜度評估,并將樣本熵值相近的分量重構為一組。各分量樣本熵計算結果如圖7所示。根據圖7顯示的各分量樣本熵值,將分量IMF1、IMF2、IMF3合并重構為新的分量RIMF1;IMF4、IMF5、IMF6重構為RIMF2;IMF7、IMF8、IMF9、Res重構為RIMF3。

2.3.2 確定輸入變量

對于依賴歷史數據的時間序列預測,輸入變量的選取能直接影響預測結果的準確性。目前的時間序列預測研究大多根據實驗數據的現實意義及其體現出的周期性來確定預測模型的輸入變量,比如電力負荷預測[18-21]等研究。然而對于具有強隨機性和波動性的風電功率數據,通常只能依據研究人員的歷史經驗、相關參考文獻以及大量對比實驗等方法來確定輸入變量[22-24]。為了準確且快速地確定預測模型的輸入變量,本文將利用PACF測量當前序列值和過去序列值之間的相關性,并指示預測將來值時最有用的過去序列值,即確定每個預測模型的最優輸入變量序列。

圖6 CEEMDAN分解結果Fig.6 CEEMDAN decomposition results

圖7 各分量的樣本熵值Fig.7 Sample entropy value of each component

分別計算原始風電功率數據序列和各重構分量序列的偏自相關函數,結果如圖8所示。根據偏自相關函數定義以及計算得到的滯后階數圖,若在第n個滯后階數后驟降到相關性置信區間內,則該序列可以做n階滯后自回歸,即可將xt-1,xt-2,…,xt-n作為輸入變量序列。案例1輸入變量的選取如表1所示。

圖8 不同分量偏自相關函數圖Fig.8 Partial autocorrelation function diagram of different components

表1 各分量輸入變量選擇結果

在預測模型訓練過程中,本文選用單步滾動預測的方法,即以確定的輸入變量個數作為滑動窗口的長度,訓練過程中將重構分量用滑動窗口切片后作為輸入,輸出得到下一時刻的功率預測值后,輸入的滑動窗口繼續向后滑動一步以得到再下一時刻的功率預測值,其中輸出得到的功率預測值將作為下一時刻的輸入窗口中最后一位輸入變量,對應時刻的真實功率值將作為標簽,以采用有監督的學習方式進行訓練。

對原始功率數據集在經典時間序列預測模型LSTM上進行不同滑動窗口長度的對比實驗,實驗結果如表2所示,誤差對比如圖9所示。

表2 不同滑動窗口長度在LSTM中的實驗結果Tab.2 Experimental results of different sliding window lengths in LSTM

圖9 不同滑動窗口長度在LSTM中的誤差對比Fig.9 Error contrast of different sliding window lengths in LSTM

由表2和圖9可以看出,以偏自相關函數計算得到的滯后階數確定的輸入變量在預測模型中表現最佳,具有最低的預測誤差,其評價指標VRMSE和VMAPE值分別為0.839 86和4.45%。證明了利用偏自相關函數確定預測模型輸入變量能有效提高預測精度的結論。

2.3.3 預測結果及分析

為了驗證所提預測方法的有效性及優越性,本文分別選取了支持向量回歸(SVR)、長短期記憶網絡(LSTM)、雙向長短期記憶網絡(BiLSTM)和3種單一預測模型以及EMD+BiLSTM和CEE-MDAN+LSTM這2種組合預測模型進行對比分析。各模型在測試集上的實驗誤差結果如表3所示。

從表3可以看出,相比于循環神經網絡模型LSTM和BiLSTM,SVR模型的預測能力較差,其VRMSE和VMAPE值分別為1.442 13和20.55%,均高于其他模型。這是因為SVR模型對其參數的調整和核函數的選取較為敏感,并且大多適用于數據量較小的數據集,對于數據龐大且復雜的風電功率數據,則會表現出較差的擬合能力。BiLSTM在傳統LSTM的結構基礎上增加了一層反向LSTM層,使其能同時處理來自下一時刻的信息,因此,在短期風電功率預測中,BiLSTM模型性能相較于LSTM有較小的提升。同時,由CEEMDAN+LSTM組合模型的預測結果可以看出,利用CEEMDAN分解算法將原始數據序列處理后的VRMSE和VMAPE均小于單一LSTM模型,證明了CEEMDAN算法在風電功率預測中對預測模型具有優化效果。

表3 實驗結果誤差對比Tab.3 Error comparison of experimental results

此外,為了更具體形象地展示和分析模型的預測能力,本文繪制了風電功率真實值與各預測模型得到預測值的對比曲線,其結果如圖10所示。圖10中,紅色曲線表示真實功率數據,黑色曲線表示本文方法預測得到的功率值。從圖10可以看出,在功率發生升降變化的時候,本文方法能準確預測出其變化趨勢,能確定功率變化的拐點,在功率穩定時段能保持穩定且保持與真實值較為貼合的狀態。相比于其他預測模型的擬合曲線,本文方法的預測結果更為準確,整體誤差更小,與真實值曲線更為貼合,具有更強的功率時序信息擬合能力。

圖10 各模型預測結果對比圖Fig.10 Comparison of prediction results of each model

2.4 案例2

2.4.1 實驗過程

采取與案例1相同的實驗流程,具體步驟如下。

1)對案例2數據集進行數據清洗處理后,利用-CEEMDAN進行分解,得到各模態分量。

2)對各分量進行復雜度分析,同時考慮各分量的頻率以及樣本熵值的大小,對各分量進行合并重構,得到合并結果如表4所示。

表4 重構分量結果Tab.4 Reconstructed component results

3)分別計算原始數據序列和各重構分量序列的偏自相關函數,并根據偏自相關函數確定的滯后階數,選取各序列在預測模型中的輸入變量序列位置,選取結果如表5所示。

表5 各分量輸入變量選取結果Tab.5 Selection results of input variables for each component

4)以確定的輸入變量長度作為預測模型訓練預測過程中的滑動窗口長度,對各分量序列進行單步滾動預測,并對各分量預測結果進行求和,得到最終預測結果。

2.4.2 實驗結果及分析

在以SVR、LSTM、BiLSTM這3種單一預測模型以及EMD+BiLSTM、CEEMDAN+LSTM這2種組合模型作為對比實驗的基礎上,增加Transformer網絡[25]和VMD+BiLSTM組合模型進行對比分析,得到各預測模型的實驗誤差結果,如表6所示。

根據表6可知,相比于所選取的其他7種預測模型,本文所提出的方法具有最低的預測誤差,其VRMSE和VMAPE分別為236.627 9和5.08%。同時,上述幾種對比實驗的預測結果也證實了案例1中實驗結論的真實性,即在風電功率預測研究中,BiLSTM的預測效果優于LSTM;盡管Transformer的預測精度優于傳統LSTM,但其表現仍稍遜于BiLSTM和其他組合模型;相比于直接進行預測的單一預測模型,對原始功率數據序列進行分解和平穩化處理后,再進行預測能夠有效提高預測精度;相比于BiLSTM,EMD+BiLSTM和VMD+BiLSTM模型,本文所提出CEEMDAN+Bi-LSTM模型得到最優預測結果,證明了CEEMDAN算法能夠有效改善BiLSTM模型的預測效果。

表6 實驗結果誤差對比Tab.6 Error comparison of experimental results

選取并繪制測試集中某日24 h功率真實值與各模型預測得到預測值的對比曲線,如圖11所示。圖11中,紅色曲線表示真實功率數據,黑色曲線為本文方法得到的預測數據曲線。

圖11 各模型預測結果對比Fig.11 Comparison of prediction results of each model

從圖11可以看出,本文所提方法相比其他模型具有更高的擬合程度,并且在拐點處與真實值曲線更為貼合,如15時至20時區間中黑色曲線與紅色曲線最為貼合,說明了本文所提方法能夠準確預測出功率曲線的升降變化趨勢,證明了該方法在預測波動性強的風電功率數據中的優越性。

3 結束語

針對風電功率數據序列非平穩性和非線性的特點以及輸入變量選取的不確定性,本文提出了一種結合CEEMDAN和PACF-BiLSTM的組合預測方法,并根據風電場實際的歷史功率數據集,完成了對未來24 h的每小時峰值的短期風電功率預測。經過以上實驗分析,可得出以下結論。

1)利用CEEMDAN對風電功率數據序列進行分解能夠有效改善原始序列的非平穩性和非線性,以分解得到的模態分量作為數據集進行預測能夠有效提高預測精度。

2)對于相同的網絡模型,不同的輸入變量可能導致不同的預測結果和預測精度。依據偏自相關函數計算得到的滯后階數能夠為風電功率預測中輸入變量的選擇提供依據,減少人為判斷的主觀性。不同輸入變量在經典預測模型LSTM中的對比預測實驗結果表明,偏自相關函數實驗選取的輸入變量表現最佳,具有最低的預測誤差。預測模型對比實驗結果表明,加入偏自相關函數實驗能有效提高預測精度。

3)BiLSTM具有2層反向的LSTM層,使其能夠兼顧歷史信息和未來信息。根據BiLSTM預測模型和傳統LSTM模型實驗結果對比表明,BiLSTM在風電功率預測研究中更具優越性。

4)CEEMDAN、PACF和BiLSTM均在風電功率預測研究中表現出其適用性和優越性,本文通過結合三者形成一種新的風電功率組合預測模型,分別從數據預處理、預測模型參數調整以及預測模型入手,優化了短期風電功率預測模型,提高了預測精度。與4種單一預測模型SVR、LSTM、BiLSTM、Transformer和3種組合預測模型VMD+BiLSTM、EMD+BiLSTM、CEEMDAN+LSTM進行實驗結果對比表明,本文所提方法在2個數據集案例中均有最低的誤差結果和最優的預測表現,表明了該方法在短期風電功率預測中的有效性和優越性。

猜你喜歡
電功率分量模態
基于PCC-CNN-GRU的短期風電功率預測
帽子的分量
輕松上手電功率
你會計算電功率嗎
解讀電功率
論《哈姆雷特》中良心的分量
分量
國內多模態教學研究回顧與展望
基于HHT和Prony算法的電力系統低頻振蕩模態識別
基于瞬時對稱分量法的三相四線制D-STATCOM控制研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合