趙 陽,文傳博
(上海電機學(xué)院電氣學(xué)院,上海201306)
風(fēng)能是一種具有低成本、清潔、可再生的能源。風(fēng)力發(fā)電作為一種成熟技術(shù)得到廣泛應(yīng)用[1]。風(fēng)電功率的隨機性易造成電網(wǎng)波動,干擾電力系統(tǒng)調(diào)度。因此,通過短期風(fēng)電功率的準(zhǔn)確預(yù)測改善風(fēng)電功率的模糊程度,有利于風(fēng)電能源的合理開發(fā)與利用,使電網(wǎng)系統(tǒng)穩(wěn)定運行[2]。目前,風(fēng)功率預(yù)測按不同的模型分為[3]:物理模型[4]、統(tǒng)計模型[5]、元啟發(fā)式模型[6]和組合模型[7]。
由于風(fēng)電功率的不確定性,單一的預(yù)測方法不能夠?qū)?fù)雜的風(fēng)電功率數(shù)據(jù)樣本進行準(zhǔn)確地預(yù)測。為了減小風(fēng)電功率的隨機波動性,將風(fēng)電功率序列分解為一系列的子信號進行預(yù)測,再將各子信號的預(yù)測值進行重構(gòu),提高了風(fēng)電功率的預(yù)測準(zhǔn)確性。王俊等[8]基于變分模態(tài)分解(Variational Modal Decomposition,VMD)與長短時記憶網(wǎng)絡(luò)(Long and Short Time Memory Network,LSTM)的預(yù)測方法,VMD能夠有效地克服信號混疊現(xiàn)象,提高組合預(yù)測方法的準(zhǔn)確性。李霄等[9]提出改進最小二乘支持向量機(Least Squares Support Vector Machines,LSSVM)和預(yù)測誤差校正的預(yù)測方法,對預(yù)測誤差校正,提高預(yù)測精度。周楠等[10]基于寬度學(xué)習(xí)(Broad Learning System,BLS)算法通過對特征層和增強層的擴展來提高網(wǎng)絡(luò)性能,但特征節(jié)點、增強節(jié)點的個數(shù)會影響預(yù)測精度。通過麻雀搜索算法對BLS的參數(shù)進行尋優(yōu)能夠避免陷入局部最優(yōu)問題,得到更高性能的BLS模型。
本文提出基于預(yù)測誤差校正的BLS短期風(fēng)電功率預(yù)測方法??紤]到預(yù)測誤差序列對預(yù)測帶來的影響,通過變分模態(tài)分解與麻雀算法優(yōu)化寬度學(xué) 習(xí)(Variational Mode Decomposition and Sparrow Algorithm Optimized Broad Learning System,VMD-SSA-BLS)模型對誤差進行分解預(yù)測,使短期風(fēng)電功率的預(yù)測準(zhǔn)確性得到提高,并采用沿海某風(fēng)電場的實測數(shù)據(jù)進行仿真驗證。
VMD是一種自適應(yīng)和非遞歸的分解方法[11]。主要思想是通過構(gòu)造變分問題進行迭代求解。通過提前設(shè)置好的模態(tài)數(shù)K將非平穩(wěn)信號f(t)分解出不同中心頻率和帶寬的子信號u(k),更新各模態(tài)函數(shù)及其中心頻率,當(dāng)各模態(tài)的估計帶寬之和最小時結(jié)束更新得出最優(yōu)解。過程如下[12]:
(1)通過Hilbert變換計算各模態(tài)分量的單邊頻譜,并估計出相應(yīng)的中心頻率ωk。
(2)將各模態(tài)解析信號中心頻率的指數(shù)項e-jωkt進行混疊,并將各模態(tài)的頻譜轉(zhuǎn)換到對應(yīng)的基頻帶。
(3)由高斯平滑法對各模態(tài)的帶寬大小進行預(yù)算,轉(zhuǎn)化為帶約束條件的變分求解問題:
式中:δ(t)為單位脈沖函數(shù);*表示卷積;?(t)表示偏導(dǎo);uk(t)為第k個分量;ωk為k個分量的中心頻率;f(t)為風(fēng)電功率的時間數(shù)據(jù)。
對式(1)中的約束問題引入拉格朗日乘子λ和懲罰因子α,將其變?yōu)榉羌s束的變分問題:
利用交替方向乘子法(ADMM)求解式(2)中的鞍點,更新相應(yīng)變量uk、ωk、λ為
式中:n為迭代次數(shù)。
綜上可得,VMD的步驟如下:
(3)根據(jù)下式對拉格朗日乘子進行更新:
式中:ο為更新因子。
(4)判斷下式的收斂條件是否滿足要求
式中:ε為判別精度。若滿足則停止分解;否則對迭代次數(shù)n進行加1,并返回步驟2。
麻雀搜索算法(Sparrow Search Algorithm,SSA)由薛建凱等[13]于2020年提出。SSA對種群內(nèi)部進行明確的分工,一部分麻雀作為發(fā)現(xiàn)者(10%~20%)進行尋食,為加入者的覓食范圍和方向提供參考。剩余麻雀作為加入者從發(fā)現(xiàn)者上獲食,發(fā)現(xiàn)者和加入者之間可以互換,但比例保持恒定。隨機選取發(fā)現(xiàn)者和加入者中的麻雀(10%~20%)作為偵察者進行監(jiān)視,當(dāng)有麻雀意識到危險,會及時發(fā)出警報信號,整個種群會立刻做出反捕食行為。
發(fā)現(xiàn)者位置更新如下:
式中:imax為算法的最大迭代次數(shù);α為(0,1]之間的隨機數(shù);R2∈[0,1]、ST∈[0.5,1]為預(yù)警值和安全閾值;Q為隨機數(shù)且服從正態(tài)分布;L為1×d且元素為1的矩陣,d為麻雀維數(shù)。
加入者位置更新如下:
偵察者位置更新如下:
式中:為第t次迭代時的全局最佳位置;β為服從正態(tài)分布的隨機數(shù),以控制步長;v為[-1,1]的隨機數(shù);fi、fg和fw分別為當(dāng)前麻雀的適應(yīng)度、全局最優(yōu)和最差適應(yīng)度;c為常數(shù)以避免除數(shù)為零。
SSA基本流程:
(1)種群初始化;
(2)計算麻雀種群個體適應(yīng)度函數(shù),求出當(dāng)前最佳位置、最差位置和最差適應(yīng)度;
(3)根據(jù)式(7)~(9)對發(fā)現(xiàn)者、加入者和偵察者位置進行更新;
(4)對適應(yīng)度進行更新;
(5)若達到最大迭代次數(shù),算法停止尋優(yōu),否則返回步驟3。
BLS系統(tǒng)是由Chen等[14]提出的一種新型神經(jīng)網(wǎng)絡(luò)。BLS一共有3層,分別為映射層、強化層和輸出層。數(shù)據(jù)經(jīng)過映射層生成特征節(jié)點,之后特征節(jié)點通過強化層生成增強節(jié)點,特征節(jié)點和增強節(jié)點均與輸出層直接連接,如圖1所示。
圖1 BLS網(wǎng)絡(luò)
在網(wǎng)絡(luò)中共有b組特征節(jié)點,每組包含f個節(jié)點,m個增強節(jié)點。對樣本X進行特征映射:
式中:Wfi、βfi為[-1,1]的隨機數(shù);?(?)為一個映射函數(shù)。所有特征節(jié)點可以表示為:Z=[Z1,Z2???,Zb],那么增強節(jié)點可以表示為
式中:Wm、βm為[-1,1]的隨機數(shù);ξ(?)為激活函數(shù)。
因此,寬度學(xué)習(xí)網(wǎng)絡(luò)輸出模型可以表示為
式中:H=[Z|E];W為將特征節(jié)點和增強節(jié)點連接到輸出層的輸出權(quán)重。
在訓(xùn)練過程中,Wfi、Wm、βfi和βm的值均不發(fā)生改變,又已知Y和H的值,故只需對W進行求解,即
式中:H+為廣義逆矩陣。
BLS訓(xùn)練步驟如下:
(1)對數(shù)據(jù)劃分為訓(xùn)練集Xtrain、Ytrain,驗證集Xtext、Ytext;
(2)根據(jù)式(10)、(11)計算Xtrain的特征節(jié)點和增強節(jié)點,得到中間層訓(xùn)練矩陣Htrain;
(3)根據(jù)式(13)計算BLS的輸出權(quán)重W=
(4)計算Xtext的特征節(jié)點與增強節(jié)點,得到中間層驗證矩陣Htext;
(5)根據(jù)Ytext=HtextW得到預(yù)測值。
為了提高模型的魯棒性,采用SSA對BLS模型中的特征層b、特征節(jié)點f、增強節(jié)點m進行尋優(yōu),采用平均絕對百分比誤差作為SSA算法的適應(yīng)度函數(shù)。
SSA-BLS具體算法步驟如下:
(1)初始化SSA算法中的參數(shù)。參數(shù)為麻雀種群規(guī)模P,麻雀算法的迭代次數(shù)imax,發(fā)現(xiàn)者個數(shù)p,偵察者個數(shù)s,最優(yōu)適應(yīng)度值F等。
(2)初始化種群。種群維度設(shè)定為3維,分別代表BLS的參數(shù)特征層b、特征節(jié)點f、增強節(jié)點m。
(3)根據(jù)平均絕對百分比誤差計算種群中所有麻雀的適應(yīng)度值,得到當(dāng)前最佳適應(yīng)度的麻雀個體。
(4)執(zhí)行SSA算法。
(5)判斷迭代次數(shù)或精度是否達到設(shè)置的要求,滿足則得出最優(yōu)值,否則返回到步驟3。
(6)得到最優(yōu)值,將優(yōu)化的參數(shù)用于建立SSA-BLS的預(yù)測模型。
對風(fēng)電功率進行預(yù)測時,由于風(fēng)電功率序列的隨機性、非線性等特點,對預(yù)測效果產(chǎn)生很大的影響,單一的預(yù)測模型無法對風(fēng)電功率進行精準(zhǔn)的預(yù)測。本文通過BLS作為基礎(chǔ)模型對風(fēng)電功率進行預(yù)測,將訓(xùn)練誤差和預(yù)測誤差組成誤差序列作為樣本;對誤差序列進行VMD分解,對分解后的各子模態(tài)分別建立SSA-BLS回歸預(yù)測模型進行誤差預(yù)測;將各子模態(tài)誤差預(yù)測值疊加求和補償給功率預(yù)測值,得到最終的風(fēng)電功率預(yù)測值,如圖2所示。
圖2 VMD-SSA-BLS模型的預(yù)測流程
為了驗證本文所提算法的有效性,選取沿海某風(fēng)電場2012年7月份的實際采集數(shù)據(jù)為研究對象,容量為16 MW,采樣間隔為1 h。共將768組樣本數(shù)據(jù)通過VMD-SSA-BLS誤差校正模型進行分析和預(yù)測,輸入特征選為風(fēng)電功率之前的數(shù)據(jù),根據(jù)相關(guān)度分析,選取前8個時刻的數(shù)據(jù)作為輸入特征向量,前672組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),后96組數(shù)據(jù)作為測試數(shù)據(jù)。
對原始風(fēng)電功率時間序列歸一化處理后進行BLS模型預(yù)測,產(chǎn)生的誤差序列進行VMD分解,分解時需要確定模態(tài)數(shù)K的值。K值選擇過大會造成信號特征分量過分解,K值選擇過小又會造成信號特征分量欠分解,導(dǎo)致各分量模態(tài)混疊,無法準(zhǔn)確提取信號中包含的特征分量。K的確定需判斷VMD分解的最后一個模態(tài)分量與風(fēng)電功率序列的相關(guān)系數(shù)是否小于5%[15],因此本文選取參數(shù)K=6、α=800,VMD分解結(jié)果如圖3所示。
通過SSA優(yōu)化后的BLS網(wǎng)絡(luò)對圖3中VMD分解的分量進行預(yù)測。在SSA參數(shù)中,種群規(guī)模為20,迭代次數(shù)為50次,發(fā)現(xiàn)者個數(shù)為14,偵察者個數(shù)為6。在BLS中,增強節(jié)點的激活函數(shù)為‘tansig’,參數(shù)特征節(jié)點f和特征層b設(shè)置為[1,50],增強節(jié)點m范圍設(shè)置為[1,1 000]。通過SSA優(yōu)化后的BLS網(wǎng)絡(luò)對各分量誤差預(yù)測結(jié)果如圖4所示。
圖3 VMD分解
圖4 各分量誤差預(yù)測曲線
從圖4可以看出,對VMD分解后的各分量進行SSA-BLS建模并預(yù)測的曲線擬合度高。表明SSA-BLS模型預(yù)測較好,VMD分解可以很好地去除誤差的部分噪聲,使誤差序列變得更平滑。對各分量預(yù)測誤差疊加結(jié)果如圖5所示。
圖5 誤差預(yù)測曲線
從圖5可以看出,VMD-SSA-BLS模型對誤差預(yù)測最終結(jié)果中,誤差預(yù)測結(jié)果的擬合度非常高,尤其是在誤差的極點處重合度較高。因此,通過VMD-SSA-BLS模型對誤差進行處理后,預(yù)測效果非常明顯。
建立BLS、SSA-BLS、經(jīng)驗?zāi)B(tài)分解與麻雀算法寬度學(xué)習(xí)(EMD-SSA-BLS)、集合經(jīng)驗?zāi)B(tài)分解與麻雀算法寬度學(xué)習(xí)(EEMD-SSA-BLS)、VMDSSA-BLS等5種模型來更好地對預(yù)測結(jié)果進行對比。評價指標(biāo)選取均方根誤差(RMSE)、相對百分誤差絕對平均值(MAPE)和絕對平均誤差(MAE)。
各模型預(yù)測結(jié)果如圖6所示,預(yù)測誤差指標(biāo)如表1所示。
為驗證組合模型預(yù)測的有效性及精度,將VMD-SSA-BLS與BLS、SSA-BLS、EMD-SSABLS、EEMD-SSA-BLS等預(yù)測模型的預(yù)測結(jié)果分別與實際值進行比較。由圖6可知,經(jīng)SSA優(yōu)化后的BLS模型預(yù)測結(jié)果要優(yōu)于單一模型BLS;通過EMD、EEMD和VMD分解方法對非線性、非平穩(wěn)性的風(fēng)電功率誤差序列進行處理之后再預(yù)測的曲線擬合效果中,VMD對風(fēng)電功率誤差序列的分解效果要優(yōu)于EMD、EEMD。由表1可知,本文提出的VMD-SSA-BLS模型對風(fēng)電功率預(yù)測的結(jié)果評價指標(biāo)MAE、RMSE、MAPE值均小于BLS、SSABLS、EMD-SSA-BLS、EEMD-SSA-BLS等4種模型。VMD-SSA-BLS模型各項指標(biāo)綜合表現(xiàn)最優(yōu),因此本文的預(yù)測方法與傳統(tǒng)預(yù)測方法相比,在一定程度上提高了預(yù)測模型的準(zhǔn)確性。
圖6 各模型預(yù)測曲線
表1 各模型預(yù)測誤差指標(biāo)
針對風(fēng)電功率短期預(yù)測,提出了一種基于VMD-SSA-BLS的誤差校正組合預(yù)測模型,通過實際風(fēng)電場的運行數(shù)據(jù)進行驗證,得出以下結(jié)論:
(1)通過沿海某風(fēng)電場的實測數(shù)據(jù)進行仿真驗 證,并 與BLS、SSA-BLS、EMD-SSA-BLS、EEMD-SSA-BLS等模型進行比較。結(jié)果表明,VMD-SSA-BLS算法模型的預(yù)測效果更好。
(2)采用SSA優(yōu)化BLS的參數(shù)能夠提高模型泛化能力和預(yù)測準(zhǔn)確性。
(3)在預(yù)測誤差校正時,考慮到風(fēng)電功率序列預(yù)測誤差的非平穩(wěn)性,采用對誤差序列進行VMDSSA-BLS模型預(yù)測的效果優(yōu)于直接對誤差預(yù)測的傳統(tǒng)模型效果。