趙 陽,文傳博
(上海電機學院電氣學院,上海201306)
風能是一種具有低成本、清潔、可再生的能源。風力發電作為一種成熟技術得到廣泛應用[1]。風電功率的隨機性易造成電網波動,干擾電力系統調度。因此,通過短期風電功率的準確預測改善風電功率的模糊程度,有利于風電能源的合理開發與利用,使電網系統穩定運行[2]。目前,風功率預測按不同的模型分為[3]:物理模型[4]、統計模型[5]、元啟發式模型[6]和組合模型[7]。
由于風電功率的不確定性,單一的預測方法不能夠對復雜的風電功率數據樣本進行準確地預測。為了減小風電功率的隨機波動性,將風電功率序列分解為一系列的子信號進行預測,再將各子信號的預測值進行重構,提高了風電功率的預測準確性。王俊等[8]基于變分模態分解(Variational Modal Decomposition,VMD)與長短時記憶網絡(Long and Short Time Memory Network,LSTM)的預測方法,VMD能夠有效地克服信號混疊現象,提高組合預測方法的準確性。李霄等[9]提出改進最小二乘支持向量機(Least Squares Support Vector Machines,LSSVM)和預測誤差校正的預測方法,對預測誤差校正,提高預測精度。周楠等[10]基于寬度學習(Broad Learning System,BLS)算法通過對特征層和增強層的擴展來提高網絡性能,但特征節點、增強節點的個數會影響預測精度。通過麻雀搜索算法對BLS的參數進行尋優能夠避免陷入局部最優問題,得到更高性能的BLS模型。
本文提出基于預測誤差校正的BLS短期風電功率預測方法。考慮到預測誤差序列對預測帶來的影響,通過變分模態分解與麻雀算法優化寬度學 習(Variational Mode Decomposition and Sparrow Algorithm Optimized Broad Learning System,VMD-SSA-BLS)模型對誤差進行分解預測,使短期風電功率的預測準確性得到提高,并采用沿海某風電場的實測數據進行仿真驗證。
VMD是一種自適應和非遞歸的分解方法[11]。主要思想是通過構造變分問題進行迭代求解。通過提前設置好的模態數K將非平穩信號f(t)分解出不同中心頻率和帶寬的子信號u(k),更新各模態函數及其中心頻率,當各模態的估計帶寬之和最小時結束更新得出最優解。過程如下[12]:
(1)通過Hilbert變換計算各模態分量的單邊頻譜,并估計出相應的中心頻率ωk。
(2)將各模態解析信號中心頻率的指數項e-jωkt進行混疊,并將各模態的頻譜轉換到對應的基頻帶。
(3)由高斯平滑法對各模態的帶寬大小進行預算,轉化為帶約束條件的變分求解問題:

式中:δ(t)為單位脈沖函數;*表示卷積;?(t)表示偏導;uk(t)為第k個分量;ωk為k個分量的中心頻率;f(t)為風電功率的時間數據。
對式(1)中的約束問題引入拉格朗日乘子λ和懲罰因子α,將其變為非約束的變分問題:

利用交替方向乘子法(ADMM)求解式(2)中的鞍點,更新相應變量uk、ωk、λ為

式中:n為迭代次數。
綜上可得,VMD的步驟如下:

(3)根據下式對拉格朗日乘子進行更新:

式中:ο為更新因子。
(4)判斷下式的收斂條件是否滿足要求

式中:ε為判別精度。若滿足則停止分解;否則對迭代次數n進行加1,并返回步驟2。
麻雀搜索算法(Sparrow Search Algorithm,SSA)由薛建凱等[13]于2020年提出。SSA對種群內部進行明確的分工,一部分麻雀作為發現者(10%~20%)進行尋食,為加入者的覓食范圍和方向提供參考。剩余麻雀作為加入者從發現者上獲食,發現者和加入者之間可以互換,但比例保持恒定。隨機選取發現者和加入者中的麻雀(10%~20%)作為偵察者進行監視,當有麻雀意識到危險,會及時發出警報信號,整個種群會立刻做出反捕食行為。
發現者位置更新如下:

