常雨芳,朱自銘,唐 楊,黃文聰
(湖北工業(yè)大學 電氣與電子工程學院,湖北 武漢 430068)
風能作為潔凈高效的綠色新能源,有極大的隨機性與波動性。所以對短期風電功率預測成為風電行業(yè)熱點問題[1~4]。風電功率預測方法分為基于物理學、統計學和機器學習三類方法[5~10]。物理方法需要現實數據,計算復雜。統計學方法通過分類法對不同時間序列分類,對其所屬類型匹配預測模型預測。在基于統計學預測模型中,常見分類方法包括模糊聚類法[11]和基于空間相關性的分類方法[12],預測方法有移動平均法、自回歸法和自回歸差分移動平均法[13]。為了提高預測精度,引入機器學習模型,包括支持向量機(support vector machines,SVM)[14]、極限學習機[15]和神經網絡[16]等。采取智能優(yōu)化算法對機器學習模型參數尋優(yōu)[17,18]是一大研究熱點。最小二乘支持向量機(least square support vector machine,LSSVM)因其擁有優(yōu)秀的回歸預測性、易實現從而廣泛應用,但該法的核函數參數σ和懲戒參數γ主要依靠人為經驗選取,精度不能滿足實際需求[19]。
本文提出一種基于完備總體經驗模態(tài)分解(complementary ensemble empirical mode decomposition,CEEMD)改進麻雀搜索算法(sparrow search algorithm,SSA)優(yōu)化LSSVM(SSA-LSSVM)算法的預測方法,并通過某實測風電場數據進行仿真驗證,證明上述改進算法在某種情況下具有更加準確可靠的預測性能。
CEEMD向待分解數據信號中加入大小相等符號相反的輔助噪聲信號[20]。CEEMD 有較好的自適應性和完備性,既減輕了經驗模態(tài)分解(empirical mode decomposition,EMD)算法的模態(tài)混疊現象,又不會對原始信號產生較大影響;因LSSVM 預測模型時間序列存在自相關性,上述CEEMD方法可以降低自相關性影響,最終表現在減少預測曲線滯后性。其主要步驟如下:
1)在原始時間序列Z(t)中,添加符號相反的輔助噪聲信號εi(t)
式中 cij為第i次添加輔助白噪聲,再分解的第j個模態(tài)分量,正負號分別為添加正負輔助噪聲信號,重復步驟n 次,得n組本征模態(tài)分量,最后一組命名為趨勢項(Res)。計算集合平均值,得最終模態(tài)分量組ci(t)
LSSVM 將SVM 中非等式約束條件轉化為等式約束[21]。對于樣本集{(xi,yi)},其中,xi∈Rn為訓練樣本的輸入向量,yi∈R為對應預測輸出,N為樣本個數,n為向量維數,利用非線性函數φ(x),將樣本映射到高維特征空間,得出其回歸預測模型
式中 wT為特征空間內權重向量,b為偏差,b∈R。
當LSSVM用于回歸任務時,依據最小化結構風險原則,優(yōu)化模型可表示如下
式中 γ為懲戒參數,ξi為松弛變量,?(xi)為原始數據映射之后的值,s.t.為約束條件,其他變量參考式(4),然后利用拉格朗日乘子法與KKT條件求解,可以獲得回歸函數如下所示
式中 αi為拉格朗日乘子,K(x,xi)為核函數。用RBF 為核函數,得表達式為
式中 σ為核寬度值,為自由參數,其中x與xi為原始序列值,對LSSVM預測精度與收斂速度影響較大的核函數參數σ和懲戒參數γ,本文用SSA對σ和γ尋優(yōu)。
1.3.1 SSA
SSA是依據麻雀覓食與逃避捕食者提出的群智能優(yōu)化算法。麻雀分為發(fā)現者與追隨者,發(fā)現者提供覓食區(qū)域與方向,追隨者追隨發(fā)現者[22]。發(fā)現者會較快找到食物,職責是引導追隨者尋食方向,所以發(fā)現者搜索范圍比追隨者大。
每一次迭代過程中,更新發(fā)現者位置為
式中 t為當前迭代次數,itermax為最大迭代次數。為第i個麻雀于第j維里的位置信息,為發(fā)現者更新之后位置。其中,α∈(0,1]為一個隨機數。R2∈(0,1]與ST∈[0.5,1]分別為預警值與安全值。Q 為服從正態(tài)分布隨機數。L為1 ×d矩陣,每個元素為1。
追隨者位置更新為
式中 Xp為目前發(fā)現者所占據的最優(yōu)位置;Xworst則為當前全局最差的位置;t 和t +1 則分別為原始時刻和更新之后時刻;A為一個1 ×d矩陣,其中每個元素都被隨機賦值為1或-1,并且A+=AT(AAT)-1,其中,A+是偽逆矩陣。
當意識到危險時,種群做出反捕食行為,其數學表達式如下
式中 Xbest為全局最優(yōu)位置;β為服從方差為1 正態(tài)分布隨機數的步長控制參數;K∈[-1,1]為一個隨機數,表示麻雀移動的方向,同時它也是步長控制參數;fi為目前該麻雀個體適應度值;當前全局最佳與最差的適應度值為fg和fw;ε為最小的常數,以避免分母出現零的現象。當fi>fg時為麻雀容易受到攻擊;當fi=fg時為麻雀向其他個體靠近。
1.3.2 改進SSA
針對傳統SSA在迭代后期種群多樣性減少,容易陷入局部最優(yōu)等難題,提出加入混沌序列與交換學習策略的改進SSA。通過引入混沌序列,提高了初始解質量,使初始麻雀位置分布更加均勻,增加了種群多樣性,通過交換學習策略增強了全局搜索能力。
混沌映射表達式如下
式中 NT為混沌序列中的粒子個數,rand(0,1)為[0,1]之間的隨機數,zi和zi+1分別為原始的種群和更新之后的種群,mod指取模運算。據混沌映射特性,于域中產生混沌序列步驟如下:1)隨機產生(0,1)內的初值z0,記i =0。2)利用上述式子進行迭代,產生Z序列,同時i自增1。3)如果迭代的次數滿足最大次數,則程序停止運行,同時保存產生的Z序列,并將之作為麻雀算法的初始種群。
交換學習策略操作具體是在不同種群的相同維度中進行相互交叉運算,提高數據交互性[23]。針對SSA全局搜索能力不強問題,采用交換學習策略對警戒者位置更新。第一步將父代個體進行隨機的配對,于第d 維進行交換學習操作,公式如下
本文采用數值天氣預報(numerical weather prediction,NWP)數據輸入為4維,有風速、風向、溫度、濕度;輸出為風機功率。
本文采用CEEMD對風功率時間序列進行分解,可降低預測模型中自相關性,避免預測值滯后于實際值,再采取預測性能強的LSSVM作為模型主體進行風功率預測。同時,采用改進SSA對LSSVM的核函數參數和懲戒參數優(yōu)化,可改善LSSVM預測精準性?;贑EEMD和改進SSA-LSSVM的超短期風功率預測模型基本流程,如圖1所示。
圖1 風功率聯合預測模型
基本流程如下:1)CEEMD 分解,得IMF 分量;2)利用SSA-LSSVM預測模型對多個IMF分量分別進行預測,對結果進行求和,得到CEEMD-SSA-LSSVM預測結果;3)結果分為測試集訓練結果與訓練集預測結果,將訓練集的預測結果輸入到改進SSA參數尋優(yōu)中,可以獲得最優(yōu)核函數參數和懲戒參數,最后將最優(yōu)值輸入模型得到最優(yōu)SSA-LSSVM預測模型,再將測試集代入得到預測結果。
本文采取中國西北部某風電場實際數據進行預測,其中風機負荷時序如圖2(a)。10 min一次采樣,取2173組數據,其中1 522 組為模型訓練集,余下為測試集。風功率NWP數據是輸入,輸出為風功率,同時將預處理之后數據進行分解之后的負荷時序如圖2(b)所示。
圖2 風電場功率時序與風速數據CEEMD
平均絕對誤差(mean absolute error,MAE)、平均絕對百分比誤差(mean absolute percentage error,MAPE)和均方根誤差(root mean square error,RMSE)為評價指標[24]。為增加可靠性,將仿真程序運行時間和自相關函數(autocorrelation function,ACF)新增為評價指標,ACF 是用來計算時間序列自相關性。ACF描述的是一組時間序列和其前面間隔n個時刻的一組時間序列相關性[25]
式中 et為t時預測絕對誤差值;Rt為t 時真實值;m 為預測時間點數。式(17)中,ρ(t1,t2)是同一時間序列不同時間的相關性,βt1和βt2分別為t1和t2時間序列的方差,α(t1,t2)為上述兩時間序列協方差。
3.3.1 預測模型滯后性分析
為了驗證本文中所提到的CEEMD方法可以改善預測算法自相關性,減少預測曲線滯后性,本文將單一預測模型LSSVM,單一預測模型SVM,SSA-LSSVM,CEEMD-LSSVM,CEEMD-SVM,CEEMD-SSA-LSSVM聯合預測模型645 組預測結果進行對比分析,并且將部分數據局部放大,突出不同預測模型預測效果。在MATLAB 2020b 實驗平臺進行仿真,預測結果與局部放大如圖3、圖4所示。
圖3 預測模型結果
圖4 CEEMD分解預測模型結果
圖3(b)和圖4(b)均為選取的430 ~460 數據段,仿真結果表明:該段數據的分離性好,可以充分論證結論。綜合實驗數據和圖像可得:
1)從圖3(b)和表1 中可知,SSA-LSSVM 預測模型的MAPE值是10.0894%,優(yōu)于單一LSSVM和SVM預測模型的11.5454%與11.6632%,分別提升了10.6732%和13.4937%,同時其平均預測準確度提高了5.7496%與6.9583%,說明聯合預測模型預測精度比單一高,也減少運行時間。
表1 不同模型的誤差指標對比
2)由圖3(b)和圖4(b)對比可知,圖中的LSSVM 與CEEMD-LSSVM模型的預測曲線與實際值滯后性降低,證明CEEMD分解可以極大改善預測數據的自相關性,表現在可以將部分預測曲線的滯后性大大降低,使預測值更加貼近實際值,提高了預測模型的應用價值,實驗結果表明上述方法可以將LSSVM單一預測模型的自相關性減少13.6%。通過進一步觀察圖3(b),證明了CEEMD 分解對SSA-LSSVM聯合預測模型比單一預測模型改善效果更好。
3.3.2 基于改進SSA的聯合預測模型
本文將改進SSA-SVM,原始SSA-SVM 預測模型,改進SSA-LSSVM 預測模型,原始SSA-LSSVM 和鯨魚優(yōu)化算法(whale optimization algorithm,WOA)優(yōu)化的LSSVM 模型5種模型的預測結果進行對比分析,并且將它們的局部放大顯示,以便更加方便直觀地觀察出實際區(qū)別。仿真實驗均在MATLAB 2020b實驗平臺進行,其預測結果與局部放大如圖5所示。誤差指標對比如表2。
表2 不同模型的誤差指標對比
圖5 不同模型預測結果
圖5(b)為選取545~595 數據段,通過仿真可得:該段數據分離性好,可以充分論證結論。綜合實驗數據和圖像可得:圖5中改進SSA提升了LSSVM預測模型精度。本文提出的引入混沌序列和交換學習策略的改進SSA具有優(yōu)越性,通過引入混沌序列,提升初始解質量,讓初始麻雀位置分布更均勻,增加了種群多樣性;引入交換學習策略增強算法全局搜索能力。結果顯示,上述方法較SSA-LSSVM 預測精度提高26.73%,即改進后SSA對LSSVM 預測模型核函數和懲戒參數有較高尋優(yōu)精度,提高了預測模型應用價值。
從表2中可知,CEEMD—改進SSA-LSSVM 預測模型的MAPE值是9.073 4 %,優(yōu)于原始SSA-LSSVM 預測模型的11.123 6%,提升了18.4310%;優(yōu)于原始CEEMD-SSA-SVM模型的11.545 4%,提升了10.759 5%;優(yōu)于CEEMD-WOALSSVM的10.369 4%,提升了12.498 3%。實驗結果證明:提出的聯合預測模型相較于上述預測模型有更好預測精度,其運行時間較其他模型略微增加。
通過實例仿真得到以下結論:
1)CEEMD對數據分解,得到穩(wěn)定分量,強化模型對時間序列的學習捕捉能力,極大解決了非線性原始數據不平穩(wěn)導致誤差較大的問題,同時改善了數據自相關性,最終表現在降低了預測曲線滯后性上,提高預測模型使用范圍。
2)本文通過組建聯合預測模型,運用仿真平臺對比可以得到改進后的SSA 對LSSVM 預測模型的核函數和懲戒參數優(yōu)化有較大提升,通過引入混沌序列,提升初始解質量,讓初始麻雀位置分布更均勻,增加了種群多樣性;引入交換學習策略增強算法全局搜索能力。測試結果表明,改進后的SSA優(yōu)化了傳統SSA 在迭代后期種群多樣性減少,容易陷入局部最優(yōu)等難題,具有較好應用價值。