朱偉,孫運全,錢堯,金浩,楊海晶
(江蘇大學 電氣信息工程學院, 江蘇 鎮江 321100)
伴隨著科學技術的進步,生產和消費水平的提高,用電設備和用電質量的要求引起了電網公司以及電力工作者們的高度重視[1]。電力負荷預測作為對負荷變化的預先估計和推算,有效地預測和參與電力網的實時調度和運行規劃,提前增大或減小供電,減少電網運輸中不必要的損失,從而提高經濟效益。過去我們往往著重研究發電一側的工作效益,近年來,隨著電網管理的智能化以及基礎用電設施建設的逐步完善,如何有效和提高用戶側的管理效益變得越來越重要[2],因此,對短期電力負荷預測研究成為智能運行和管理電網的重要研究課題。
目前,國內外對電力負荷預測研究已經取得實質性的進展,將傳統預測方法、大數據挖掘、人工智能算法相結合,對未來負荷進行預測[3-4],例如多元線性回歸分析、時間序列分析[5]等。利用支持向量機、神經網絡等學習方法,使得計算簡單并易于實現,更好克服大量時間數據復雜、非線性等缺點,成為如何完善并提高預測結果精確性的重要研究內容之一。文獻[6]采用算術優化算法(AOA)和最小二乘支持向量機(LSSVM)的模型,對經過互補集合經驗模態分解(CEEMD)和模糊熵(FE)綜合處理后的子序列進行預測。文獻[7]針對傳統負荷預測方法缺少對時序數據相關性、特征值的全面考慮等問題,采用一種優化的VMD-mRMR-LSTM模型,實現對各分量分別預測,將預測結果疊加得到最終的預測值。文獻[8]針對原負荷數據的不穩定、非線性,采用EMD分解處理后,通過LSTM模型對每個分量進行預測,將得到的結果疊加重構,獲得完整的預測結果,該方法使得訓練擬合效果更好,具有較高的預測精度。這些研究為解決電力系統的短期負荷預測提供了理論依據。
針對上述研究背景,文章提出了一種基于CEEMD方法和GRU神經網絡融合的預測模型,將電力負荷數據通過CEEMD分解,相比于EMD分解,降低了模態混疊的影響,然后將分解得到的子分量和一個余分量通過優化后的GRU神經網絡進行迭代預測,將預測結果進行重構組合,得到完整的預測曲線,通過同條件仿真對比,證明該方法的可靠性和準確性。
在處理時間序列問題時,由于實際的原序列存在著不平穩性,導致預測模型擬合效果差,預測效果不好。EMD分解能對數據進行平穩化處理,分解成一組包含不同時間尺度上的本征模態分量(Intrinsic Mode Function, IMF)和一個殘余分量,適用于解決非線性、隨機性強、不平穩等的問題。
從理論上講,EMD分解能夠對任意一種類型的序列或者信號進行分解處理,但IMF都必須具備以下條件:(1)在序列內部,極值點的數量和零點數量要么保持相同,要么至多相差一個;(2)對于序列上的任意一點,其局部極小值和局部極大值構成的上下包絡線的平均值為零[9]。
EMD分解有以下幾個步驟:
(1)假設原始序列為x(t)={x1,x2,…,xi},求出序列x(t)中所有的極大值點和極小值點,采用三次樣條函數,分別擬合出原序列x(t)的上下包絡線;
(2)求步驟(1)中擬合出的上下包絡線的平均值,記作m(t),并用原序列x(t)減去均值m(t),得到的數定義為c(t),即:
c(t)=x(t)-m(t)
(1)
(3)倘若c(t)不符合IMF的條件,則令x(t)=c(t),重復進行步驟(1),直至所得的c(t)符合IMF條件,令求得的c(t)為IMF1;
(4)用原始序列x(t)減去c(t)得到一階余項r1(t),即:
r1(t)=x(t)-IMF1
(2)
(5)令x(t)=r1(t),并重復進行步驟(1)~步驟(4),直到余項不能繼續分解,即函數單調為止,稱此時的余項為殘余分量,即最終得到n階IMF和一個殘余分量rn,整理后得到:
(3)
然而,在實際情況中,原始序列存在異常情況(如噪聲、脈沖干擾等),導致出現模態混疊的現象,即一個IMF分量存在其他尺度的分量。
針對模態混疊現象,Huang提出了集合經驗模分解(Ensemble Empirical Mode Decomposition, EEMD),通過加入輔助白噪聲,平滑信號脈沖產生的干擾,當經過足夠多的全體均值后,噪聲將會消除,全體的均值就可以認為是最終的結果[10]。
但是,往往添加的白噪聲很難做到完全消除,所以伴隨著分解,往往會給重構后的結果帶來另外的噪聲誤差。為此,文獻[11-12]對EEMD方法進行改進,提出了CEEMD方法,該方法添加一對符號相反的輔助白噪聲,然后進行EMD分解,這樣做的好處是,既抑制模態混疊的出現,又減少了因添加白噪聲產生的干擾,使得分解效果更好。
CEEMD分解方法包括以下幾個步驟:
(1)對原始的序列,添加n對正負相反的白噪聲,可以得到以下兩個集合:
(4)
式中S為原始序列;N為添加的輔助白噪聲;M1、M2分別為加入正負白噪聲后得到的序列,即共2n組IMF分量;
(2)對兩個集合都進行EMD分解,并將第i個序列的第j個IMF分量記作cij;
(3)再把得到的2n組IMF取平均值,得到最終疊IMF分量為:
(5)
要注意的是,該分解方法在使用前,需設置兩個額外的參數,即輔助白噪聲的幅值H和對數N。一般的,當對數N取100時,幅值H的取值范圍為0.01~0.1。
循環神經網絡(Recurrent Neural Network, RNN),是一類用于處理序列數據問題的神經網絡,與一般的前饋神經網絡相比,隱藏層加入了自反饋結構,使得同一層的神經元信息相互傳遞[13]。RNN主要是由輸入層、隱藏層、輸出層3個部分構成,其隱藏層展開結構如圖1所示。