式中:imax為算法的最大迭代次數;α為(0,1]之間的隨機數;R2∈[0,1]、ST∈[0.5,1]為預警值和安全閾值;Q為隨機數且服從正態分布;L為1×d且元素為1的矩陣,d為麻雀維數。
加入者位置更新如下:

偵察者位置更新如下:

式中:為第t次迭代時的全局最佳位置;β為服從正態分布的隨機數,以控制步長;v為[-1,1]的隨機數;fi、fg和fw分別為當前麻雀的適應度、全局最優和最差適應度;c為常數以避免除數為零。
SSA基本流程:
(1)種群初始化;
(2)計算麻雀種群個體適應度函數,求出當前最佳位置、最差位置和最差適應度;
(3)根據式(7)~(9)對發現者、加入者和偵察者位置進行更新;
(4)對適應度進行更新;
(5)若達到最大迭代次數,算法停止尋優,否則返回步驟3。
BLS系統是由Chen等[14]提出的一種新型神經網絡。BLS一共有3層,分別為映射層、強化層和輸出層。數據經過映射層生成特征節點,之后特征節點通過強化層生成增強節點,特征節點和增強節點均與輸出層直接連接,如圖1所示。

圖1 BLS網絡
在網絡中共有b組特征節點,每組包含f個節點,m個增強節點。對樣本X進行特征映射:

式中:Wfi、βfi為[-1,1]的隨機數;?(?)為一個映射函數。所有特征節點可以表示為:Z=[Z1,Z2???,Zb],那么增強節點可以表示為

式中:Wm、βm為[-1,1]的隨機數;ξ(?)為激活函數。
因此,寬度學習網絡輸出模型可以表示為

式中:H=[Z|E];W為將特征節點和增強節點連接到輸出層的輸出權重。
在訓練過程中,Wfi、Wm、βfi和βm的值均不發生改變,又已知Y和H的值,故只需對W進行求解,即

式中:H+為廣義逆矩陣。
BLS訓練步驟如下:
(1)對數據劃分為訓練集Xtrain、Ytrain,驗證集Xtext、Ytext;
(2)根據式(10)、(11)計算Xtrain的特征節點和增強節點,得到中間層訓練矩陣Htrain;
(3)根據式(13)計算BLS的輸出權重W=
(4)計算Xtext的特征節點與增強節點,得到中間層驗證矩陣Htext;
(5)根據Ytext=HtextW得到預測值。
為了提高模型的魯棒性,采用SSA對BLS模型中的特征層b、特征節點f、增強節點m進行尋優,采用平均絕對百分比誤差作為SSA算法的適應度函數。
SSA-BLS具體算法步驟如下:
(1)初始化SSA算法中的參數。參數為麻雀種群規模P,麻雀算法的迭代次數imax,發現者個數p,偵察者個數s,最優適應度值F等。
(2)初始化種群。種群維度設定為3維,分別代表BLS的參數特征層b、特征節點f、增強節點m。
(3)根據平均絕對百分比誤差計算種群中所有麻雀的適應度值,得到當前最佳適應度的麻雀個體。
(4)執行SSA算法。
(5)判斷迭代次數或精度是否達到設置的要求,滿足則得出最優值,否則返回到步驟3。
(6)得到最優值,將優化的參數用于建立SSA-BLS的預測模型。
對風電功率進行預測時,由于風電功率序列的隨機性、非線性等特點,對預測效果產生很大的影響,單一的預測模型無法對風電功率進行精準的預測。本文通過BLS作為基礎模型對風電功率進行預測,將訓練誤差和預測誤差組成誤差序列作為樣本;對誤差序列進行VMD分解,對分解后的各子模態分別建立SSA-BLS回歸預測模型進行誤差預測;將各子模態誤差預測值疊加求和補償給功率預測值,得到最終的風電功率預測值,如圖2所示。

