武國良,祖光鑫,楊志軍,秦立志
(1.國網(wǎng)黑龍江省電力有限公司電力科學(xué)研究院,哈爾濱150030;2.國網(wǎng)黑龍江省電力有限公司黑河供電公司,黑龍江 黑河164300;3.國網(wǎng)黑龍江省電力有限公司哈爾濱供電公司,哈爾濱 150070)
準(zhǔn)確的負荷預(yù)測對電力系統(tǒng)規(guī)劃和運行具有重要作用,例如制定機組發(fā)電計劃和維護計劃,以及確定適當(dāng)?shù)男D(zhuǎn)備用。隨著智能電網(wǎng)的發(fā)展以及分布式可再生能源和電力電子設(shè)備的集成,負荷行為越來越復(fù)雜,給負荷預(yù)測帶來了巨大的挑戰(zhàn)[1-2]。
負荷預(yù)測可分為長期、中期和短期預(yù)測。中長期負荷預(yù)測范圍從幾周到幾年不等,它們主要用于長期規(guī)劃和季節(jié)性需求分析。相比之下,短期負荷預(yù)測(short-term load forecasting,STLF)是電網(wǎng)日常運行的重要組成部分,其范圍從幾分鐘到一周不等。短期負荷具有周期性特征,其變化受到許多因素的影響,例如溫度變化和設(shè)備老化。這些因素帶來嚴(yán)重的不確定性和非周期效應(yīng),導(dǎo)致預(yù)測準(zhǔn)確性下降,在單個負荷的情況下尤為嚴(yán)重。為了減輕STLF過程中的不確定性,國內(nèi)外已經(jīng)進行了許多研究工作。目前的研究方法主要可以分為兩類:一類為基于統(tǒng)計分析的方法,如多變量線性回歸(multivariable linear regression,MLR)、時間系列分析方法[3]、指數(shù)平滑[4];另一類為基于機器學(xué)習(xí)算法的方法,如神經(jīng)網(wǎng)絡(luò)[5]和支持向量回歸(support vector regression,SVR)[6]。
在基于統(tǒng)計分析的方法中,MLR運算速度很快。但是,這些方法對存在很大不確定性的情況沒有良好的預(yù)測能力。相比之下,機器學(xué)習(xí)算法(如SVR)具有良好的信息概括能力,能夠快速獲得全局解,但SVR大型數(shù)據(jù)集的可擴展性有限。為了解決這個問題,學(xué)者提出了具有強大的多變量制圖能力的神經(jīng)網(wǎng)絡(luò)算法。但由于時間系列的內(nèi)部影響沒有得到適當(dāng)?shù)目紤],傳統(tǒng)的反傳播神經(jīng)網(wǎng)絡(luò)(back-propagation neural network,BPNN)很容易陷入局部最佳解決方案。為了解決這個問題,文獻[7]、[8]引入了循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN),該網(wǎng)絡(luò)能夠通過隱藏層之間的自連接來考慮時間系列特征。但RNN的梯度爆炸問題限制了其適用性。受Greff等人的啟發(fā)[9],通過向RNN中添加一個特殊的單位結(jié)構(gòu),實現(xiàn)了長短期記憶人工(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò),解決了此問題[10]。
盡管機器學(xué)習(xí)算法比基于統(tǒng)計分析的算法具有一些優(yōu)點,并且被廣泛使用,但其難以建立適當(dāng)?shù)某瑓?shù),且大型數(shù)據(jù)集的計算速度很慢。相比之下,對于比較簡單的數(shù)據(jù)集,時間系列分析可以快速、準(zhǔn)確計算。實際負荷的行為通常是非靜止的,具有強隨機分量[11]。因此,如果僅使用基于機器學(xué)習(xí)的算法進行負荷預(yù)測,計算量可能過大;而如果只使用基于統(tǒng)計分析的方法,則無法考慮比較復(fù)雜的負荷數(shù)據(jù),從而降低預(yù)測精度。為了解決這個問題,提出了一種基于分解的混合預(yù)測方法,它結(jié)合了時間系列和機器學(xué)習(xí)算法的優(yōu)點。時間系列數(shù)據(jù)最常見的分解方法是小波變換、經(jīng)驗?zāi)B(tài)分解(empirical-mode decomposition,EMD)[12]。小波變換對非靜止序列的分解結(jié)果在很大程度上取決于基礎(chǔ)函數(shù)和順序的選擇,難以針對實際預(yù)測過程進行調(diào)整。STL適用于本身具有良好季節(jié)性周期的數(shù)據(jù),但是實際負荷數(shù)據(jù)具有很強的隨機性,因此實際負荷數(shù)據(jù)難以滿足STL的要求。與小波變換和STL相比,EMD分解適應(yīng)性更強,非常適合處理非線性和非靜止時間系列。因此,采用基于EMD的方法分解電負荷。
混合ELM方法的結(jié)構(gòu)如圖1所示。其中,ELM 是 EMD-LSTM-MLR 的縮寫。它包括4個主要部分:通過 EMD 分解負荷、通過 MLR 預(yù)測低頻負荷、通過 LSTM 預(yù)測高頻負荷,以及通過疊加獲得最終的預(yù)測數(shù)據(jù)。
圖1 ELM結(jié)構(gòu)框圖
以過零率是否大于0.01 區(qū)分高頻和低頻部分。選擇適當(dāng)?shù)倪^零率閾值以確保 MLR 算法的有效性。對于一些高頻部分,MLR 的迭代預(yù)測結(jié)果可能會發(fā)散,而LSTM神經(jīng)網(wǎng)絡(luò)不會。由于中頻部分的劃分對總體預(yù)測結(jié)果影響不大。因此,根據(jù)多次經(jīng)驗,選擇過零率為0.01,可以有效地劃分高、低頻部分。過零率ρz的計算:
(1)
式中:ρz為過零率;nz為零交叉數(shù);N為信號長度。
電力負荷受多種復(fù)雜因素影響,因而具有不穩(wěn)定的特性。因此,傳統(tǒng)方法難以預(yù)測電力負荷。為了解決這個問題,采用 EMD 方法[13-14]分解負荷數(shù)據(jù)。EMD 是典型的自適應(yīng)數(shù)據(jù)處理工具之一,可根據(jù)自身的時間尺度特征分解信號。它將信號分解成不同的固有模態(tài)函數(shù)(intrinsic-mode functions,IMF),頻率從高到低不等。低頻部分表示負荷整體的周期趨勢,而高頻部分表示局部特征和噪聲的較強隨機性。每個IMF都包含不同時間尺度信號的局部特征。使用 EMD 將數(shù)據(jù)分解為多個 IMF,如式(2)所示。
(2)
式中:s(n)表示第n個采樣周期的電氣負荷;c(n)表示第i個不同的負荷部分;r(n) 表示剩余部分;M表示不同負荷部分的個數(shù)。
具體步驟如下:
1)使用三次樣條插值函數(shù)查找電氣負荷數(shù)據(jù)的所有極值點s(n)、上下包絡(luò)曲線emax(n)和emin(n),并計算均值m(n):
(3)
2)用s(n)減去m(n),差值記為d(n):
d(n)=s(n)-m(n)
(4)
3)通過d(n)計算標(biāo)準(zhǔn)偏差DS:
(5)
4)當(dāng)DS值小于預(yù)定值σ(一般取0.2~0.3)時,獲得第i個IMF,即使ci(n)=d(n),其中i=1,2,3,…,M,M表示IMF的總數(shù)[18]。若DS不滿足條件,則以d(n)為輸入信號,返回到第 1 步繼續(xù)計算,直到DS在多輪后低于σ。
5)令s(n)=s(n)-ci(n)。如果得到的s(n)是單調(diào)函數(shù),或者當(dāng)s(n)或ci(n)小于等于給定值時,則令剩余部分r(n)=s(n),并停止迭代;否則,將s(n)作為輸入返回到第 1 步進行下一次迭代,以計算下一個ci+1(n)。通過計算,初始s(n)最終可以分解為以下IMF:c1(n),c2(n),…,cM(n),以及r(n)。
通過 EMD方法分解后,得到平滑且周期性的低頻分量。對于此類信號,可以通過MLR 完成負荷預(yù)測。MLR是一種傳統(tǒng)的統(tǒng)計分析方法,具有執(zhí)行速度快的優(yōu)點,對于比較簡單的數(shù)據(jù)集有良好的準(zhǔn)確性[15]。與神經(jīng)網(wǎng)絡(luò)和SVR相比,MLR的訓(xùn)練過程速度具有明顯的優(yōu)勢。它類似于使用線性函數(shù)作為激活功能的神經(jīng)網(wǎng)絡(luò),但它不需要繁瑣的迭代訓(xùn)練過程和參數(shù)調(diào)整。因此,對于平滑的低頻負載組件,MLR比其他方法更合適。其數(shù)學(xué)模型可表示如下:
Y=X×β+μ
(6)
(7)
式中:yi表示負荷數(shù)據(jù);xij表示影響負荷的因素;β0是常數(shù);βi是回歸系數(shù);μi表示隨機擾動;其中i= 1,2,…,n。
對于強隨機性的高頻負荷分量,通過 LSTM 神經(jīng)網(wǎng)絡(luò)進行負荷預(yù)測。與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,LSTM不需要處理下一時刻的信息,只需要處理當(dāng)前時刻的信息。BPNN的基本步驟包括每個神經(jīng)元的輸出計算、向后一個神經(jīng)元輸出的誤差評估,以及通過優(yōu)化算法減少誤差。值得注意的是,對于時間序列負荷數(shù)據(jù),如果忽略負荷的時間相關(guān)性,則預(yù)測的準(zhǔn)確性會降低。因此,為了提高負荷預(yù)測準(zhǔn)確性,該文采用考慮到時間序列時間相關(guān)性的 LSTM。
與傳統(tǒng) RNN 相比,LSTM引入了細胞狀態(tài)c的概念,以考慮隱藏在長期狀態(tài)中的時間相關(guān)性,其結(jié)構(gòu)以圖2所示。
圖2 LSTM結(jié)構(gòu)示意圖
在時間為t時,LSTM的輸入包括當(dāng)前時刻的網(wǎng)絡(luò)的xt、上一時刻的ht-1和細胞狀態(tài)ct-1。LSTM輸出包括當(dāng)前時刻的輸出值ht和當(dāng)前時刻的細胞狀態(tài)ct。LSTM 通過3個門來控制單元格狀態(tài),分別為遺忘門、輸入門和輸出門,可由式(8)表示。
g(x)=σ(Wx+b)
(8)
式中:W為門的權(quán)重矩陣;x為輸入的負荷數(shù)據(jù);b為偏移向量;σ為sigmoid函數(shù)。
在向后優(yōu)化的過程中,LSTM 的權(quán)重通過自適應(yīng)矩估計(adaptive moment estimation,Adam)優(yōu)化算法進行更新[16]。適當(dāng)?shù)膬?yōu)化算法可以節(jié)省計算資源,加快向最優(yōu)解的收斂。Adam是一種一階優(yōu)化算法,可以代替?zhèn)鹘y(tǒng)算法的梯度下降過程,具有較高的計算效率,在優(yōu)化大型數(shù)據(jù)和參數(shù)時,所需要的內(nèi)存更少。面對高噪音或稀疏的梯度時,它具有很高的魯棒性。經(jīng)過多次迭代,LSTM逐漸接近培訓(xùn)集的真實值,從而獲得有效的預(yù)測模型。
LSTM神經(jīng)網(wǎng)絡(luò)迭代更新權(quán)值可以減小誤差,提取高頻時間序列的內(nèi)在規(guī)律,提高模型的預(yù)測精度。它能逐步逼近隨機性強的高頻數(shù)據(jù)。LSTM神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果與其超參數(shù)的設(shè)置密切相關(guān),包括網(wǎng)絡(luò)的層數(shù)、每層的節(jié)點數(shù)、循環(huán)數(shù)和初始權(quán)值[19]。
由式(2)可知,系數(shù)為1的所有負荷分量處于同一時間坐標(biāo),而EMD是線性分解,因此只需將它們迭加即可重建完整的負荷曲線,如式(9)所示。
Pload=PIMF1+PIMF2+…+PIMFn
(9)
式中:Pload表示預(yù)測結(jié)果;PIMFi表示第i分量預(yù)測結(jié)果,其中i=1,2,…,n,n由負荷數(shù)據(jù)和EMD分解設(shè)置的閾值確定。此外,由于大數(shù)據(jù)集被劃分為可單獨處理的不同部分,因此使用分布式計算技術(shù)可以減輕計算負擔(dān)。
預(yù)測結(jié)果的迭加過程也是從整體趨勢到局部細節(jié)的重構(gòu)過程。最后,將基于MLR的低頻經(jīng)驗?zāi)B(tài)負荷預(yù)測結(jié)果與基于LSTM的高頻負荷預(yù)測結(jié)果相結(jié)合,實現(xiàn)對電力負荷的預(yù)測。
實驗采取2017年春季中21天的中國西部地區(qū)5 000個用戶的現(xiàn)場負荷數(shù)據(jù)。數(shù)據(jù)每15 min更新1次,即每個用戶每天有96個數(shù)據(jù)。與遷移學(xué)習(xí)一樣,首先從5 000個用戶的數(shù)據(jù)中得到1個預(yù)訓(xùn)練模型。用戶負載的原始數(shù)據(jù)如圖3所示,其呈現(xiàn)無明顯周期性的特征。將歷史數(shù)據(jù)分為兩部分:前90%的歷史數(shù)據(jù)作為訓(xùn)練集,后10%的歷史數(shù)據(jù)作為驗證集。測試誤差通過預(yù)測和實際之間差值進行計算。
圖3 用戶原始數(shù)據(jù)
在圖3中可以清楚地看到,1個用戶負荷的原始數(shù)據(jù)包含大量的高頻分量和噪聲等。為了處理這一問題,首先通過EMD對負載數(shù)據(jù)進行分解。根據(jù)數(shù)據(jù)的復(fù)雜程度和EMD的預(yù)閾值設(shè)置,將IMF按照頻率從高到低分為9組。通過式(1)計算各組過零率,結(jié)果如表1所示。
表1 IMF過零率
從表1可知,從IMF7開始,過零率開始小于0.01,可以利用MLR對低頻模式對應(yīng)的負荷進行預(yù)測。相比之下,從IMF1到IMF4的模式具有非常高的頻率。因此,采用LSTM神經(jīng)網(wǎng)絡(luò)進行負荷預(yù)測。
將EMD后得到的IMF和剩余部分輸入到相應(yīng)的算法中,對下96個時間點的數(shù)據(jù)進行迭代預(yù)測。將得到的預(yù)測序列相加,得到完整的負荷預(yù)測。特別地,每個預(yù)測序列按從低頻到高頻的順序疊加,可以逐步得到完整的序列。
為了證明該方法的優(yōu)點和性能,對照了其他幾種預(yù)測算法,包括SVR、BPNN、MLR和LSTM神經(jīng)網(wǎng)絡(luò),以及考慮溫度、風(fēng)向、風(fēng)速、星期的多輸入LSTM神經(jīng)網(wǎng)絡(luò)(MLSTM)。預(yù)測曲線和誤差分別如圖4、圖5和表2所示。
圖4 ELM模型與常用預(yù)測方法的比較
圖5 ELM模型和神經(jīng)網(wǎng)絡(luò)預(yù)測方法的比較
由圖4、圖5、表2可知,ELM模型不僅在平均絕對百分誤差和均方根誤差上比其他算法有絕對優(yōu)勢,而且在擬合時間序列負荷曲線方面也取得了更好的性能。在10:00—18:00,其他方法都沒有達到良好的擬合效果,但ELM模型在一定程度上實現(xiàn)了準(zhǔn)確的預(yù)測。
表2 各算法誤差
綜合MLR和LSTM算法的優(yōu)點,提出了一種改進的STLF方法ELM。將ELM與SVR、BPNN和LSTM、MLSTM等基于神經(jīng)網(wǎng)絡(luò)的預(yù)測方法進行了比較。結(jié)果表明EML的預(yù)測精度優(yōu)于其他方法。
1)采用EMD算法,依據(jù)頻率從低到高將負荷分組。各組具有線性相關(guān)性,可以線性疊加。因此,LSTM 和 MLR 對不同組件的預(yù)測結(jié)果可以單獨處理。這極大提高了應(yīng)用分布式計算技術(shù)進行大數(shù)據(jù)的計算效率。
2)MLR 方法和 LSTM 神經(jīng)網(wǎng)絡(luò)算法分別用于預(yù)測低頻和高頻負荷。MLR 可以快速預(yù)測變化的總體趨勢,而 LSTM 則能夠預(yù)測復(fù)雜的非線性局部行為。通過這種方式可以有效地利用MLR和LTTM的優(yōu)勢,從而產(chǎn)生顯著改善的結(jié)果。