圖1 循環神經網絡結構圖Fig.1 Structure diagram of cyclic neural network
規定一條時間序列為x={x1,x2,…,xn},則在t時刻有:
ht=f(Uxt+Wht-1+bh)
(6)
yt=g(Vht+by)
(7)
式中ht表示當t時刻時隱藏層內的值;yt表示當t時刻時輸出層內的值;bh、by分別表示隱藏層與輸出層在計算式中的偏置項;f()、g()分別表示隱藏層和輸出層的計算公式,即激活函數。
信息傳遞一般包括以下幾個步驟:
(1)前向傳播,即根據給出的x得到輸出的y;
(2)反向傳播,即計算每個位置的損失函數和最終損失L;
(3)優化減小誤差項值,并計算每個權重。
雖然RNN具有記憶性、參數共享等優點,但在處理實際跨度較大、依賴性強等問題時,同一隱藏層中信息傳遞會出現梯度消失、爆炸等問題,從而導致學習效率低,結果較差。
盡管LSTM解決了RNN長期依賴性問題,但是其參數設置多,收斂速度慢,降低了訓練效率。GRU神經網絡,是LSTM神經網絡的一種變異體,更新門代替了LSTM的輸入門和遺忘門,另外還有一個重置門[14],如圖2中的zt和rt所示。

圖2 GRU網絡隱藏層的結構
更新門確定上一個隱藏層有多少信息傳遞給當前隱藏層中,重置門確定忘掉過去多少狀態信息量的程度[15-16]。門結構工作情況可用數學式表示為:
rt=σ(Wr·[ht-1,xt]+br)
(8)
zt=σ(Wz·[ht-1,xt]+bz)
(9)
式中W和b分別為其對應門的權重矩陣以及偏置項;σ為sigmoid激活函數,它能夠將值映射到[0,1]范圍內,從而實現門控。
將數據序列帶入GRU神經元,計算得到輸出值后,通過均方差(Mean Square Error, MSE)公式,計算得到每個神經元的誤差,具體計算公式為:
(10)
式中xi和x′i分別為序列的實際值和預測值;n為序列的總數;i為序列的序號。
基于CEEMD-GRU的短期電力負荷預測方法一般步驟是:
Step1:輸入歷史負荷數據,對負荷數據預處理,包括將異常的數據剔除、均值法補充空缺數據、進行數據歸一化等;
Step2:對電力負荷序列進行分解處理,減少非線性、非平穩性對模型構建帶來的影響。利用CEEMD方法處理原始序列,得到一組IMF分量和一個殘余分量rn;
Step3:對各個序列分量分別構建GRU神經網絡預測模型,利用算法對網絡超參數進行優化;
Step4:將優化后的超參數帶入各自的GRU網絡模型中,采用單步預測,輸出各自的預測分量,將分量疊加重構后,得到完整的預測結果。
其中,CEEMD-GRU網絡預測流程如圖3所示。

圖3 CEEMD-GRU神經網絡預測模型結構
一般的,我們在預測結果時會存在誤差值,由于時間序列預測的隨機性和不確定性,這些誤差都是難以避免的[17]。為了更好了解和評定預測模型,我們有很多評價指標,常用的評價指標有相對誤差(yRE)、均方根誤差(yRMSE)、平均絕對百分比誤差(yMAPE)等[18]:
(11)
(12)
(13)
文章采用的數據來自于某市2018年7月6日~2018年7月25日的電力負荷數據,其采用間隔為15 min,即一共選取1 920條數據,如圖4所示,可以發現其周期性和季節性不明顯。文中構建時間序列數據進行訓練和測試,以一天的采樣長度做窗口滑動處理,即以96組數據的時間點為特征,下一個時間點數據為標簽。依次帶入模型訓練,最終預測7月25日的負荷曲線。實驗所使用的仿真平臺為MATLAB2016b版,電腦配置為i7-7700HQ處理器,8 GB內存,訓練環境是GPU。