圖2 VMD-SSA-BLS模型的預測流程
為了驗證本文所提算法的有效性,選取沿海某風電場2012年7月份的實際采集數據為研究對象,容量為16 MW,采樣間隔為1 h。共將768組樣本數據通過VMD-SSA-BLS誤差校正模型進行分析和預測,輸入特征選為風電功率之前的數據,根據相關度分析,選取前8個時刻的數據作為輸入特征向量,前672組數據作為訓練數據,后96組數據作為測試數據。
對原始風電功率時間序列歸一化處理后進行BLS模型預測,產生的誤差序列進行VMD分解,分解時需要確定模態數K的值。K值選擇過大會造成信號特征分量過分解,K值選擇過小又會造成信號特征分量欠分解,導致各分量模態混疊,無法準確提取信號中包含的特征分量。K的確定需判斷VMD分解的最后一個模態分量與風電功率序列的相關系數是否小于5%[15],因此本文選取參數K=6、α=800,VMD分解結果如圖3所示。
通過SSA優化后的BLS網絡對圖3中VMD分解的分量進行預測。在SSA參數中,種群規模為20,迭代次數為50次,發現者個數為14,偵察者個數為6。在BLS中,增強節點的激活函數為‘tansig’,參數特征節點f和特征層b設置為[1,50],增強節點m范圍設置為[1,1 000]。通過SSA優化后的BLS網絡對各分量誤差預測結果如圖4所示。

圖3 VMD分解

圖4 各分量誤差預測曲線
從圖4可以看出,對VMD分解后的各分量進行SSA-BLS建模并預測的曲線擬合度高。表明SSA-BLS模型預測較好,VMD分解可以很好地去除誤差的部分噪聲,使誤差序列變得更平滑。對各分量預測誤差疊加結果如圖5所示。

圖5 誤差預測曲線
從圖5可以看出,VMD-SSA-BLS模型對誤差預測最終結果中,誤差預測結果的擬合度非常高,尤其是在誤差的極點處重合度較高。因此,通過VMD-SSA-BLS模型對誤差進行處理后,預測效果非常明顯。
建立BLS、SSA-BLS、經驗模態分解與麻雀算法寬度學習(EMD-SSA-BLS)、集合經驗模態分解與麻雀算法寬度學習(EEMD-SSA-BLS)、VMDSSA-BLS等5種模型來更好地對預測結果進行對比。評價指標選取均方根誤差(RMSE)、相對百分誤差絕對平均值(MAPE)和絕對平均誤差(MAE)。
各模型預測結果如圖6所示,預測誤差指標如表1所示。
為驗證組合模型預測的有效性及精度,將VMD-SSA-BLS與BLS、SSA-BLS、EMD-SSABLS、EEMD-SSA-BLS等預測模型的預測結果分別與實際值進行比較。由圖6可知,經SSA優化后的BLS模型預測結果要優于單一模型BLS;通過EMD、EEMD和VMD分解方法對非線性、非平穩性的風電功率誤差序列進行處理之后再預測的曲線擬合效果中,VMD對風電功率誤差序列的分解效果要優于EMD、EEMD。由表1可知,本文提出的VMD-SSA-BLS模型對風電功率預測的結果評價指標MAE、RMSE、MAPE值均小于BLS、SSABLS、EMD-SSA-BLS、EEMD-SSA-BLS等4種模型。VMD-SSA-BLS模型各項指標綜合表現最優,因此本文的預測方法與傳統預測方法相比,在一定程度上提高了預測模型的準確性。

圖6 各模型預測曲線

表1 各模型預測誤差指標
針對風電功率短期預測,提出了一種基于VMD-SSA-BLS的誤差校正組合預測模型,通過實際風電場的運行數據進行驗證,得出以下結論:
(1)通過沿海某風電場的實測數據進行仿真驗 證,并 與BLS、SSA-BLS、EMD-SSA-BLS、EEMD-SSA-BLS等模型進行比較。結果表明,VMD-SSA-BLS算法模型的預測效果更好。
(2)采用SSA優化BLS的參數能夠提高模型泛化能力和預測準確性。
(3)在預測誤差校正時,考慮到風電功率序列預測誤差的非平穩性,采用對誤差序列進行VMDSSA-BLS模型預測的效果優于直接對誤差預測的傳統模型效果。