單斌斌, 李華*, 谷瑞政, 李玲玲
(1.河北工業(yè)大學(xué)電氣工程學(xué)院/省部共建電工裝備可靠性與智能化國家重點實驗室/河北省電磁場與 電器可靠性重點實驗室, 天津 300130; 2.國網(wǎng)天津市電力公司檢修公司,天津 300232)
風電作為一種可再生的清潔能源,其技術(shù)相對成熟,是目前應(yīng)用最為廣泛的新能源發(fā)電方式之一[1]。但風電場輸出功率的不確定性是風電面臨的一系列并網(wǎng)問題的根源之一,對風電場輸出功率進行準確預(yù)測是降低風電輸出功率不確定性的最有效手段。經(jīng)過多年發(fā)展,功率預(yù)測已成為風電調(diào)度運行技術(shù)的主要組成部分,為大規(guī)模風電的有效消納提供了重要支撐。因此研究風電功率預(yù)測具有重大意義[2]。
目前,風電功率預(yù)測模型分為物理模型和統(tǒng)計模型。搭建物理模型不需要歷史數(shù)據(jù),但需要結(jié)合風電場的具體環(huán)境,方法復(fù)雜度太高。統(tǒng)計模型只需要風電場的歷史測量數(shù)據(jù)來搭建學(xué)習(xí)模型,最常用的統(tǒng)計學(xué)習(xí)模型包括時間序列分析模型[3],神經(jīng)網(wǎng)絡(luò)模型和支持向量機模型等[4]。文獻[5]采用時間序列法和BP(back propagation)神經(jīng)網(wǎng)絡(luò)對同一風電場進行了短期功率預(yù)測。文獻[6]采用極限學(xué)習(xí)機(extreme learning machine, ELM)對風電場進行了超短期風電功率預(yù)測,并與BP神經(jīng)網(wǎng)絡(luò)進行對比分析。結(jié)果表明極限學(xué)習(xí)機收斂速度更快,預(yù)測精度更高。
由于單一預(yù)測模型具有局限性,為了減少風電功率的波動性,提高預(yù)測精度,將原始風電功率序列使用信號分解技術(shù)進行分解[7]。文獻[8]采用小波分析分解風電功率序列,預(yù)測精度得到顯著提高。但是小波基選取難度較大,缺乏自適應(yīng)性,而經(jīng)驗?zāi)B(tài)分解依據(jù)數(shù)據(jù)自身的時間尺度來進行信號分解,無需設(shè)定任何基函數(shù),泛化性能更好。文獻[9]提出了改進經(jīng)驗?zāi)B(tài)分解和支持向量回歸的模型,提高了預(yù)測精度,但模態(tài)混疊的問題得不到解決。文獻[10]采用基于完全集成經(jīng)驗?zāi)B(tài)分解(complete ensemble empirical mode decomposition adaptive noise, CEEMDAN)和支持向量回歸的預(yù)測模型,不僅解決了模態(tài)混疊問題,還消除了殘留噪聲,但模型參數(shù)初值依舊存在選取困難的問題。
近年來一些新的智能優(yōu)化算法在機器學(xué)習(xí)參數(shù)優(yōu)化中脫穎而出。文獻[11]采用花朵授粉算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的參數(shù),降低了預(yù)測誤差。但算法收斂速度慢,且容易陷入局部最優(yōu)。文獻[12]提出了一種改進天牛須搜索算法(improved beetle antennae search, IBAS)優(yōu)化最小二乘支持向量機的短期電力負荷預(yù)測模型。算例結(jié)果表明,該模型運算時間短,且算法穩(wěn)定性高。
因此,現(xiàn)提出一種完全集成經(jīng)驗?zāi)B(tài)分解、極限學(xué)習(xí)機和改進天牛須搜索算法相結(jié)合的風電功率預(yù)測模型。利用CEEMDAN將原始風電功率歷史數(shù)據(jù)分解為簡單序列分量,對各序列分量分別用IBAS-ELM模型進行預(yù)測,將各分量的預(yù)測值進行疊加得到最終預(yù)測值,以期獲得精確度更高的風電功率預(yù)測值。
經(jīng)驗?zāi)B(tài)分解(empirical mode decomposition, EMD)假設(shè)任何原始信號都是由不同震蕩模式組成的,原始信號經(jīng)過EMD分解后,會得到一組按照頻率和振幅大小排列的本征模函數(shù)(intrinsic mode function, IMF)。EMD[13]將原始信號v(t)分解為
(1)
式(1)中:v(t)為原始信號;k為IMF分量的總數(shù);imfj為第j個IMF分量;r(t)為殘余分量。
由于EMD算法在分解信號時容易出現(xiàn)模態(tài)混疊現(xiàn)象,為了改進這個問題,提出了集合經(jīng)驗?zāi)B(tài)分解法(ensemble empirical mode decomposition, EEMD),EEMD算法是在EMD的基礎(chǔ)上添加一組服從正態(tài)分布的高斯白噪聲,有效避免了EMD分解出現(xiàn)的模態(tài)混疊現(xiàn)象。但添加白噪聲使EEMD運算量變得很大,并且添加的白噪聲集總平均之后不能完全抵消,會存在殘留,導(dǎo)致重建之后殘留噪聲造成的誤差不可忽略。為了解決這個問題,互補集合經(jīng)驗?zāi)B(tài)(complementary ensemble empirical mode decomposition, CEEMD)被提出,與EEMD不同的是,CEEMD是將原始信號加上白噪聲與原信號減去白噪聲分別進行EMD分解,求兩者均值,用于抵消加入的噪聲。該方法不僅節(jié)省了計算時間,還消除了殘留噪聲,但如果參數(shù)選擇不當,會產(chǎn)生錯誤成分,導(dǎo)致得到的IMF不符合IMF定義。
針對上述分解算法存在的問題,采用添加自適應(yīng)白噪聲的CEEMDAN來對原始信號進行分解,CEEMDAN通過在各個分解階段添加自適應(yīng)白噪聲,不僅可以消除模態(tài)混疊,還能使信號重建后完整且無噪音。與CMMED相比,CEEMDAN的運算量更小,分解速度更快。
天牛須搜索算法(beetle antennae search, BAS)是一種模仿天牛覓食的智能優(yōu)化算法[14]。天牛有兩只長觸角,如果右側(cè)觸角收到的氣味強度大于左側(cè),那么天牛會在下一步往右飛,否則就往左飛。根據(jù)這一簡單原理天牛就可以有效找到最優(yōu)解。由于BAS只需要一只天牛,所以運算量非常小,收斂速度非常快。BAS的具體實現(xiàn)步驟如下。
(1)確定搜索空間維度為n,天牛質(zhì)心為x,天牛左須為xl,天牛右須為xr,兩須間距離為d,其中x、xl、xr都是n維向量。
(2)初始化天牛位置,由于天牛頭朝向隨機,所以隨機生成n維單位向量a來表示天牛頭朝向,即
(2)
式(2)中:rands(n,1)為生成n維向量。
(3)確定天牛左右須的空間位置。
(3)
式(3)中:i為迭代次數(shù);xli、xri分別為天牛左須與右須在第i次迭代中的空間位置;di為在第i次迭代中天牛兩須之間的距離。
(4)計算兩須適應(yīng)度值以及確定步長因子。
(4)
式(4)中:fl、fr分別為左右兩須的適應(yīng)度值;δi為第i次迭代時天牛的移動步長。
(5)天牛更新位置。
xi=xi-1+δiasign(fl-fr)
(5)
式(5)中:sign()為符號函數(shù)。
(6)更新兩須間距離。
di=0.95di-1
(6)
(7)判斷是否符合迭代結(jié)束條件,符合則結(jié)束,不符合則重復(fù)步驟(2)~步驟(6),直至符合結(jié)束條件。
天牛須搜索算法具有良好的全局搜索能力,但局部搜索能力有待提高。給天牛須搜索算法增加一個動態(tài)慣性權(quán)重來增強天牛的局部搜索能力,動態(tài)慣性權(quán)重是一種能夠協(xié)調(diào)搜索能力的有效機制,能夠動態(tài)平衡優(yōu)化算法的全局搜索能力和局部搜索能力,從而使天牛在搜索過程中可以順利找到最優(yōu)解。權(quán)重w的取值方法為
(7)
式(7)中:wmax=0.9;wmin=0.4;imax為最大迭代次數(shù)。
在天牛的位置更新公式中引入動態(tài)慣性權(quán)重w對天牛的位置更新方式進行優(yōu)化,使天牛在自我學(xué)習(xí)時可以按照慣性策略進行調(diào)整,改進天牛須搜索算法的位置更新公式為
xi=wxi-1+δiasign(fl-fr)
(8)
ELM隨機生成權(quán)值和閾值,并且在訓(xùn)練過程中無需進行調(diào)整,僅需設(shè)置隱藏層神經(jīng)元的數(shù)量,就可以求出最優(yōu)解。ELM的數(shù)學(xué)模型為
Hβ=Q
(9)
式(9)中:H為網(wǎng)絡(luò)隱藏層的輸出矩陣;β為權(quán)值矩陣;Q為目標期望輸出矩陣。
ELM的訓(xùn)練目標是要找到模型的最優(yōu)權(quán)值組合W=(w,b,β),使式(10)成立:
minE(W)=min‖Hβ-Q‖
(10)
式中:w為隱藏層節(jié)點的輸入權(quán)值;b為隱藏層的偏置。在ELM算法中,輸入w和b,輸出矩陣H就會被唯一確定。此時,ELM的訓(xùn)練過程即求解式(9)的線性方程組,其最優(yōu)解為
(11)
式(11)中:H+為隱藏層輸出矩陣H的Moore-Penrose廣義逆。
由于ELM的權(quán)值和閾值是隨機生成的,訓(xùn)練精度和時間都會受到隨機性的影響。采用IBAS算法對ELM的權(quán)值和閾值進行優(yōu)化,將得到的權(quán)值和閾值用于ELM的訓(xùn)練,得到最終的ELM網(wǎng)絡(luò)結(jié)構(gòu)。IBAS-ELM預(yù)測模型的步驟如下。
(1)初始化ELM,設(shè)置輸入層、隱藏層和輸出層的節(jié)點數(shù),初始化網(wǎng)絡(luò)權(quán)值和閾值。
(2)設(shè)置IBAS算法的參數(shù),初始化天牛的位置。
(3)將ELM的初始權(quán)值和閾值編碼到天牛中,并確定IBAS算法適應(yīng)度函數(shù),選取使適應(yīng)度函數(shù)最小的權(quán)值和閾值。選擇的適應(yīng)度函數(shù)為
(12)
式(12)中:ft為測試樣本中第t個樣本的實際值;yt為測試樣本中第t個樣本的模型預(yù)測值;M為對應(yīng)的樣本數(shù)。
(4)由式(4)來計算天牛左右須的適應(yīng)度函數(shù)fl和fr。
(5)天牛根據(jù)式(8)來進行位置更新,并保留適應(yīng)度值最小的天牛位置。
(6)判斷是否滿足IBAS算法的結(jié)束條件,若滿足轉(zhuǎn)步驟(7);若不滿足,轉(zhuǎn)步驟(4)。
(7)將最優(yōu)值的天牛進行解碼,生成的最優(yōu)解作為ELM的初始權(quán)值和初始閾值進行訓(xùn)練。
綜上所述,給出IBAS優(yōu)化ELM參數(shù)的具體流程圖,如圖1所示。
構(gòu)建的短期風電功率預(yù)測模型,具體實現(xiàn)步驟如下。
Taking the AC actuator load and the DC motor load as examples, the correctness and validity of the model in normal mode and fault mode are respectively verified.
(1)使用CEEMDAN將原始風電功率序列分解為9個IMF分量和1個RSE分量。
(2)將分解后的各個IMF分量和RES分量分別作為預(yù)測模型的輸入量,采用IBAS算法優(yōu)化ELM的權(quán)值和閾值,得到各分量優(yōu)化后的預(yù)測模型。
(3)將分解后的各個IMF分量和RES分量送入訓(xùn)練好的各分量的ELM模型進行預(yù)測,得到各分量的預(yù)測值。
(4)疊加每個分量的預(yù)測值來獲得風電功率的最終預(yù)測值。
(5)對獲得的風電功率預(yù)測值和風電功率實際值進行誤差分析。
基于CEEMDAN-IBAS-ELM預(yù)測模型的示意圖,如圖2所示。
圖1 IBAS優(yōu)化ELM參數(shù)流程圖Fig.1 IBAS optimization ELM parameter flow chart
圖2 基于CEEMDAN-IBAS-ELM的預(yù)測模型Fig.2 Prediction model based on CEEMDAN-IBAS-ELM
本文研究中的風電功率數(shù)據(jù)來源于西班牙加利西亞Sotavento風電場。該風電場的采樣時間間隔為10 min,額定功率為2 500 kW。以2020年3月1—17日的風電功率實測數(shù)據(jù)為例進行驗證,共2 448個樣本點,前2 304個數(shù)據(jù)作為訓(xùn)練集,最后的144個樣本點為測試集。風電功率原始序列,如圖3所示。
圖3 風電功率原始序列Fig.3 Original sequence of wind power
(1)平均絕對誤差(MAE)。
(13)
式(13)中:ft為測試樣本中第t個樣本的實際值;yt為測試樣本中第t個樣本的模型預(yù)測值;M為對應(yīng)的樣本數(shù)。
(2)均方根誤差(RMSE)。
(14)
(3)平均絕對百分比誤差(MAPE)。
(15)
(4)各個風電功率預(yù)測模型各自進行一次預(yù)測需要的時間(TIME),單位為s。
由圖3可以看出,原始的風電功率序列的隨機性和波動性比較大。使用CEEMD和CEEMDAN分別對原始功率數(shù)據(jù)進行處理,把數(shù)據(jù)分解為不同特征尺度下的平穩(wěn)序列,來提高后續(xù)預(yù)測模型的準確性。CEEMD和CEEMDAN的參數(shù)均選擇0.2倍標準差,添加100次白噪聲,將原始風電功率數(shù)據(jù)分為9個IMF分量和一個RES分量。僅放置原始風電功率信號經(jīng)過CEEMDAN分解后的各功率序列分量,如圖4所示。
圖4中,RES表示所研究風電功率序列的變化趨勢;IMF為風電功率樣本的特征分量,按照頻率由高到低排列,高頻分量波動性比較大,表示風電功率的隨機性分量;低頻分量具有正弦波特點,表示風電功率的周期性分量。
針對同一原始風電功率序列,分別用CEEMD和CEEMDAN把信號分解為不同特征尺度下的序列分量,再將分解后的各分量進行疊加,重構(gòu)成一個新序列。用實際功率序列減去重構(gòu)序列來計算重構(gòu)誤差。采用平均絕對誤差MAE和平均絕對百分比誤差RMSE來評價重構(gòu)功率序列與原始功率序列的誤差。CEEMD和CEEMDAN的重構(gòu)誤差,如圖5所示。
CEEMD的重構(gòu)誤差MAE為2.99×10-13,RMSE為4.25×10-13,而CEEMDAN的重構(gòu)誤差MAE為5.77×10-14,RMSE為1.09×10-13。CEEMDAN分解后的重構(gòu)誤差更小,證明了CEEMDAN可以更好地消除殘余輔助噪聲,分解能力更加優(yōu)秀。
RES為趨勢分量 圖4 經(jīng)CEEMDAN分解后的功率序列Fig.4 Power sequence decomposed by CEEMDAN
圖5 重構(gòu)誤差Fig.5 Reconstruction error
為了驗證本文所提出的預(yù)測模型的有效性,搭建了ELM、BAS-ELM、IBAS-ELM、CEEMD-IBAS-ELM、CEEMDAN-IBAS-ELM多種組合模型。還與其他算法優(yōu)化ELM的預(yù)測模型如花朵授粉算法優(yōu)化的極限學(xué)習(xí)機(FPA-ELM)、粒子群算法優(yōu)化的極限學(xué)習(xí)機(PSO-ELM)以及BP神經(jīng)網(wǎng)絡(luò)進行對比,進一步證明所提出的預(yù)測模型的有效性。
除IBAS只需要一只天牛外,所有優(yōu)化算法中最大迭代次數(shù)和種群數(shù)量均設(shè)為100和30。在所有預(yù)測模型中,經(jīng)過CEEMD和CEEMDAN分解的模型運行時間是所有分量序列分別運行的時間之和,其余預(yù)測模型運行時間都為進行一次預(yù)測運行的時間。
CEEMDAN-IBAS-ELM模型與其他對比模型對風電場2020年3月17日的144個樣本點的風電功率進行了預(yù)測?;贐AS算法的各組合模型預(yù)測結(jié)果,如圖6所示;基于不同優(yōu)化算法的組合模型預(yù)測結(jié)果,如圖7所示;2020年3月各預(yù)測模型誤差評價指標結(jié)果,如表1所示。
由表1可以看出,相對于沒有模態(tài)分解的預(yù)測模型,基于模態(tài)分解的組合模型的預(yù)測精度均有大幅度提升,說明采用信號分解技術(shù)可以有效改善預(yù)測性能。在所有預(yù)測模型中,CEEMDAN-IBAS-ELM模型的預(yù)測結(jié)果最優(yōu),MAE、RMSE、MAPE結(jié)果均為最小。與CEEMD-IBAS-ELM相比,MAE下降了30.45%、RMSE下降了33.41%、MAPE下降了27.84%,運行時間也降低了13.31%。說明CEEMDAN的分解效果更加優(yōu)秀。IBAS-ELM預(yù)測模型與BAS-ELM模型相比,MAE下降了6.36%、RMSE下降了5.87%、MAPE下降了5.94%,運行時間基本不變,顯示出IBAS的尋優(yōu)能力更出色。IBAS-ELM與FPA-ELM、PSO-ELM相比,MAE、RMSE、MAPE均是最小,而且運行時間比FPA-ELM降低了84.11%、比PSO-ELM降低了70.12%,運算速度大大提升。顯示了IBAS算法的優(yōu)越性。BP神經(jīng)網(wǎng)絡(luò)的性能基本全面落后于ELM網(wǎng)絡(luò),表明ELM更適合風電功率預(yù)測。
圖6 基于BAS算法的各組合模型預(yù)測結(jié)果Fig.6 Prediction results of each combination model based on BAS algorithm
圖7 基于不同優(yōu)化算法的組合模型預(yù)測結(jié)果Fig.7 Combination model prediction results based on different optimization algorithms
表1 2020年3月模型誤差分析Table 1 Model error analysis of March 2020
2020年12月加利西亞Sotavento風電場的額定功率由2 500 kW增加至17 000 kW,為了進一步驗證本文提出的CEEMDAN-IBAS-ELM預(yù)測模型的準確性和普適性。選取該風電場2020年12月1—17日的風電功率實測數(shù)據(jù)對該預(yù)測模型進行驗證,共2 448個樣本點,前2 304個樣本點為訓(xùn)練集,最后144個數(shù)據(jù)為測試集。各預(yù)測模型對2020年12月17日的144個樣本點的風電功率進行了預(yù)測。基于BAS算法的各組合模型預(yù)測結(jié)果,如圖8所示;基于不同優(yōu)化算法的組合模型預(yù)測結(jié)果,如圖9所示;2020年12月各預(yù)測模型誤差評價指標結(jié)果,如表2所示。
由表2可以看出ELM的預(yù)測結(jié)果更接近于實際值,進一步證明ELM更適合風電功率預(yù)測。顯然,在所有模型中,CEEMDAN-IBAS-ELM的預(yù)測結(jié)果最優(yōu)。與CEEMD-IBAS-ELM相比,MAE下降了55.08%、RMSE下降了59.88%、MAPE下降了41.37%,運行時間也降低了14.66%。進一步證明了CEEMDAN分解效果更加優(yōu)秀。此外,IBAS-ELM與BAS-ELM相比,MAE下降了3.32%、RMSE下降了4.73%、MAPE下降了3.13%,運算時間基本不變。進一步顯示出對BAS算法的優(yōu)化效果。與FPA-ELM、PSO-ELM相比,不僅三個誤差評價指標均為最小,而且運行時間比FPA-ELM降低了84.23%,比PSO-ELM降低了70.21%。進一步證明了顯示了IBAS算法的優(yōu)越性。
圖8 基于BAS算法的各組合模型預(yù)測結(jié)果Fig.8 Prediction results of each combination model based on BAS algorithm
圖9 基于不同優(yōu)化算法的組合模型預(yù)測結(jié)果Fig.9 Combination model prediction results based on different optimization algorithms
表2 2020年12月模型誤差分析Table 2 Model error analysis in December 2020
針對風電功率具有很強的波動性和間歇性、預(yù)測誤差大的問題。提出了一種CEEMDAN-IBAS-ELM的預(yù)測模型,大大提高了風電功率預(yù)測的準確度。研究結(jié)論如下。
(1)引入了動態(tài)慣性權(quán)重,改變了天牛的位置更新方式,使天牛的局部搜索能力得到加強,提高了BAS算法的優(yōu)化能力。
(2)采用CEEMDAN對原始數(shù)據(jù)進行預(yù)處理,把原本非平穩(wěn)、非線性的復(fù)雜功率數(shù)據(jù),分解為多個簡單序列。減少了原始數(shù)據(jù)的波動性和隨機性,為后面模型的準確預(yù)測奠定了基礎(chǔ)。
(3)利用IBAS對ELM進行尋優(yōu),找到最優(yōu)權(quán)值和閾值并賦給ELM,分別建立分解序列的ELM預(yù)測模型,最后疊加各序列的預(yù)測值得到最終預(yù)測結(jié)果。
(4)使用MAE、RMSE、MAPE以及算法運行時間四個評價指標對各模型的預(yù)測結(jié)果進行分析。與其他預(yù)測模型相比,CEEMDAN-IBAS-ELM模型的MAE、RMSE、MAPE均為最小,且算法運行速度快,可以看出本文提出的預(yù)測模型預(yù)測精度高且運行時間短,可以很快獲得預(yù)測的功率,便于電網(wǎng)進行電力調(diào)度和設(shè)備檢修。