胡如樂,陳逸樅,張大海,張沛,王舒楊,喻蕓
(1.南方電網(wǎng)數(shù)字電網(wǎng)研究院有限公司, 廣東 廣州 510663;2.北京交通大學 電氣工程學院,北京 100044;3.天津弘源慧能科技有限公司,天津 300010)
母線負荷是指在一個較小的區(qū)域中,由變電站的主變壓器供給的綜合負荷。母線負荷基數(shù)小,而且可能直接匯聚不同種類和特性的負荷,如光伏、新能源電動汽車等。母線負荷預測不僅影響發(fā)電計劃的制訂,也是電力市場進行出清和形成實時電價的重要依據(jù),因此提升母線負荷預測的精度具有十分重要的意義。
母線負荷預測的方法主要包括基于系統(tǒng)負荷配比的預測方法和基于母線負荷自身變化規(guī)律的預測方法。基于系統(tǒng)負荷配比的預測方法是根據(jù)節(jié)點負荷的權值,按比例將上級系統(tǒng)負荷預測值分配到各母線上;但由于母線負荷易突變,以及量測裝置的逐漸完善,這種方法已經(jīng)逐漸被淘汰。基于母線負荷自身變化規(guī)律的預測方法包括數(shù)理統(tǒng)計方法和人工智能的方法,其本質(zhì)是通過學習歷史的負荷數(shù)據(jù)[1]以及相關因素之間的規(guī)律,來擬合預測模型的參數(shù),最終實現(xiàn)負荷變化趨勢的預測。
典型的數(shù)理統(tǒng)計方法包括基于相似日的線性外推[2]、曲線外推[3]方法等,但統(tǒng)計方法在目前海量數(shù)據(jù)背景下難以處理非線性的時序序列預測任務。人工智能方法包括基于淺層學習的支持向量機(support vector regression,SVR)[4]、隨機森林[5]以及人工神經(jīng)網(wǎng)絡[6]等方法;文獻[7]采用最小二乘SVR對經(jīng)過集合經(jīng)驗模態(tài)分解的數(shù)據(jù)進行擬合?;谏顚訉W習的方法包括循環(huán)神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)和深度置信網(wǎng)絡[8]等;文獻[9]基于相空間重構將母線負荷歷史數(shù)據(jù)投影到相空間中的動點軌跡,將該結(jié)果輸入到深度置信網(wǎng)絡中,獲得母線負荷的預測值。相空間重構與負荷分解的效果類似;文獻[10]采用經(jīng)驗模態(tài)分解進行負荷分解,然后利用堆棧式長短期記憶(long short term memory,LSTM)神經(jīng)網(wǎng)絡模型捕捉分解后數(shù)據(jù)的時序關系。一些文獻對深層學習的不同神經(jīng)網(wǎng)絡組合預測進行了研究;文獻[11]通過CNN和LSTM神經(jīng)網(wǎng)絡線性堆疊方式進行組合預測,滑窗后生成特征圖,利用CNN提取其特征,利用LSTM神經(jīng)網(wǎng)絡將生成的特征向量作為輸入量進行預測;文獻[12]應用CNN和門控循環(huán)神經(jīng)網(wǎng)絡進行組合預測。
以上基于人工智能的方法都存在超參數(shù)選取的問題,超參數(shù)的確定方法分為手動尋優(yōu)和自動尋優(yōu)。若對于神經(jīng)網(wǎng)絡參數(shù)的選擇問題均采用手動尋優(yōu)的方法,依賴經(jīng)驗選取結(jié)果,耗費時間長并且不一定為最優(yōu)超參數(shù)組合。自動尋優(yōu)方法包括網(wǎng)格搜索、隨機搜索和智能算法等。文獻[13]采用網(wǎng)格搜索方法對隨機森林中的決策樹數(shù)量和候選分裂屬性數(shù)進行優(yōu)化,但網(wǎng)格搜索成本太高,單次訓練的代價太大。隨機搜索與網(wǎng)格搜索類似,其方法本質(zhì)上都是對所有可能的結(jié)果進行窮舉,相較于網(wǎng)格搜索成本略低,但隨著尋優(yōu)超參數(shù)數(shù)量和取值范圍的增加,搜索空間呈指數(shù)型增長。文獻[14]采用貝葉斯優(yōu)化方法對XGBoost模型超參數(shù)進行優(yōu)化,貝葉斯優(yōu)化方法是考慮之前的參數(shù)信息,迭代更新先驗計算結(jié)果,但不適合離散和高維空間,存在算法不容易并行化等問題,一旦超參數(shù)數(shù)量維度增加,貝葉斯優(yōu)化方法求解就十分困難。在母線負荷預測問題逐漸高維非線性化的形式下,目前沒有一種尋優(yōu)算法能適用于所有問題,所以新型智能優(yōu)化算法的研究是十分必要的。文獻[15]提出了基于XGBoost和Stacking融合的母線負荷組合預測模型,并使用粒子群優(yōu)化(particle swarm optimization,PSO)算法對參數(shù)進行優(yōu)化,文獻[16]采用改進果蠅優(yōu)化算法和廣義回歸神經(jīng)網(wǎng)絡進行組合預測,但這2種算法均存在收斂速度慢和容易陷入局部最優(yōu)解的問題。
基于現(xiàn)有研究基礎,針對母線負荷的波動性大和不確定性強的問題,本文提出一種基于麻雀搜索算法(sparrow search algorithm,SSA)優(yōu)化的雙向長短時記憶(Bi-directional LSTM,Bi-LSTM)神經(jīng)網(wǎng)絡的母線負荷預測方法。該方法充分利用Bi-LSTM神經(jīng)網(wǎng)絡捕獲先驗知識信息的能力,然后利用SSA進行優(yōu)化。最后,以實際10 kV母線數(shù)據(jù)對SSA-Bi-LSTM神經(jīng)網(wǎng)絡模型進行驗證,并與Bi-LSTM神經(jīng)網(wǎng)絡和BP神經(jīng)網(wǎng)絡對比,驗證SSA-Bi-LSTM的預測效果。
LSTM神經(jīng)網(wǎng)絡是循環(huán)神經(jīng)網(wǎng)絡的變體網(wǎng)絡,處理時間序列的長程依賴問題有很好的效果,被普遍應用于時間序列的預測中,可以解決訓練過程中產(chǎn)生的梯度爆炸和消失問題,實現(xiàn)對負荷本身時序特性、影響因素與負荷之間復雜關系的建模,預測準確性和穩(wěn)定性較高。
LSTM神經(jīng)網(wǎng)絡單元結(jié)構如圖1所示。輸入門、輸出門和遺忘門組成1個單向LSTM單元,有3個輸入數(shù)據(jù):上一時刻(t-1)的單元輸出ht-1、上一時刻的單元狀態(tài)Ct-1,以及本時刻(t)的輸入xt。遺忘門根據(jù)ht-1和xt選擇性地提取記憶單元中的信息,其數(shù)學表達式為
圖1 LSTM神經(jīng)網(wǎng)絡單元結(jié)構
ft=σ(W[ht-1,xt])+b.
(1)
式中:ft為遺忘門的輸出函數(shù);σ(·)為激活函數(shù),此處選用sigmoid函數(shù);W和b分別為遺忘門權重、偏置;[ ]表示將2個向量進行拼接。
輸入門是針對保存到狀態(tài)單元里的信息計算,根據(jù)ht-1和xt向記憶單元中新增信息,其數(shù)學表達式為
it=σ(Wi[ht-1,xt])+bi,
(2)
(3)
記憶單元更新后的輸出
(4)
輸出門的數(shù)學表達式為:
ot=σ(Wo[ht-1,xt])+bo,
(5)
ht=ot·tanhCt.
(6)
式中:ot為輸出門的輸出函數(shù);Wo、bo分別為輸出門權重、偏置。
單向LSTM神經(jīng)網(wǎng)絡可以利用過去的數(shù)據(jù)信息解決長程依賴的問題,而Bi-LSTM神經(jīng)網(wǎng)絡的輸出與前后數(shù)據(jù)元素均有聯(lián)系,充分利用數(shù)據(jù)信息的交互[17],反復利用權重參數(shù),降低了對母線原始負荷數(shù)據(jù)的要求。Bi-LSTM神經(jīng)網(wǎng)絡單元結(jié)構如圖2所示,與LSTM結(jié)構不同的是增加了數(shù)據(jù)的反向傳播層,相當于前向LSTM和反向LSTM的組合,并且都連接輸入層和輸出層。輸出值為前向、反向數(shù)據(jù)的加權組合。一維序列的母線負荷數(shù)據(jù)以及天氣數(shù)據(jù)作為x序列輸入。圖2中,Wf、Wb分別為前向?qū)雍头聪驅(qū)拥臋嘀?,?—ω8為Bi-LSTM神經(jīng)網(wǎng)絡每個時刻被重復利用的8個權重值。
圖2 Bi-LSTM神經(jīng)網(wǎng)絡單元結(jié)構
需要注意的是,雙向的計算方式是隱藏層先儲存前向?qū)?到t時刻的輸出,再結(jié)合反向?qū)觮到0時刻的反向計算值,最終的輸出是二者的加權組合。具體計算過程如下:
(7)
(8)
(9)
SSA[18]是一種群體智能優(yōu)化算法,于2020年提出,與蟻群算法、PSO算法和人工蜂群算法等群體智能優(yōu)化算法相似,其核心思想都是模擬群體動物的行為。SSA求解流程如圖3所示。
圖3 SSA求解流程
SSA將麻雀的群體行為分為發(fā)現(xiàn)者、加入者、偵察者,分別模擬麻雀的覓食行為和反捕食行為。三者的具體行為導則如下:
步驟1:在SSA中,發(fā)現(xiàn)者作為適應度值高的麻雀在搜索過程中會優(yōu)先獲取食物,擁有更大的覓食搜索范圍。加入者會向發(fā)現(xiàn)者靠攏,尋找覓食方向。
步驟2:在覓食過程中,圍繞在發(fā)現(xiàn)者周圍進行覓食的加入者會與發(fā)現(xiàn)者爭奪食物,以提高自己的捕食率,從而轉(zhuǎn)化為發(fā)現(xiàn)者,而饑餓的加入者會到其他地方覓食,尋找更好的發(fā)現(xiàn)者。
預先隨機設定預警值和預警閾值,當預警值超過上限,代表麻雀種群意識到捕食者的危險,會及時發(fā)出警報信號,種群進行反捕食行為,即位置移動,處于種群外圍的麻雀和處于種群中心的麻雀都會進行位置移動,種群外圍的麻雀會不斷調(diào)整以獲得更好位置,種群中心的麻雀會向鄰近麻雀靠攏。
發(fā)現(xiàn)者位置轉(zhuǎn)移更新公式為:
(10)
加入者位置轉(zhuǎn)移更新公式為:
(11)
偵察者位置轉(zhuǎn)移更新公式為:
(12)
當mi>mg時,位置在種群邊緣的麻雀比較危險,面臨捕食者的威脅較大;當mi=mg時,位置在種群中間的麻雀收到警報,需要與鄰近麻雀抱團以減少風險。
Bi-LSTM神經(jīng)網(wǎng)絡雖然在LSTM神經(jīng)網(wǎng)絡的基礎上提高了信息提取的能力,但在訓練時仍存在超參數(shù)難以確定的問題。文獻[19]通過基準函數(shù)測試表明,SSA在穩(wěn)定性、確定全局最優(yōu)解和避免局部最小值等各個方面都優(yōu)于PSO[20]、遺傳、灰狼、鯨魚和蜻蜓等其他智能優(yōu)化算法。
為了提高模型的性能和精確度,解決Bi-LSTM神經(jīng)網(wǎng)絡超參數(shù)難以確定的問題,首先對母線負荷數(shù)據(jù)進行異常值檢測,辨識不良數(shù)據(jù)并進行處理[21-22],包括缺失值填充和異常值處理等。其次在數(shù)據(jù)預處理后利用SSA局部搜索能力強、收斂速度快的特點進行超參數(shù)尋優(yōu),隨機初始化麻雀種群位置,設置生產(chǎn)者比例和尋優(yōu)維度,設置不同預警值時發(fā)現(xiàn)者的位置更新方式并計算適應度值,設置不同適應度值的跟隨者位置更新方式,得到最終位置即為最優(yōu)解。通過SSA優(yōu)化得到網(wǎng)絡的最優(yōu)學習率、前向和反向隱含層神經(jīng)元數(shù)目和迭代次數(shù),最后利用優(yōu)化得到的超參數(shù)對Bi-LSTM神經(jīng)網(wǎng)絡進行訓練,通過設置好的神經(jīng)元數(shù)目進行前向和后向迭代學習,并進行測試集測試和誤差計算。SSA-Bi-LSTM神經(jīng)網(wǎng)絡模型預測流程如圖4所示。
圖4 SSA-Bi-LSTM神經(jīng)網(wǎng)絡模型預測流程
本文采用i7-7700HQ處理器,運用python語言進行編寫,采用Tensorflow作為框架,pycharm作為編譯器。為驗證SSA優(yōu)化模型的有效性,采用華北某地區(qū)的母線負荷數(shù)據(jù)進行驗證,選取2018年1—12月的負荷數(shù)據(jù),采樣時間間隔為15 min,每日96個采樣點,共計35 136個數(shù)據(jù)樣本。將前10個月的樣本劃分為訓練集,后2個月作為測試集,對于模型進行評估。對于劃分好的訓練與測試集,采用滑動窗口的方式進行預測,根據(jù)窗口長度w對輸入數(shù)據(jù)進行滑動處理,即前w個采樣數(shù)據(jù)作為特征,第w+1個采樣數(shù)據(jù)作為標簽,將w個特征作為模型的輸入,得到下個時間點的預測值,然后滑動窗口,將預測值作為新特征進行預測。同時考慮溫度、濕度和降雨量這3類對母線負荷影響最大的天氣因素,將這些影響因素與負荷數(shù)據(jù)一同作為模型的輸入。為了消除量綱影響,在數(shù)據(jù)預處理中用sklearn進行MinMaxScaler歸一化,將數(shù)據(jù)壓縮至0~1區(qū)間。
本文將預測值與真實值的均方誤差(mean-square error,MSE)作為SSA的適應度值,圖5和圖6為SSA和PSO算法的適應度值曲線。
圖5 SSA適應度值曲線
圖6 PSO算法適應度值曲線
由圖6可見SSA的適應度值在10-5量級,最優(yōu)適應度值能達到1.958 5×10-5,收斂精度更高,說明SSA優(yōu)化得到的超參數(shù)組合更加合理,并且達到最小適應度值的迭代次數(shù)更少。將SSA得到的最優(yōu)超參數(shù)在Bi-LSTM神經(jīng)網(wǎng)絡模型中進行訓練,訓練中采用MSE指標作為損失函數(shù),采用Adam優(yōu)化器進行優(yōu)化。最優(yōu)超參數(shù)見表1。
表1 最優(yōu)超參數(shù)
采用時間窗口滑動的預測策略,將窗口長度設置為96,對12月29、30日共192個預測點的預測結(jié)果進行展示,將12月28日的96個采樣數(shù)據(jù)點作為特征輸入模型中,得到12月29日第1個采樣數(shù)據(jù)點的預測值,然后繼續(xù)滑動時間窗口,依次預測出12月29、30日所有數(shù)據(jù)點的預測值。在Tensorflow環(huán)境下對本文提出模型進行驗證,并將實驗結(jié)果與其他模型進行對比,各神經(jīng)網(wǎng)絡預測對比結(jié)果如圖7至圖10所示。
圖7 BP神經(jīng)網(wǎng)絡模型預測曲線
圖8 LSTM神經(jīng)網(wǎng)絡模型預測曲線
圖9 Bi-LSTM神經(jīng)網(wǎng)絡模型預測曲線
圖10 SSA-Bi-LSTM神經(jīng)網(wǎng)絡模型預測曲線
可以看出,這幾種神經(jīng)網(wǎng)絡模型均能對母線負荷的趨勢進行預測,但BP神經(jīng)網(wǎng)絡存在一些峰谷期間誤差較大的現(xiàn)象,SSA-Bi-LSTM神經(jīng)網(wǎng)絡模型的擬合準確度較高。
采用PSO算法對Bi-LSTM神經(jīng)網(wǎng)絡的相同超參數(shù)進行優(yōu)化,PSO-Bi-LSTM神經(jīng)網(wǎng)絡模型結(jié)果曲線如圖11所示。
圖11 PSO-Bi-LSTM神經(jīng)網(wǎng)絡模型預測曲線
本文采用平均絕對百分誤差(mean absolute percentage error,MAPE)和均方根誤差(root mean square error,RMSE)作為模型精度的評價指標,計算公式為:
(13)
(14)
式中:eMAPE、eRMSE分別為MAPE、RMSE的值;v為預測點個數(shù);aq為第q個預測點的電力負荷預測值;bq為第q個預測點的電力負荷真實值。MAPE和RMSE的值越小代表模型的預測精度越高。各模型預測結(jié)果誤差見表2。
表2 各模型預測誤差
由表2可以看出:本文所提出的SSA-Bi-LSTM神經(jīng)網(wǎng)絡模型預測結(jié)果的MAPE指標下降至0.78%,RMSE指標下降至48.293 kW,這主要是由于SSA-Bi-LSTM神經(jīng)網(wǎng)絡模型對母線負荷規(guī)律的捕捉能力更強;PSO-Bi-LSTM神經(jīng)網(wǎng)絡模型對于母線峰谷負荷的預測存在較大的誤差,原因是PSO算法存在陷入局部最優(yōu)解的問題,優(yōu)化Bi-LSTM神經(jīng)網(wǎng)絡所得到的超參數(shù)不是最優(yōu)超參數(shù)的組合,存在一定偏差。SSA-Bi-LSTM神經(jīng)網(wǎng)絡模型與其他模型相比預測精度最高,預測值更加平穩(wěn),貼近真實負荷曲線,各神經(jīng)網(wǎng)絡模型預測曲線與真實負荷曲線對比如圖12所示。
圖12 各神經(jīng)網(wǎng)絡模型預測曲線與真實負荷曲線對比
本文提出基于SSA-Bi-LSTM神經(jīng)網(wǎng)絡的母線負荷預測方法,針對母線負荷波動性大難以預測和神經(jīng)網(wǎng)絡超參數(shù)難以確定的問題,采用Bi-LSTM神經(jīng)網(wǎng)絡模型對母線負荷數(shù)據(jù)進行信息提取,增加信息資源的先驗知識收集,再利用SSA對Bi-LSTM神經(jīng)網(wǎng)絡進行優(yōu)化,使用母線負荷樣本進行訓練;以實際10 kV母線負荷數(shù)據(jù)對文中方法進行實例驗證,并將實驗結(jié)果與Bi-LSTM神經(jīng)網(wǎng)絡、傳統(tǒng)LSTM神經(jīng)網(wǎng)絡和BP神經(jīng)網(wǎng)絡等進行對比,得到以下結(jié)論:
a)相較于其他神經(jīng)網(wǎng)絡模型,本文針對母線負荷預測的特點,通過引入Bi-LSTM神經(jīng)網(wǎng)絡,更好地提取母線負荷序列信息,從而提升了預測精度。
b)SSA考慮了群體行為多種可能因素,能快速在最優(yōu)解附近收斂,有效跳出局部最優(yōu),全局搜索能力強,尋優(yōu)精度更高,適用于高維復雜場景的尋優(yōu),利用SSA尋優(yōu)可以得到最優(yōu)學習率、隱含層神經(jīng)元數(shù)目和迭代次數(shù)等。多次實驗結(jié)果表明SSA具有良好的魯棒性,可以有效提高母線負荷預測準確率。
下一步研究工作考慮加入更多超參數(shù)并利用SSA進行優(yōu)化,在母線負荷預測問題上針對性地對算法進行改進,與更多神經(jīng)網(wǎng)絡模型進行結(jié)合。