劉志堅, 孫瑞星, 黃 建, 張江云, 何 超
(昆明理工大學 電力工程學院,云南 昆明 650500)
隨著“30·60”雙碳目標的提出,加快新能源的開發(fā)利用能極大地減少對環(huán)境的負擔[1]。風能作為一種綠色可再生能源,得到了廣泛應用和發(fā)展[2]。由于風能具有隨機性、波動性和間歇性,當風電接入電網(wǎng)時,對電網(wǎng)的穩(wěn)定運行造成了巨大沖擊,精準的風電預測可以緩解電力系統(tǒng)調(diào)度的調(diào)峰調(diào)頻壓力,因此對風電功率進行準確預測具有重要意義[3]。
研究風電功率預測的方法一般分為兩類:物理法[4-5]和統(tǒng)計方法[6-7]。物理方法是集合風電場地理信息、風機性能參數(shù)以及NWP信息建模,該方法計算量大、收斂速度慢以及建模過程復雜。統(tǒng)計方法是通過風電功率歷史信息和風速、溫度等信息建立非線性關系。與物理法建模相比,統(tǒng)計法建模過程簡單[8-9],預測精度和泛化性都要優(yōu)于物理模型,因此統(tǒng)計法受到了廣泛應用。常用的統(tǒng)計方法包括人工神經(jīng)網(wǎng)絡[10](ANN)、支持向量機[11-12](SVM)、時間序列法[8-13]、自回歸移動平均模型[14-15](ARMA)和整合移動平均自回歸模型[16-17](ARIMA)。
在預測算法方面,文獻[18]將沃爾泰拉(Volterra)泛函模型和前饋(BP)神經(jīng)網(wǎng)絡結合起來,設計了一種混沌時間序列遺傳算法-Volterra·神經(jīng)網(wǎng)絡(GA-VNN)模型的學習算法對風電功率進行預測,但BP神經(jīng)網(wǎng)絡可能會陷入局部最優(yōu)。文獻[19]使用卷積神經(jīng)網(wǎng)絡提取數(shù)據(jù)中的特征信息,并輸入到雙向門控循環(huán)單元(BiGRU)中訓練模型,結果表明該方法可有效解決預測滯后現(xiàn)象,但模型自身的預測精度問題沒有得到改善。LSTM神經(jīng)網(wǎng)絡作為循環(huán)神經(jīng)網(wǎng)絡(RNN)的一種變體,對于長時間序列能夠很好的解決RNN梯度消失和梯度爆炸的問題[20],但LSTM神經(jīng)網(wǎng)絡的隱含層神經(jīng)元個數(shù)、學習率和最大迭代次數(shù)需要依靠人為經(jīng)驗調(diào)參[21];在數(shù)據(jù)預處理方面,文獻[22]首先通過主成分分析法(PCA)對原始多維氣象數(shù)據(jù)變量進行預處理,在利用CNN-LSTM模型進行風功率預測,由于風功率歷史數(shù)據(jù)和NWP數(shù)據(jù)之間的相關性是非線性的,PCA變換對于非線性相關性的數(shù)據(jù)不能得到較好的結果。文獻[23]通過經(jīng)驗模態(tài)分解(EMD)對風功率歷史數(shù)據(jù)進行分解,然后輸入到徑向基(RBF)神經(jīng)網(wǎng)絡進行風功率預測,但EMD可能會出現(xiàn)模態(tài)混疊現(xiàn)象影響最終預測精度。文獻[24]通過變分模態(tài)分解(VMD)對風功率歷史數(shù)據(jù)進行分解,然后輸入到LSSVM網(wǎng)絡進行風功率預測,但VMD模態(tài)分解數(shù)量和拉格朗日乘子需人為經(jīng)驗確定,直接影響分解最終效果。
本文提出一種基于ICEEMDAN-SE-MSGJO-LSTM-EC的短期風電功率預測模型。首先,針對風電功率具有較強的波動性和隨機性,利用ICEEMDAN分解原始風電功率時間序列;其次,對不同序列建立LSTM模型,并引入MSGJO對LSTM參數(shù)進行尋優(yōu);最后對預測結果進行誤差修正并對所有序列預測結果相加得到最終預測結果。本文對LSTM、ICEEMDAN-LSTM、ICEEMDAN-SE-LSTM、ICEEMDAN-SE-PSO/GJO/MSGJO-LSTM和ICEEMDAN-SE-MSGJO-LSTM-EC模型進行對比,通過實例分析驗證了本文所提模型ICEEMDAN-SE-MSGJO-LSTM-EC的有效性和優(yōu)越性。
ICEEMDAN分解算法是在EMD的基礎上對信號添加均值為1和方差為0的白噪聲進行處理,將原始信號分解為k個IMF分量和一個殘差分量。ICEEMDAN分解流程如下:
1) 引入EMD中的局部均值算子M(·)和k階模式下原始信號f(t)分解算子Ek(t);
2) 添加白噪聲的分解序列xi(t)=x(t)+ε0E1[ξi(t)],計算得到第一個殘基:
r1={M[xi(t)]}
(1)
式中:ε0=δ0std(x)/std{E1[ξi(t)]};δ0為首次加噪信號和分析信號間的期望信噪比倒數(shù);std為標準差;〈·〉為對整體求平均;
3) 計算得出k=1時的第一模態(tài):
IMF1(t)=x(t)-r1(t)
(2)
4) 通過r1(t)+ε1E2[ξi(t)]局部均值的平均值計算得到第二個模態(tài)分量:
IMF2(t)=
r1(t)-〈M{r1(t)+ω1E2[ξi(t)]}〉
(3)
5) 推導出第k個殘差和模態(tài)分量:
rk(t)=〈M{rk-1(t)+ωk-1Ek[ξi(t)]}〉
(4)
IMFk(t)=rk-1(t)-rk(t)
(5)
重復步驟5),計算得到信號分解之后所有的IMF分量和殘差分量。
樣本熵不依賴于數(shù)據(jù)的長度,相比于一般方法其魯棒性和一致性更好,序列復雜性越高則熵值越大。樣本熵計算過程如下:
1) 將原始序列f(t)重構為m維向量:
Y(t)=[y(t),y(t+1),…,y(t+m-1)]
(6)
2) 定義向量Y(t)和向量Y(k)之間的距離為兩向量對應元素相差最大值:
Dm[Y(t),Y(k)]=
(7)
(8)
4) 對m+1重復上述步驟,得到Bm+1(r);
5) 對有限值N,樣本熵表達式為
(9)
式中:m為嵌入維數(shù),一般取1或2;r為相似容限,一般取0.1*std-0.25*std。
長短期記憶網(wǎng)絡(LSTM)是循環(huán)神經(jīng)網(wǎng)絡(RNN)的一種特殊變體。既具有RNN的遞歸屬性,又具有記憶和遺忘模式??梢院芎玫亟鉀QRNN梯度消失和梯度爆炸的問題,能夠充分挖掘歷史信息[25]。LSTM網(wǎng)絡結構圖如圖1所示。
圖1 LSTM網(wǎng)絡結構圖Fig.1 LSTM network structure diagram
如圖1所示為LSTM網(wǎng)絡結構圖。LSTM單元中有三個門,即輸入門、遺忘門和輸出門。t時刻LSTM單元輸入信息為t時刻輸入數(shù)據(jù)xt、t-1時刻細胞狀態(tài)Ct-1和t-1時刻隱藏層輸出ht-1;輸出信息為t時刻隱藏層輸出ht和t-1時刻細胞狀態(tài)Ct。各控制門的更新過程如下:
it=σ(Wxixt+Whiht-1+bi)
(10)
ft=σ(Wxfxt+Whfht-1+bf)
(11)
ot=σ(Wxoxt+Whoht-1+bo)
(12)
式中:it、ft、ot分別為輸入門、遺忘門和輸出門t時刻的輸出;Wxi、Wxf、Wxo和bi、bf、bo分別為當前t時刻輸入門、遺忘門、輸出門的權重矩陣和偏置矩陣;Whi、Whf、Who分別為t-1時刻輸入門、遺忘門和輸出門隱藏層輸出ht-1的權重系數(shù);σ為sigmoid激活函數(shù),控制其輸出在[0,1]之間。
金豺優(yōu)化算法(GJO)是由Nitish Chopra等人于2022年提出的一種元啟發(fā)式算法[26]。GJO算法的靈感來源于金豺的協(xié)作狩獵行為。算法包括三個步驟:搜索獵物、包圍獵物和攻擊獵物。在GJO算法中,一對金豺(一只公豺和一只母豺)總是成對狩獵和放松。
1) 獵物初始化表達式為
(13)
式中:Prey為獵物矩陣;Yi,j為第i個獵物的第j維位置;n為獵物數(shù)量;d為求解問題的維度。
2) 搜索獵物表達式為
Y1(t)=YM(t)-E·|YM(t)-rl·Prey(t)|
(14)
Y2(t)=YFM(t)-E·|YFM(t)-rl·Prey(t)|
(15)
式中:t為當前迭代次數(shù);Prey(t)為獵物的位置向量;rl為基于萊維分布的隨機數(shù);YM(t)和YFM(t)分別為雄豺和雌豺的位置;Y1(t)和Y2(t)分別為對應于獵物的雄豺和雌豺的更新位置。
3) 包圍獵物表達式為
雄性和雌性豺狼一起捕獵的行為的數(shù)學模型如下:
Y1(t)=YM(t)-E·|rl·YM(t)-Prey(t)|
(16)
Y2(t)=YFM(t)-E·|rl·YFM(t)-Prey(t)|
(17)
1) 雙重反向?qū)W習策略
雙重反向?qū)W習策略通過隨機產(chǎn)生[0,1]的隨機數(shù)與切換概率P比較大小,進而為算法選擇不同的反向?qū)W習策略。在文中,若隨機數(shù)大于P,選擇Tent反向?qū)W習,反之選擇透鏡反向?qū)W習。
Tent反向?qū)W習數(shù)學模型描述如下:
(19)
透鏡反向?qū)W習數(shù)學模型描述如下:
(21)
式中:k為透鏡成像縮放因子。
2) 自適應螺旋搜索策略
將金槍魚群算法中螺旋覓食策略引入到GJO中以避免GJO算法陷入局部最優(yōu)[27]。螺旋覓食策略如下:
(22)
3) 非線性能量遞減控制策略
在GJO中,E的下降過程是一個線性遞減。為避免陷入局部最優(yōu),本文提出非線性能量遞減控制策略,具體表達式如下:
(23)
為驗證本文所提改進算法的有效性,選取6組測試函數(shù)對PSO、GJO和MSGJO算法進行測試。如附錄A表A1所示為測試函數(shù)相關屬性。設置種群數(shù)量為30,最大迭代次數(shù)為500。其中,f1~f3是單峰函數(shù),用于檢驗算法的收斂精度;f4~f6是多峰函數(shù),用于檢驗算法全局尋優(yōu)的能力。
各算法運行30次結果如附錄A表A2所示,適應度值如圖B1所示。單峰測試結果表明,MSGJO的收斂精度高于GJO和PSO;多峰測試結果表明,MSGJO的尋優(yōu)能力高于GJO和PSO,且MSGJO在函數(shù)f1、f3、f4和f6上均達到了理論最優(yōu)值0。以此表明,MSGJO具有更高的收斂精度和優(yōu)化能力。
通過誤差修正可以預測誤差序列,從而進一步提高預測精度。誤差修正步驟如下:
1) 風電功率實際值用ft表示,預測值用yt表示,誤差序列為
εt=ft-yt
(24)
2) 將各個IMF分量所得誤差序列作為新的序列輸入到MSGJO-LSTM模型中得到誤差預測值φt。
3) 將風電功率預測值yt和誤差預測值φt相加得到最終風功率預測值
(25)
本文提出ICEEMDAN-SE-MSGJO-LSTM-EC組合預測模型,具體步驟如下,建模流程圖如圖2所示。
圖2 模型預測流程圖Fig.2 Model prediction flowchart
1) 通過ICEEMDAN對原始風功率數(shù)據(jù)進行分解得到k個IMF分量和一個殘差分量。
2) 計算每個IMF分量和殘差量的熵值,將熵值相近的分量相加組合成新的模態(tài)分量SIMF。
3) 對每個模態(tài)分量建立MSGJO-LSTM模型,通過MSGJO尋優(yōu)算法對LSTM網(wǎng)絡的學習率、隱含層神經(jīng)元個數(shù)和訓練次數(shù)尋優(yōu)并進行風功率預測。
4) 對每個SIMF分量真實值和預測值做差值得到誤差序列,輸入到MSGJO-LSTM網(wǎng)絡中得到誤差預測,與功率預測值相加得到每個模態(tài)分量的最終預測值。
5) 將所有模態(tài)分量預測值相加得到最終預測值。
6) 對最終預測結果進行誤差分析。本文采用平均絕對誤差MAE、平均絕對百分比誤差MAPE、均方根誤差RMSE和決定系數(shù)R2對模型測評,計算式如下:
(29)
本文數(shù)據(jù)取自KDD CUP2022年比賽數(shù)據(jù),選用1號風機和30號風機各1440個數(shù)據(jù)點,時間間隔10 min,風機額定功率1 500 kW。數(shù)據(jù)前70%作為訓練集,后30%作為測試集。風功率原始數(shù)據(jù)曲線如圖3所示。
圖3 風功率原始數(shù)據(jù)Fig.3 Raw data of wind power
風功率原始數(shù)據(jù)經(jīng)ICEEMDAN分解為9個IMF分量和1個殘差分量。ICEEMDAN分解結果如附錄B圖B2所示。為了提高預測精度和減少模型訓練時間,對每個IMF分量和殘差量計算樣本熵值,對熵值相近的量相加組合成新的分量SIMF。ICEEMDAN-SE分解結果如附錄B圖B3所示。
PSO、GJO和MSGJO的目標函數(shù)維度為4,目標函數(shù)為均方誤差MSE最小;分別對LSTM隱含層神經(jīng)元層數(shù)(L1、L2)、訓練次數(shù)(K)以及學習率(lr)尋優(yōu)。為驗證本文模型的有效性,將本文模型ICEEMDAN-SE-MSGJO-LSTM-EC分別與BP、SVM、LSTM、ICEEMDAN-LSTM、ICEEMDAN- SE-LSTM、ICEEMDAN-SE-PSO-LSTM、ICEEMDAN-SE-GJO-LSTM和ICEEMDAN-SE- MSGJO-LSTM八個模型做對比試驗。預測結果如圖4所示。
圖4 預測結果圖Fig.4 Prediction result char
為進一步評價各模型的預測效果,本文對各模型的平均絕對誤差MAE、平均絕對百分比誤差MAPE、均方根誤差RMSE和決定系數(shù)R2進行分析。各模型評價指標如附錄A表A3所示。
由圖4和附錄A表A3可以看出,本文所提模型在1號風機和30號風機上的MAE、MAPE和RMSE均為最小值。ICEEMDAN-LSTM相比于LSTM,其預測精度有所提高,說明對原始風電數(shù)據(jù)進行模態(tài)分解可以有效降低原始數(shù)據(jù)的波動性,提高預測精度;MSGJO-LSTM相比于GJO-LSTM,其所有評價指標均有減小,說明使用改進GJO對LSTM的超參數(shù)優(yōu)化是有效的,可避免GJO陷入局部最優(yōu);MSGJO-LSTM-EC相比于MSGJO-LSTM,其評價指標均有所下降,說明通過誤差修正對誤差進行預測可以進一步提高預測精度。
由于風電功率誤差序列不滿足各種常見分布,所以本文采用核密度估計進行風電功率區(qū)間預測。核密度估計不需考慮數(shù)據(jù)的分布情況,可直接進行概率分布估計。內(nèi)核函數(shù)使用高斯函數(shù),核函數(shù)表達式為
(30)
式中:h為窗寬;K(·)為核函數(shù)。
如圖5所示為誤差概率分布圖,可以看出,本文使用非參數(shù)核密度估計曲線與正態(tài)分布函數(shù)基本擬合,整體上非參數(shù)核密度估計擬合效果更好。
圖5 誤差概率分布圖Fig.5 Error probability distribution diagram
在點預測的基礎上,區(qū)間預測通過對風電功率預測誤差的概率密度函數(shù)進行積分,得到累計概率密度函數(shù),通過式(31)計算一定置信概率下的置信區(qū)間,并通過區(qū)間覆蓋率(PICP)和區(qū)間寬度百分比(PIANW)評價區(qū)間預測模型。
(31)
式中:P為風功率點預測結果;F(·)為累計概率分布函數(shù)的反函數(shù);Pup和Plow分別為風功率區(qū)間預測的上邊界和下邊界。
(33)
式中:Ni為布爾量,第i個風功率點在預測區(qū)間內(nèi)為1,不在為0;n為風功率數(shù)量點。
如圖6所示為在置信度為95%和90%下的預測區(qū)間結果,如表1所示為不同置信度下的評價指標。
表1 不同置信度下的評價指標Tab.1 Evaluation indicators under different confidence levels
圖6 不同置信度下的區(qū)間預測結果Fig.6 Interval prediction results under different confidence levels
由圖6可以看出,基本大部分數(shù)據(jù)均在預測區(qū)間內(nèi),只有極少數(shù)前后波動很大的點在預測區(qū)間之外。由表1可知,本文模型覆蓋率總體達到置信度要求,區(qū)間寬度百分比較窄;隨著置信度的增大,區(qū)間寬度也在增大,表明真實落在區(qū)間內(nèi)的比例在增大。
對于風電出力的隨機波動性和間歇性,本文提出一種基于ICEEMDAN-SE-MSGJO-LSTM-EC的短期風電功率預測模型,得出以下結論:
1) 與BP模型和SVM模型相比,本文使用模型LSTM具有更好的預測精度;
2) 與單一LSTM模型相比,本文使用ICEEMDAN模型能把原始數(shù)據(jù)分解為一系列平緩信號,并且通過樣本熵計算將熵值相近的分量相加組合,降低了原始信號的波動性,縮短了模型訓練的時間;
3) 與PSO、GJO算法相比,本文所使用的MSGJO算法能有效平衡全局搜索和局部搜索,提高收斂速度;
4) 為減少模型的局限性,本文通過對預測結果進行誤差修正得到最終預測結果。試驗表明經(jīng)過誤差修正能很大程度地彌補模型自身的不足,提高預測精度。