徐先峰,鄭少杰,趙 依,王世鑫,蔡路路
(長安大學(xué)電子與控制工程學(xué)院,陜西 西安 710064)
光伏發(fā)電是我國應(yīng)對能源危機(jī)和經(jīng)濟(jì)發(fā)展新形勢的戰(zhàn)略新興產(chǎn)業(yè),光伏裝機(jī)量進(jìn)而也呈現(xiàn)“井噴式”的發(fā)展形勢[1]。然而,受氣象等因素的影響,光伏發(fā)電波動性大、間歇性強(qiáng)的特點對保證電力系統(tǒng)穩(wěn)定安全運行十分不利[2]。高精度的光伏發(fā)電功率預(yù)測在降低對電力調(diào)度的沖擊,幫助電力調(diào)度部門制定高效的發(fā)電計劃方面意義重大[3-4]。
近年來,深度學(xué)習(xí)由于其強(qiáng)大的數(shù)據(jù)挖掘和特征學(xué)習(xí)能力,廣泛應(yīng)用于光伏發(fā)電的預(yù)測。目前,使用較多的深度學(xué)習(xí)模型有長短期記憶網(wǎng)絡(luò)(LSTM)[5]、深度信念網(wǎng)絡(luò)(DBN)[6]等。文獻(xiàn)[5]通過考慮一天中連續(xù)幾小時之間光伏發(fā)電功率的依賴性,利用LSTM聯(lián)合預(yù)測多個輸出,但模型簡單,精度一般。文獻(xiàn)[6]建立基于DBN的短期光伏出力預(yù)測模型,光伏輸出功率預(yù)測精度較高。然而上述文獻(xiàn)考慮的因素較少,這與受多因素影響的光伏出力實際不符。組合模型之間能夠在很大程度上實現(xiàn)優(yōu)勢互補,因此預(yù)測模型也逐漸由單一模型向組合模型轉(zhuǎn)變。
據(jù)相關(guān)研究表明,先對具備時序性的光伏發(fā)電數(shù)據(jù)進(jìn)行分解有利于提高預(yù)測精度[7]。王育飛等[8]采用集合經(jīng)驗?zāi)B(tài)分解(EEMD)對隱含特征進(jìn)行優(yōu)化提取,但是EEMD加入白噪聲是非自適應(yīng)的。CEEMDAN算法通過在每個階段自適應(yīng)的添加白噪聲,實現(xiàn)重構(gòu)誤差幾乎為零,具備良好的時頻分辨率和適應(yīng)性[9]。DBN有效解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程中存在的低速和過擬合問題[10]?;贚STM的Seq2Seq架構(gòu)具備捕捉非線性數(shù)據(jù)間依賴關(guān)系的能力,有效提高輸出功率的預(yù)測精度[11]?;谏鲜龇治?,提出一種基于CEEMDAN-DBN-Seq2Seq的光伏發(fā)電預(yù)測組合模型。
如圖1所示為基于CEEMDAN-DBN-Seq2Seq光伏功率超短期預(yù)測的整體架構(gòu),該算法由CEEMDAN分解模塊、IMF重構(gòu)模塊及深度學(xué)習(xí)算法組成。CEEMDAN算法將原始數(shù)據(jù)進(jìn)行分解,IMF重構(gòu)模塊依據(jù)特性統(tǒng)計分析的結(jié)果重構(gòu),深度學(xué)習(xí)算法中DBN與Seq2Seq對重構(gòu)后數(shù)據(jù)進(jìn)行預(yù)測,通過求和得到最終預(yù)測結(jié)果。
圖1 基于CEEMDAN-DBN-Seq2Seq模型示意圖
CEEMDAN算法是一種可分解復(fù)雜時間序列的智能算法[12]。對于具有高度復(fù)雜且不穩(wěn)定特性的光伏出力原始數(shù)據(jù),通過CEEMDAN算法將復(fù)雜的發(fā)電序列轉(zhuǎn)換為簡單易學(xué)的子序列,將能有效提高預(yù)測模型的學(xué)習(xí)效率。針對信號x(t)的CEEMDAN算法分解步驟如下:
a.通過加入一系列自適應(yīng)白噪聲的方法生成含噪信號集,即
xi(t)=x(t)+ω0εi(t)
(1)
x(t)為原始信號;ω0為加入白噪聲的系數(shù)值;εi(t)(i=1,2,…,I)為第i次添加的滿足高斯分布的白噪聲,I為總數(shù),通常取值為10~20。
(2)
c.計算第一個信號余量r1(t),即
(3)
d.在r1(t)基礎(chǔ)上加入高斯白噪聲分量并進(jìn)行EMD分解,二階IMF有
(4)
Ej(·)為經(jīng)CEEMDAN分解后的的j階IMF;εj為白噪聲能量的控制參數(shù)。
e.計算第k個信號余量及k+1階IMF,即:
(5)
(6)
f.重復(fù)以上步驟,直至信號余量的極點個數(shù)取值為[0,2],表明余量已被分解完畢,公式為
(7)
則原始信號經(jīng)過CEEMDAN算法分解后為
(8)
DBN能夠迅速有效解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程中存在的低速和過擬合問題[13]。其中,DBN的訓(xùn)練過程包括預(yù)訓(xùn)練和微調(diào)2個部分,針對復(fù)雜環(huán)境下光伏預(yù)測的DBN網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 DBN基本結(jié)構(gòu)
序列到序列(Seq2Seq)模型率近年因其在時序信息處理方面能力突出,在電力領(lǐng)域有許多應(yīng)用,如非侵入式負(fù)荷分解、電力負(fù)荷預(yù)測等[14-15]。
Seq2Seq由編碼器、解碼器和中間語義向量C組成。即先在編碼器的作用下將輸入數(shù)據(jù)編碼形成向量,再由解碼器完成解碼過程。編、解碼器選用LSTM搭建Seq2Seq網(wǎng)絡(luò),結(jié)構(gòu)如圖3所示。
圖3 基于LSTM的Seq2Seq模型結(jié)構(gòu)
在編碼階段,Seq2Seq網(wǎng)絡(luò)輸入連續(xù)的時間序列x1,x2,…,xn,即為光伏出力殘差;然后通過編碼對所有隱藏時刻獲得C,傳遞到解碼階段。其計算過程為
(9)
hn為LSTM的第n個時刻的隱藏狀態(tài)。圖3中,背景變量C是在自身q函數(shù)的定義下對隱藏狀態(tài)下生成的。LSTM網(wǎng)絡(luò)能有效控制信息的流動量,學(xué)習(xí)到準(zhǔn)確的長期依賴關(guān)系[5]。
(10)
由理論分析可知,在時間序列預(yù)測中,Seq2Seq的編碼器負(fù)責(zé)提取序列本身內(nèi)在信息,解碼器的輸出對序列長度等性質(zhì)無過多要求。
組合算法構(gòu)建步驟為:
a.利用CEEMDAN算法將原始光伏數(shù)據(jù)分解為一系列頻率由高到低的固有模態(tài)函數(shù)IMF1,IMF2,…,IMFn和一個殘差序列Res。
b.對所有子序列進(jìn)行歸一化處理,并依據(jù)各IMF及殘差序列的時頻特性同相關(guān)性最強(qiáng)的氣象因素一起構(gòu)建新的數(shù)據(jù)集用于后續(xù)建模的輸入、輸出數(shù)據(jù)樣本。
c.利用DBN算法分別對n個IMF序列進(jìn)行建模、調(diào)參,Seq2Seq對殘差序列建立預(yù)測模型,捕獲各輸入樣本與輸出樣本間的關(guān)系。
d.通過訓(xùn)練好的DBN、Seq2Seq模型分別對未來光伏出力子序列進(jìn)行提前1 h預(yù)測。
e.將各個子序列的預(yù)測值進(jìn)行反歸一化,線性疊加,得到最終的預(yù)測結(jié)果。
f.依據(jù)評價指標(biāo)對預(yù)測結(jié)果進(jìn)行評估。
程序流程如圖4所示。
圖4 基于CEEMDAN-DBN-Seq2Seq模型程序流程
本文實驗所使用的原始光伏數(shù)據(jù)為某地區(qū)2015年1月1日至5月18日共計3 312條光伏發(fā)電數(shù)據(jù),以及與之對應(yīng)的溫度(最低溫度、最高溫度)、濕度、露點(最高露點、最低露點)、風(fēng)速(最大風(fēng)速、最小風(fēng)速)、熱指數(shù)(最高熱指數(shù)、最低熱指數(shù)和風(fēng)寒指數(shù)(最高風(fēng)寒、最低風(fēng)寒)11項氣象因素。其中前3 216條數(shù)據(jù)用作訓(xùn)練集,后96條數(shù)據(jù)用作測試集。
用于評價實驗結(jié)果的指標(biāo)為平均絕對誤差(MAE)、均方根誤差(RMSE)、平均絕對百分誤差(MAPE)和決定系數(shù)(R2)。
3.2.1 CEEMDAN分解仿真實驗
采用CEEMDAN將光伏發(fā)電數(shù)據(jù)進(jìn)行分解,為增加模型的抗噪性能,添加白噪聲。幅度為原始數(shù)據(jù)標(biāo)準(zhǔn)差0.2,600組,最大分解次數(shù)為500次。分解成IMF1-IMF10的10個固有模態(tài)函數(shù)(頻率依次降低)和1個殘差序列R,代表光伏發(fā)電量在不同時間尺度下的波動趨勢。
IMF1~I(xiàn)MF10是按照頻率值由高到低依次排列的結(jié)果。殘差序列則是原始數(shù)據(jù)與所有IMF做差的結(jié)果,可以通過該序列觀察光伏出力數(shù)據(jù)變化的整體趨勢。
對各IMF分量及殘差序列做統(tǒng)計特性分析。利用皮爾森相關(guān)系數(shù)法(PCC)進(jìn)行相關(guān)性分析。統(tǒng)計結(jié)果如表1所列。
表1 光伏發(fā)電各IMF統(tǒng)計特性表
可以看出,除均值外,其他3項統(tǒng)計特性均與頻率值表現(xiàn)出明顯的相關(guān)性。其中,隨著頻率降低,各IMF分量周期呈上升趨勢;PCC和方差占比的變化趨勢均為先上升后下降。且IMF1~I(xiàn)MF6周期較短,PCC值和方差比均較大,屬于高頻部分,說明該部分對光伏發(fā)電原始數(shù)據(jù)相關(guān)性及整體波動都有較大影響;IMF7~I(xiàn)MF10周期較長,較小的PCC值和方差,為低頻序列,說明和原始序列的相關(guān)性較差。殘差序列R的PCC值為0.176,方差占比也達(dá)到了1.308%,對原始序列也會產(chǎn)生較為重要的影響。綜上所述,高頻部分對原始光伏序列影響較大,低頻部分影響相對較小。
為充分提取子序列的波動趨勢,同時降低預(yù)測建模的復(fù)雜度和避免過擬合,基于上述統(tǒng)計特性分析,將IMF分量進(jìn)行重構(gòu):IMF1~I(xiàn)MF6在實驗中被歸為同類模式,累計求和后為高頻分量;IMF7~I(xiàn)MF10重構(gòu)為低頻分量,原來的殘差分量仍作為殘差參與分析。重構(gòu)后的信號曲線如圖5所示。
圖5 重構(gòu)后的高低頻及殘差圖像
3.2.2 DBN、Seq2Seq參數(shù)確定實驗
上述利用CEEMDAN算法對原始光伏出力序列進(jìn)行分解重構(gòu)的前期工作完成后,接下來要進(jìn)行的是DBN算法對高頻、低頻,Seq2Seq算法對殘差總共3個子序列的預(yù)測。
為確定最佳的網(wǎng)絡(luò)結(jié)構(gòu),對DBN隱藏層的層數(shù)及隱藏層節(jié)點數(shù)超參數(shù)的確定,所用方法為縱行對比法。以高頻部分的調(diào)參實驗為例,結(jié)果如圖6、圖7所示。
圖6 隱藏層層數(shù)對模型準(zhǔn)確率影響
圖7 隱藏層節(jié)點數(shù)對模型準(zhǔn)確率影響
低頻部分的實驗采用相同的方法進(jìn)行,得到DBN的參數(shù)設(shè)置如表2所示(DBN1、DBN2分別指的用于高、低頻序列預(yù)測的DBN網(wǎng)絡(luò)模型)。
圖6展示了DBN中隱藏層節(jié)點數(shù)目對預(yù)測結(jié)果的影響,實驗中,每個隱藏層的節(jié)點數(shù)目均為32。由圖6可知,隨著層數(shù)的增高,準(zhǔn)確程度范圍會有所下降,所以層數(shù)選為2。圖7為DBN隱藏層節(jié)點數(shù)對結(jié)果的影響,進(jìn)行該實驗時,設(shè)置為2個隱藏層??梢钥闯?,節(jié)點數(shù)為64時,MAE、MAPE均取得最小值,所以隱藏層節(jié)點數(shù)確定為64。
表2 隱藏層節(jié)點數(shù)對模型準(zhǔn)確率影響
對Seq2Seq的超參數(shù)的確定采用同樣的縱行對比法。
3.2.3 DBN、Seq2Seq預(yù)測
為了進(jìn)一步驗證CEEMDAN-DBN-Seq2Seq算法的有效性,直觀對比出CEEMDAN分解算法的引入與采用單純DBN、Seq2Seq算法及其他傳統(tǒng)預(yù)測方法對結(jié)果的影響,設(shè)置了以下4組對比實驗:單一的DBN、單一的Seq2Seq、GBRT和LSTM神經(jīng)網(wǎng)絡(luò),并針對同一數(shù)據(jù)集進(jìn)行仿真實驗。
對5種算法進(jìn)行比較,結(jié)果如圖8所示。虛線為真實光伏發(fā)電值,帶星虛線部分是采用不同深度學(xué)習(xí)模型得到的96個預(yù)測樣本的預(yù)測值。依據(jù)圖8的5條預(yù)測曲線與真實的光伏發(fā)電功率的擬合程度,得出以下結(jié)論:
圖8 各模型預(yù)測曲線對比
a.所有的單一模型中,Seq2Seq算法的預(yù)測效果最佳,精度有了很大提升,但是在峰值預(yù)測時誤差較大,且未能捕捉到有發(fā)電急劇變化的趨勢。
b.提出的CEEMDAN-DBN-Seq2Seq算法與4種對比算法相較,整體吻合程度最高,除了拐點處出現(xiàn)較為明顯的偏差外,其他各部分均緊緊圍繞實際值呈較小幅度的上下波動現(xiàn)象,誤差波動最小,尤其是在未發(fā)電及腰身處,基本實現(xiàn)緊密貼合。與單一的Seq2Seq相比,還有效地改善了其峰值預(yù)測效果較差的現(xiàn)象,可以初步斷定,CEEMDAN-DBN-Seq2Seq模型能夠更好地捕捉樣本數(shù)據(jù)中潛在的內(nèi)在聯(lián)系并挖掘其真實模式。
3.2.4 預(yù)測結(jié)果對比分析
基于上述5種算法分別計算的性能指標(biāo)如表3所示。
表3 各算法的性能指標(biāo)計算結(jié)果
由圖8的預(yù)測曲線及表3,可得出以下結(jié)論:本文所提出的CEEMDAN-DBN-Seq2Seq無論是曲線的擬合效果還是數(shù)據(jù)信息,都具備突出的性能優(yōu)勢。與單一的Seq2Seq算法相比,MAE值減小1.76 kW·h,RMSE值減少1.67 kW·h,MAPE值減少1.47%,R2值提升0.85%,各項指標(biāo)均有較為明顯的改善。與單一的DBN算法相比,上述指標(biāo)值的改善分別為:8.01 kW·h、16.36 kW·h、7.79%、5.43%,改善效果更為明顯。同時與其他2種單一算法相比較,預(yù)測性能更為突出。
顯然,所建立的組合模型預(yù)測能力不僅明顯優(yōu)于傳統(tǒng)深度學(xué)習(xí)模型,也優(yōu)于基礎(chǔ)模型,表現(xiàn)出良好的穩(wěn)定性與低誤差性。這也直接顯示了深度學(xué)習(xí)在挖掘數(shù)據(jù)間潛在非線性關(guān)系方面的特殊能力,進(jìn)一步驗證了所提算法的優(yōu)越性。
本文為提高光伏發(fā)電功率預(yù)測的準(zhǔn)確率,提出了一個融合CEEMDAN、DBN和Seq2Seq的組合算法:CEEMDAN-DBN-Seq2Seq。與單一的Seq2Seq、DBN算法相比,所提算法R2值分別提升了0.85%、5.43%,其他各項指標(biāo)均有較為明顯的改善。并且與其他傳統(tǒng)算法進(jìn)行了全方位多角度的性能比較,從而進(jìn)一步論證了所提算法通過CEEMDAN分解技術(shù)的引入,可以有效改善單一算法的預(yù)測精度,具有更高的預(yù)測精度和實際應(yīng)用價值。