王 瑞, 高 強, 逯 靜
(1.河南理工大學(xué) 電氣工程與自動化學(xué)院,河南 焦作 454000;2.河南理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,河南 焦作 454000)
隨著光伏發(fā)電的迅速發(fā)展,大規(guī)模的光伏并網(wǎng)對電力系統(tǒng)的沖擊越來越明顯,準確的短期光伏功率預(yù)測,能夠有效地緩解光伏并網(wǎng)對電力系統(tǒng)造成的壓力,對確保電網(wǎng)穩(wěn)定運行和資源合理分配有重要的意義[1,2]。
目前,人們通常分析光伏發(fā)電功率數(shù)據(jù)歷史規(guī)律與外部影響因素之間的關(guān)聯(lián),建立預(yù)測模型,對短期光伏功率進行預(yù)測[3~14]。文獻[6]利用智能優(yōu)化算法改進最小二乘支持向量機(least squares support vector machine,LSSVM),優(yōu)化了光伏功率預(yù)測效果,但忽略了輸入特征對預(yù)測效果的影響。文獻[4,7]利用差分自回歸移動平均(autoregressive integrated moving average,ARIMA)模型分別進行光伏功率與風(fēng)功率預(yù)測,ARIMA模型表現(xiàn)出優(yōu)越的時間序列預(yù)測性能。文獻[8,9]分別采用小波包和經(jīng)驗?zāi)B(tài)分解(empirical mode decomposition,EMD)將光伏功率序列分解,降低光伏功率序列的非平穩(wěn)特征。EMD克服了小波分解需預(yù)先人為經(jīng)驗選擇基函數(shù)與分解層數(shù)的缺陷,但分解過程存在模態(tài)混疊現(xiàn)象。集成經(jīng)驗?zāi)B(tài)分解(EEMD)、完備集成經(jīng)驗?zāi)B(tài)分解(CEEMD)和CEEMDAN為EMD的改進方法,采用不同的方式消除模態(tài)混疊現(xiàn)象,其中CEEMDAN表現(xiàn)出良好的性能,被廣泛應(yīng)用于多個領(lǐng)域[10~12]。一些學(xué)者在預(yù)測過程中引入誤差修正機制,有效地提升了光伏功率的預(yù)測精度[13,14]。
本文提出一種基于CEEMDAN-LSSVM-ARIMA模型的短期光伏功率預(yù)測方法。通過CEEMDAN將光伏功率序列分解成相對平穩(wěn)的不同子序列;考慮到子序列頻率特征變化對模型輸入特征的影響,利用增量搜索法改進LSSVM,增加其自適應(yīng)選擇適合輸入特征的能力,對各子序列分別建立改進LSSVM預(yù)測模型,求和重構(gòu)各子序列預(yù)測結(jié)果得初步預(yù)測值;分析誤差序列特征,發(fā)現(xiàn)誤差序列的變化呈現(xiàn)一定的規(guī)律,視誤差序列為時間序列,建立ARIMA誤差修正模型,將誤差預(yù)測值與初步預(yù)測值疊加得到最終預(yù)測結(jié)果。
CEEMDAN在EMD的基礎(chǔ)上,通過自適應(yīng)添加高斯白噪聲,克服了模態(tài)混疊現(xiàn)象,有效地分解非平穩(wěn)的序列。采用CEEMDAN分解光伏功率序列的具體步驟如下:
設(shè)Y為歷史光伏功率序列,Ej(*)為經(jīng)EMD產(chǎn)生的第j階模態(tài)分量算子,ωn(t)為第n次添加的高斯白噪聲序列,IMFk為經(jīng)CEEMDAN得到的第k階本征模態(tài)分量序列,δk-1為求解IMFk的自適應(yīng)系數(shù)。
1)向原始序列Y中添加自適應(yīng)高斯白噪聲δ0ωn(t),n=1,2,…,N為添加的次數(shù),即
Yn=Y+δ0ωn(t)
(1)
(2)
r1=Y-IMF1
(3)
2)向余量序列r1中添加自適應(yīng)高斯白噪聲δ1E1(ωn(t)),n=1,2,…,N,即
r1n=r1+δ1E1(ωn(t))
(4)
對r1n分別進行EMD分解,則CEEMDAN分解的二階本征模態(tài)分量序列IMF2為
(5)
3)對k=2,3,…,K,重復(fù)步驟(2),得到第k+1階本征模態(tài)分量序列和第k個殘余分量序列,即
(6)
rk=rk-1-IMFk
(7)
4)直到殘余分量序列的極值點個數(shù)不超過2個為止,最終殘余分量序列R為
(8)
歷史光伏功率序列Y經(jīng)CEEMDAN分解成K個本征模態(tài)分量序列IMFk和一個殘余分量序列R,共K+1個子序列。
LSSVM遵循結(jié)構(gòu)風(fēng)險最小化原則,在SVM的基礎(chǔ)上,將損失函數(shù)構(gòu)造成最小二乘函數(shù),不等式約束轉(zhuǎn)成等式約束,進而將二次規(guī)劃問題的求解轉(zhuǎn)換成了求解線性方程組。LSSVM目標(biāo)優(yōu)化函數(shù)為
s.t.yi=ωTφ(xi)+b+ξi,i=1,2,…,n
(9)
式中c為正則化參數(shù);ξi為誤差變量;ω為法向量;b為偏置量。
引入拉格朗日算子,根據(jù)KKT條件和Mercer條件,最終得到的回歸函數(shù)為
(10)
式中k(xi,xj)為核函數(shù),通常采用徑向基核函數(shù),根據(jù)式(10)進行回歸預(yù)測。
客觀自適應(yīng)選擇適合的輸入特征,是確保LSSVM預(yù)測效果的關(guān)鍵。文中考慮的影響因素包括太陽直射輻照度、散射輻照度、總輻射輻照度、氣溫、板溫、溫差、濕度和氣壓,8個特征,可能的組合數(shù)為(2m-1),m=8,即255個,因此通過遍歷所有的組合選擇適合的輸入特征是不可取的。
增量搜索法[15]的核心思想是,從剩余的特征中每次選擇一個特征,添加到現(xiàn)有的輸入特征中,使其目標(biāo)變量相比上一次變化最多。由增量搜索法獲得適合的輸入特征,最多只需篩查m(m+1)/2,m=8,即36個組合。
因此,文中以訓(xùn)練誤差為目標(biāo)變量,采用增量搜索法改進LSSVM,使其自適應(yīng)選擇適合的輸入特征。改進LSSVM自適應(yīng)選擇適合輸入特征,進行光伏功率預(yù)測的步驟如下:
1)設(shè)初始輸入特征集D為空集,初始訓(xùn)練誤差e為0;
2)將原始特征集Sm=(x1,x2,…,xm)中每個特征按順序保留在D中,得候選特征集D1,D2,…,Dm;
3)將對應(yīng)Dm的樣本數(shù)據(jù)輸入到LSSVM中,由粒子群優(yōu)化(particle swarm optimization,PSO)算法優(yōu)化正則化參數(shù)和核函數(shù)參數(shù),并行法[16]得訓(xùn)練誤差e1,e2,…,em;
4)將對應(yīng)min{e1,e2,…,em}的特征保存在D中,保存e=min{e1,e2,…,em};
5)對剩余特征P={Sm-D}執(zhí)行步驟(2)和步驟(3),由式(11)保存對應(yīng)特征到D中,對應(yīng)誤差賦值給e
(11)
式中ea為候選特征集訓(xùn)練誤差,τ>0為終止條件,文中設(shè)定τ=e/10;
6)繼續(xù)對P={Sm-D}執(zhí)行步驟(5),直到式(11)不成立或Sm為空集;
7)獲得模型的適合輸入特征D,輸入預(yù)測樣本數(shù)據(jù),進行光伏功率預(yù)測。
由于分解模型和預(yù)測模型的自身限制,由初步預(yù)測結(jié)果和實際值構(gòu)造誤差序列,分析發(fā)現(xiàn)其變化呈現(xiàn)一定的規(guī)律[17]。將誤差序列視為隨機時間序列,利用ARIMA模型進行誤差修正,ARIMA模型可表示為
(12)
式中L為滯后算子,d為差分階數(shù),φi為自適應(yīng)系數(shù),θi為移動平均系數(shù),p為自回歸階數(shù),q為移動平均階數(shù),εt為殘差序列。
建立ARIMA誤差修正模型的步驟如下[7]:1)由ADF單根檢驗誤差序列是否平穩(wěn),若不平穩(wěn),對誤差序列d次差分后繼續(xù)檢驗,確定差分階數(shù)d;2)根據(jù)誤差序列自相關(guān)和偏自相關(guān),由赤池信息準則(Akaike information criterion,AIC)選擇p和q的階數(shù),以AIC值最小確定p和q;3)利用最小二乘法估計模型的參數(shù),通過參數(shù)顯著性檢驗和殘差白噪聲檢驗判斷、選定參數(shù);4)建立ARIMA誤差修正模型并預(yù)測。
提出基于CEEMDAN-LSSVM-ARIMA模型的短期光伏功率預(yù)測方法,預(yù)測未來1 h(4個節(jié)點)光伏發(fā)電功率。光伏功率預(yù)測模型如圖1。
圖1 光伏功率預(yù)測模型
光伏功率預(yù)測模型的步驟如下:
1) 獲取目標(biāo)光伏電站實際數(shù)據(jù),取采樣點前后3~6個時間節(jié)點的平均值補全缺失數(shù)據(jù)。記Y為歷史光伏功率序列,由CEEMDAN將Y分解為K+1個子序列,分別記為W1,W2,…,Wk+1,其中,前K個為本征模態(tài)序列IMFk,第K+1個為殘余序列R。
2)對各子序列分別建立改進LSSVM模型,并輸入影響因素;預(yù)測模型自適應(yīng)選擇適合的輸入影響因素特征進行預(yù)測,各子序列預(yù)測結(jié)果為u1,u2,…,uk,uk+1。
3)由式(13)對各子序列預(yù)測結(jié)果求和重構(gòu),得光伏功率初步預(yù)測結(jié)果Y′,由式(14)得到誤差時間序列e
(13)
e=Y-Y′
(14)
4)分析誤差特性,建立ARIMA誤差修正模型,輸入誤差數(shù)據(jù)序列e,進行訓(xùn)練和預(yù)測,誤差預(yù)測結(jié)果為e′。
5)疊加初步預(yù)測結(jié)果和誤差預(yù)測結(jié)果得最終光伏功率預(yù)測結(jié)果
(15)
6)預(yù)測結(jié)果評價,文中采用平均絕對誤差(MAE)和均方根誤差(RMSE)衡量模型的預(yù)測性能,其值越小,模型性能越好
(16)
(17)
式中n為預(yù)測總數(shù);Yi為第i個節(jié)點實際光伏發(fā)電功率值,i為第i個節(jié)點預(yù)測光伏發(fā)電功率值。
從江蘇某地區(qū)光伏電站2015—2016年實測數(shù)據(jù)中,多次隨機按順序選100天數(shù)據(jù)進行仿真實驗,從中隨機選一組(2016年5月23日~8月30日)對最后5天(8月26日~30日)的光伏功率進行預(yù)測分析??傃b機容量為100 MW,數(shù)據(jù)采樣周期為15 min,時間為每天06︰00—18︰00。光伏功率序列和經(jīng)CEEMDAN分解序列分別如圖2和圖3。由圖2和圖3可看出,光伏功率序列具有非平穩(wěn)性,被CEEMDAN分解成11個子序列,IMF1~10為本征模態(tài)子序列,R為剩余子序列,降低了非平穩(wěn)性的影響。
圖2 光伏功率序列
圖3 光伏功率分解序列
對子序列分別建立改進LSSVM預(yù)測模型, 模型根據(jù)輸入的子序列數(shù)據(jù)和影響因素特征數(shù)據(jù),自適應(yīng)選擇適合的輸入影響因素特征進行子序列預(yù)測;為弱化偶然性的影響,連續(xù)運行20次取平均值作為預(yù)測結(jié)果。PSO算法中,進化次數(shù)N=200,種群規(guī)模M=20,學(xué)習(xí)因子c1=1.5,c2=1.7,慣性權(quán)重w=0.5。
求和重構(gòu)子序列預(yù)測結(jié)果得光伏功率初步預(yù)測結(jié)果,由初步預(yù)測結(jié)果和功率實際值構(gòu)造誤差時間序列,并進行分析,誤差時間序列和誤差的自相關(guān)和偏自相關(guān)如圖4,圖5所示。
圖4 誤差序列
圖5 誤差的自相關(guān)和偏自相關(guān)
由圖4,圖5可看出,誤差時間序列的變化呈現(xiàn)一定規(guī)律,存在一定程度的自相關(guān)和偏自相關(guān)。為進一步提高預(yù)測精度,采用 ARIMA模型對誤差進行修正預(yù)測,經(jīng)多次實驗分析,設(shè)定差分次數(shù)、自回歸和移動平均階數(shù)上限dmax=5,pmax=8,qmax=8,具體參數(shù)組合根據(jù)ADF單根檢驗和由AIC準則自適應(yīng)選定。連續(xù)5天的誤差預(yù)測結(jié)果如圖6所示,從圖中可看出,通過ARIMA模型能夠有效地進行誤差修正預(yù)測。將誤差預(yù)測結(jié)果與初步預(yù)測結(jié)果疊加,以修正初步預(yù)測結(jié)果得到最終的預(yù)測結(jié)果,提升模型的預(yù)測精度。
圖6 誤差修正預(yù)測結(jié)果
記P為皮爾森相關(guān)性分析,分別建立CEEMDAN-P-BP模型(方法一),CEEMDAN-P-LSSVM模型(方法二),CEEMDAN—改進LSSVM模型(方法三)和CEEMDAN—改進LSSVM-ARIMA模型(本文方法)對8月26~30日連續(xù)5天的光伏功率進行預(yù)測。其中,BP,LSSVM中的重要參數(shù)均采用PSO進行尋優(yōu)。各方法預(yù)測結(jié)果曲線如圖7所示,各方法預(yù)測誤差如表1所示。
圖7 8月26~30日各種方法預(yù)測結(jié)果
分析圖7中預(yù)測結(jié)果,可得出,方法一和方法二在一定程度上能夠預(yù)測出功率的整體趨勢,但預(yù)測結(jié)果曲線與實際曲線擬合度差,局部偏差較大;方法三和本文方法因其采用的改進LSSVM模型能夠自適應(yīng)選擇輸入特征進行預(yù)測,預(yù)測結(jié)果與實際值擬合度高,波動性小,曲線相似度高,表明改進LSSVM模型的性能優(yōu)于傳統(tǒng)的LSSVM模型。
在圖7(b)光伏功率由較大波動序列(8月27日)轉(zhuǎn)換為較穩(wěn)定序列(8月28日),及圖7(c)光伏功率穩(wěn)定序列的局部突變情況下,方法一和方法二的預(yù)測結(jié)果都出現(xiàn)了局部明顯的偏離;方法三和本文方法預(yù)測結(jié)果僅有短暫輕微的波動,仍能較好地預(yù)測光伏功率的變化趨勢,表現(xiàn)出較好的預(yù)測效果。
表1 各中方法預(yù)測誤差
結(jié)合圖7和表1,分析得出,本文方法和方法三在整體上都能較好地預(yù)測短期光伏功率的變化趨勢,預(yù)測誤差較??;方法三的預(yù)測平均誤差MAE值為3.98 MW,RMSE值為5.23 MW,明顯低于方法一和方法二;由于利用ARIMA模型進行誤差修正補償,本文方法預(yù)測誤差進一步降低,預(yù)測平均誤差MAE值為2.73 MW,RMSE值為3.69 MW;在光伏功率波動程度相似(8月29日~30日)情況下,本文方法預(yù)測誤差基本保持穩(wěn)定,驗證了本文方法的有效性。
1) 光伏功率序列經(jīng)CEEMDAN分解為不同頻率的子序列能夠降低光伏功率的復(fù)雜度,有利于功率特性分析和建模預(yù)測。2) 改進的LSSVM模型加強了自適應(yīng)選擇適合輸入特征的能力,其性能優(yōu)于傳統(tǒng)的LSSVM,能提升光伏功率預(yù)測精度。3) 分析光伏功率預(yù)測誤差序列特性,發(fā)現(xiàn)誤差變化存在一定的規(guī)律,ARIMA模型能夠有效的修正誤差,進一步提高光伏功率的預(yù)測精度。
光伏功率的分解子序列具有不同的特征變化,對其更高性能的預(yù)測方式還需深入研究,同時可以分析誤差序列特征,通過誤差修正進一步提高預(yù)測精度,今后將從這兩方面進一步對光伏功率預(yù)測進行研究。