圖4 電力負荷原始序列
從圖4中可以看出,原始負荷序列存在高頻分量、噪聲,如果直接輸入則會出現預測模型擬合困難等問題,需對原序列進行分解,降低這些影響。分別采用EMD、EEMD、CEEMD方法分解,比較三種方法的優劣性,其中加入白噪聲的幅值H為0.1,集成對數N為100,CEEMD分量上限設置為9。圖5為三種方法重構后的誤差。

圖5 三種分解方法的重構誤差
從圖5可以看出,EEMD分解使得重構后的誤差顯著增加,而采用CEEMD分解將白噪音在各次分解中分別帶入抵消,故重構后的誤差又回到原來的數量級,保證后面的預測結果,驗證該方法的有效性。
接下來,采用CEEMD方法分解原序列,結果得到9組IMF分量和1組殘余量,如圖6所示。

圖6 電力負荷數據的CEEMD分解
為衡量分解子序列的有序性,根據香農信息論,利用自信息熵H(Xi)來表征向量X自身隨機波動的不確定度,即:
(14)
自信息熵H(Xi)的值越大,表示系統隨機波動程度大,系統越混亂;反之,則表示系統隨機波動程度小,系統越有序。表1為CEEMD分解的本征模態分量的自信息熵值。

表1 各本征模態分量自信息熵值
觀察表1中數據可知,各本征模態分量的自信息熵均低于0.01,屬于低自信息熵,即各個本征模態分量均有序,分解效果好。將各個模態分量序列進行歸一化,并分割成訓練集和測試集,歸一化公式為:
(15)
式中xmax、xmin分別為樣本數據中的最大值和最小值;yi為采樣點i經過歸一化后的數據。
為驗證所提出的模型的有效性,分別使用CEEMD-RNN、CEEMD-BP、GRU和CEEMD-GRU模型在同一數據集上進行預測,其中,初始化神經網絡模型的學習率lr為0.001,隱藏層層數為1,隱藏層神經元個數m為200,采用Adam算法訓練超參數,最大迭代次數取100。實際值與預測值曲線如圖7所示。

圖7 CEEMD-GRU模型的電力負荷預測及其與GRU、CEEMD-RNN、CEEMD-BP模型的對比
從圖7可以看出,各個模型在波動較小的部分預測效果都不錯,CEEMD-RNN和CEEMD-GRU模型的預測精度明顯高于采用CEEMD-BP模型,對負荷序列預測有著較好的擬合效果。并且,在原始序列的波動階段,采用CEEMD分解的模型預測誤差優于未采用分解方法的模型,見圖7中6:00~8:00時刻。圖8為CEEMD-GRU模型及其與其他模型的相對誤差。

圖8 預測模型相對誤差對比
從圖8中可以看出,采用CEEMD-GRU模型的相對誤差主要集中在[-3,3]的區間內,而采用其他預測模型的相對誤差范圍擴大到[-6,6]區間內,證明了CEEMD-GRU模型相較于其他幾種模型有著更好的預測精度。
為進一步研究CEEMD-GRU模型的優勢,采用決定系數R2、yMAPE和yRMSE來評估各個模型的預測效果。R2計算公式如下:
(16)
式中xiave為實際值的平均值,評估結果如表2所示。

表2 CEEMD-GRU與其他模型預測結果評估
觀察表2中數據可知,在短期負荷預測中,相比于直接采用GRU網絡預測,通過采用CEEMD處理原負荷序列的方法,yMAPE值減小0.804,yRMSE值減小0.994,與其他組合方法CEEMD-BP、CEEMD-RNN比較,CEEMD-GRU的yMAPE值分別減小0.741、0.442,yRMSE的值分別減小0.859、0.5。從決定系數R2來看,CEEMD-GRU網絡預測模型擬合優度更高,即更加接近于實際情況,預測精度高。圖9為CEEMD-GRU模型的預測散點圖。

圖9 CEEMD-GRU預測散點圖
文章圍繞電力負荷短期預測提出了基于CEEMD-GRU神經網絡的預測方法,得到以下結論:
(1)原始電力負荷數據由于時間跨度長、隨機性大,導致其存在非線性、非平穩性等問題,如果直接帶入預測模型則會導致訓練出來的模型擬合效果不好,預測精度降低。文章采用CEEMD分解,將原序列分解成一組IMF分量和一個殘余分量rn,通過平穩化處理,能夠大大提高模型的預測性能;
(2)在算法上,相比于EMD分解方法,CEEMD分解方法通過向原序列添加互補的白噪聲,一定程度上改善模態混疊現象,同時解決了EEMD分解方法導致的重構誤差影響最后預測結果精度的問題,使重構后的誤差數量級上保持原有級數,分解性能強;
(3)GRU神經網絡具有LSTM的所有優點,即在擬合時間依賴性、非線性的序列保持原有的記憶功能,可以很好地提高模型的預測精度,在算法上大大減小了復雜程度,提高效率,利用Adam算法優化超參數,加快收斂速度和網絡性能。通過仿真分析,相比于CEEMD-BP、CEEMD-RNN、GRU預測模型,預測結果更好,后續為電力系統調度提供了預見能力。