孫 輝,楊 帆,高正男,胡姝博,,王鐘輝,劉勁松
(1. 大連理工大學電子信息與電氣工程學部,遼寧省 大連市 116024;2. 國網遼寧省電力有限公司電力科學研究院,遼寧省 沈陽市 110055;3. 國網遼寧省電力有限公司調度控制中心,遼寧省 沈陽市 110004)
短期負荷預測通過對數學、統計學等各種分析工具的運用,探究歷史負荷之間的關系與規(guī)律,并對未來幾小時或幾天的負荷大小進行推測[1],以保障電力系統的安全運行。近年來,隨著儲能、新能源、電動汽車接入電網的規(guī)模不斷增大,以及基于激勵、價格的需求側響應模式的持續(xù)發(fā)展,短期負荷預測的復雜度明顯增加。同時,在電力市場化改革不斷推進的背景下,高效、實時的電力交易成為必需,這給短期負荷預測的精確性、快速性和可靠性提出了更高的要求。
圍繞著電力負荷數據強時序性和強非線性的特點,國內外學者持續(xù)不斷地開展研究。目前,基于機器學習的短期負荷預測已經成為相關領域研究和應用的熱點之一。文獻[2-4]使用支持向量機進行負荷預測,文獻[5-7]采用了人工神經網絡方法。上述方法能夠很好地解決非線性問題。但是,以上方法的共同缺點在于對負荷的時序信息考慮不夠,需要手動添加相關信息。近年來,深度遞歸網絡(RNN)、長短期記憶(LSTM)網絡(下文簡稱LSTM)和門控循環(huán)單元(GRU)等憑借其特有的循環(huán)單元,能夠同時處理時序性和非線性問題,使得深度學習模型在短期負荷預測中被廣泛應用。文獻[8-9]基于LSTM 進行短期負荷預測,提高了預測精度;文獻[10-12]以GRU 為底層模型進行負荷預測,驗證了其有效性;文獻[13]將孿生網絡、灰狼優(yōu)化算法和LSTM 結合進行負荷預測,在保證預測值精度的同時,提高了算法的運行效率;文獻[14-15]采用雙向長短期記憶(BILSTM)網絡(下文簡稱BILSTM)進行負荷預測,證明了相較于LSTM,BILSTM 對于連續(xù)時間序列具有更好的表達能力。為了防止參數過多影響訓練效率[16],文獻[8-15]中的模型采用權值共享結構對電力負荷的時序信息進行提取,文獻[17]首次對權值共享結構的時不變性進行討論,但目前的研究中尚未針對時不變性對負荷預測的影響進行探究。
在使用深度學習模型進行短期負荷預測前,需要選取影響負荷變化的因素作為輸入特征,包括氣象、日期和歷史負荷值等。輸入特征在不同時刻下對負荷變化的影響力不同,即其重要性值發(fā)生了波動。例如,溫度在一天中的不同時刻對負荷變化的影響大小具有明顯差異[18]。而權值共享結構的時不變性,使之不能動態(tài)追蹤輸入特征的重要性值隨時間而產生的波動,進而影響預測精度。因此,需要量度不同時刻下輸入特征的重要性,并進行動態(tài)修正,以提高預測精度。文獻[19-20]采用皮爾遜相關系數(PCC)法量度輸入特征的重要性,但PCC 只能反映線性相關性。 近年來,互信息(mutual information,MI)法由于其非線性提取能力和自適應性在量度特征重要性中被廣泛應用[21-23]。但上述量度特征重要性的研究是進行輸入特征選擇,未能將所選擇的輸入特征重要性值隨時間而發(fā)生的波動考慮在內,無法補足權值共享結構的缺陷。
為了追蹤輸入特征的重要性值隨時間出現的波動,進一步提高預測精度,本文提出一種考慮特征重要性值波動的MI 和BILSTM(下文簡稱MIBILSTM)短期負荷預測方法。該方法先采用MI 法提取不同時刻下輸入特征的重要性值,形成重要性值波動矩陣。接著,通過矩陣對原始輸入特征進行動態(tài)修正,使之內部包含波動信息。最后,將修正后的輸入特征代入BILSTM 中進行短期負荷預測,不僅保留了權值共享結構在精簡參數方面的優(yōu)勢,并且彌補了其無法提取重要性值波動的缺陷,提高了預測精度。
LSTM 預測結構見圖1。采用LSTM 預測時,對應某一時刻t的輸出預測值ot,有z種不同種類的輸入特征序列it=[it,1,it,2,…,it,z]T,不同時刻的輸入序列保持相同的種類和結構,輸入特征序列所對應的權值W=[w1,w2,…,wz]。例如,第1 類特征it,1對應的權值為w1,第2 類特征it,2對應的權值為w2,以此類推。特征所對應的權值越大,說明該特征對于最終的輸出負荷影響越大,即特征的重要性越大。但是由于LSTM 權值共享機制的時不變性,在不同時刻的輸入序列所對應的權值W=[w1,w2,…,wz]保持不變,即認為不同時刻下輸入特征具有同樣的重要性,換而言之,權值共享機制不能隨時間動態(tài)追蹤輸入特征的重要性值波動,這會導致最終的預測精度下降。因此,事先提取出輸入特征的重要性值波動信息,再代入模型中進行預測,就可以彌補權值共享結構的不足,具體理論推導過程如附錄A 所示。其他含有權值共享結構的深度學習模型分析與LSTM 類似,不再贅述。
圖1 LSTM 預測結構Fig.1 Structure of LSTM forecasting
采用MI 法量度輸入特征的重要性,用提取到的MI 值表征輸入特征的重要性值,MI 值越大,說明輸入特征與負荷之間的相關性越大,即重要性值越大。按照一天中采樣點的先后順序,依次提取輸入特征的重要性值,以時間維度為行,輸入特征種類為列,形成重要性值波動矩陣。通過矩陣中具體數值的大小,反映輸入特征重要性值的時序波動。
此外,日負荷場景受多種因素(日期特征、溫度、濕度等)影響,可以分為不同類型,其輸入特征的重要程度大小也表現出明顯的差異。例如,高溫場景下由于空調、電風扇、冷氣機等降溫設備的使用,溫度的重要程度會明顯增大。因此,重要性值波動矩陣的提取分為兩步:首先,采用高斯混合模型(Gaussian mixture model,GMM)聚類從原始數據庫中劃分出不同的日負荷場景;其次,針對劃分出的具體場景,分別提取輸入特征的重要性值波動矩陣。
1.2.1 基于GMM 的日負荷場景聚類
GMM 聚類按照概率劃分成員,具有更加靈活的類簇形狀。GMM 聚類后生成的結果為一系列的概率值,樣本中的個體對應不同的類別都有其對應的概率,選取最大概率的所屬類別作為分類依據。采用期望最大化(expectation-maximization,EM)算法估計GMM 中單個高斯分布函數參數。EM 算法分成期望步和最大化步。
1)期望步:根據給定的初始值或前一步最大化步計算得出的3 組參數,計算樣本xi由第j類別所生成的概率γj(xi),3 組參數如式(1)所示,計算公式見式(2)。
式中:αj、μj和Σj分別為第j個高斯分布的權重、均值和協方差;k為高斯分布的總個數;xi為日負荷場景劃分的輸入數據;n為xi的維度;D為日負荷數據庫中的總天數。
2)最大化步:根據最大似然估計對上述3 組參數α、μ和Σ進行更新,如式(3)所示。
式中:α′j、μ′j和Σ′j分別為第j個高斯分布更新后的權重、均值和協方差。
循環(huán)進行上述期望步和最大化步,直至參數收斂或似然函數收斂,得到日負荷場景聚類結果。GMM 聚類的超參數(最佳聚類數量)常采用貝葉斯信息準則(Bayesian information criterion,BIC)確定[24],選取最低BIC 值所對應的聚類數量作為最優(yōu)值。BIC 值的計算公式和原理見附錄B。
關于選取表征日負荷場景劃分的輸入數據如下:
日期特征是影響日負荷場景劃分的顯著因素。因此,初次GMM 聚類以日期特征為輸入完成聚類。日期特征分為工作日、周末、法定節(jié)假日3 種不同的情況,按照one-hot 編碼形式對日期特征進行編碼,即工作日為[1,0,0],周末為[0,1,0],法定節(jié)假日為[0,0,1]。當周末與法定節(jié)假日重合時,統一按照節(jié)假日處理,后續(xù)在節(jié)假日場景下進行預測時,加入“是否為周末”這一特征作為區(qū)分。將上述經過編碼后的三維日期特征作為初次GMM 聚類的輸入,完成初次聚類,得到以日期特征為劃分的日負荷場景。
二次GMM 聚類以氣象特征作為輸入,對日負荷場景進一步細分。氣象特征包括溫度、濕度、降水量等不同類型的數據。由于溫度是影響日負荷變化的顯著因素,選用一天中的最高溫度、最低溫度、平均溫度作為二次GMM 聚類的輸入,得到最終的日負荷場景劃分結果。
1.2.2 基于MI 提取重要性值波動矩陣
MI 來自信息論中熵的概念,反映任意兩個隨機變量之間的相關性關系。用輸入特征和負荷之間的MI 值表征輸入特征的重要性值。
MI 值的計算公式為:式中:M(P,Q)為隨機變量P和Q之間的MI 值;pPQ(p,q)為隨機變量P和Q的聯合概率密度函數,其中,p和q分別為P和Q中的元素;pP(p)為隨機變量P的邊緣概率密度函數;pQ(q)為隨機變量Q的邊緣概率密度函數。兩個變量間的相關性越強,MI值越大,當兩個變量相互獨立時,MI 值為0。
重要性值波動矩陣的具體提取步驟如下:
步驟1:確定輸出負荷數據集。根據上述日負荷場景劃分結果,將電力負荷數據集按照一天中的負荷采樣點個數分成n組,并將其作為輸出數據集O=[O1,O2,…,Ot,…,On],其中,Ot為t時刻的輸出負荷數據。
步驟2:確定輸入特征數據集。取與上述輸出負荷數據集相對應的輸入特征矩陣I,即
其中,t時刻輸出Ot對應的輸入特征It=[It,1,It,2,…,It,z]T。
步驟3:t時刻輸入特征的重要性值計算。計算t時刻輸入特征與輸出負荷的MI 值并進行歸一化處理得Mt=[M(It,1,Ot),M(It,2,Ot),…,M(It,z,Ot)]T,用上述序列中值大小作為t時刻不同輸入特征的重要性值,如第1 類輸入特征在t時刻的重要性值為M(It,1,Ot)。
步驟4:重復計算步驟3。t從1 到n循環(huán)求解不同時刻下輸入特征的重要性值,當t=n時,求解完畢。得到隨時間變化的輸入特征的重要性值波動矩陣M,即
M中包含了不同維度下輸入特征的重要性信息。通過橫向時間維度對比可以反映同類輸入特征在不同時刻下的重要性值波動,而縱向種類維度對比可以反映不同類型的輸入特征在同一時刻下的重要性差異。提取重要性值波動矩陣的整體流程如附錄C 圖C1 所示。
短期負荷預測中,當前時刻的負荷值同時與歷史時刻的信息及未來時刻的信息相關聯。本文選用考慮雙向時刻信息的BILSTM 作為短期負荷預測的底層模型。基本LSTM 單元的結構如附錄A 圖A1 所示,BILSTM 結構如附錄D 圖D1 所示。
BILSTM 的計算公式如式(7)—式(9)所示。
基于MI-BILSTM 的短期負荷預測方法流程見圖2。
圖2 MI-BILSTM 預測流程圖Fig.2 Flow chart of MI-BILSTM forecasting
為了彌補BILSTM 模型權值共享結構的時不變性,將1.2 節(jié)提取到的重要性值波動矩陣M作為系數修正BILSTM 的輸入特征,如式(10)所示。式中:“°”表示兩個矩陣的哈達馬積,即兩矩陣對應位置的元素分別相乘;I′為更新后的輸入特征矩陣。
原輸入特征矩陣I經式(10)轉換為能反映重要性值波動的輸入特征矩陣I′。將I′代入BILSTM 模型中進行訓練,使得BILSTM 模型可以動態(tài)追蹤輸入特征的重要程度變化。
選取中國某地區(qū)2012 年1 月1 日—2014 年6 月30 日的電力負荷數據庫和氣象數據庫進行算例驗證,電力負荷數據采集的時間間隔為15 min,一天采樣96 個點,氣象數據庫為每天的平均溫度、最高溫度、最低溫度、相對濕度和降水量。采用式(11)對數據x進行歸一化處理,將數據映射到[0,1]區(qū)間上。
式中:x′為歸一化后的數據;xmin和xmax分別為數據中的最小值和最大值。
針對聚類后劃分的不同數據庫,建立相應的MI-BILSTM 模型,模型的輸入特征數據分為氣象特征、日期特征和歷史負荷特征。在所有的日負荷場景下,氣象特征保持一致,包括最高溫度、最低溫度、平均溫度、相對濕度和降水量。
對日期特征而言,GMM 聚類已經將不同日期特征下的日負荷場景劃分,所以日期特征中不需要區(qū)分工作日、周末、法定節(jié)假日的特征。但是當兩種日期類型重疊或相鄰時,負荷曲線會出現相互影響的情況。對于工作日而言,臨近休息日(周末、法定節(jié)假日)時,負荷曲線會發(fā)生變化,例如后一天是休息日時,當天的負荷曲線在后半段會出現跌落;反之前一天是休息日時,當天負荷曲線在前半段會明顯較低,所以在工作日場景中加入“是否為休息日前一天”和“是否為休息日后一天”兩個特征。如果休息日為周末,該特征取1;如果休息日為法定節(jié)假日,該特征取2;如果休息日是周末和法定節(jié)假日重疊,該特征取3;不是上述情況取0。對周末而言,主要是受法定節(jié)假日導致的調休影響,所以在周末場景下加入“是否為調休日”這一特征,如果該天調休,該特征取1,否則取0。由于初次聚類時,將法定節(jié)假日和周末的重疊情況統一按照法定節(jié)假日處理,為了表示區(qū)分,在法定節(jié)假日場景下加入“是否為周末”這一特征,如果是周末取1,否則取0。
歷史負荷特征的選取受短期負荷預測的類型影響,由于本文進行的短期負荷預測類型為日前預測,預測日當天的負荷值默認為未知狀態(tài),所以選取的歷史負荷特征只能從預測日之前的數據庫中選取。對工作日而言,選取同一場景下前一工作日對應時刻的負荷值作為歷史負荷特征。在周末場景下,選取同一場景下前一相同星期日期對應時刻的負荷值作為歷史負荷特征。不同的法定節(jié)假日下負荷曲線性質不同,所以選取前一相同節(jié)假日對應時刻的負荷值作為歷史負荷特征。最終,各日負荷場景下的輸入特征種類見附錄E 表E1。
3.2.1 日負荷場景聚類結果
根據日期特征和氣象特征,分別進行初次GMM 聚類和二次GMM 聚類。其中,GMM 聚類的超參數(最佳聚類數量)采用BIC 確定[24]。按照日負荷場景數目S(S=2,3,…,10),循環(huán)計算對應的BIC 值,將BIC 值最小時對應的日負荷場景數作為GMM 聚類的超參數。
初次GMM 聚類的BIC 值隨S逐次增大時發(fā)生的變化如附錄F 圖F1(a)所示。按照BIC,其BIC 值在S=3 時達到最小值,所以選擇3 作為最佳聚類數。經初次聚類后從原始數據庫中劃分出3 類不同的日負荷場景,分別為576 d 的普通工作日場景、228 d 的周末場景和108 d 的法定節(jié)假日場景。
溫度是影響負荷變化的顯著特征,因此,二次GMM 聚類的輸入特征為三維溫度特征:最高溫度、最低溫度、平均溫度。如附錄F 圖F1(b)、(c)、(d)所示,工作日場景劃分為3 類,分別為工作日1(高溫)、工作日2(中溫)、工作日3(低溫);周末劃分為2類,分別為周末1(高溫)、周末2(低溫);法定節(jié)假日同樣劃分為2 類,分別為節(jié)假日1(高溫)、節(jié)假日2(低溫)。經過2 次GMM 聚類后,劃分出的日負荷場景及其天數如表1 所示。
表1 日負荷場景的聚類結果Table 1 Clustering results of daily load scenarios
3.2.2 重要性值波動矩陣的提取結果
使用MI 法分別提取上述日負荷場景下的輸入特征重要性值波動矩陣。數據庫中一天的采樣點個數為96,按照附錄E 表E1 選取輸入特征,提取結果如圖3 所示。圖3 中,為方便表示,用A、B、C、D、E、F、G、H、I、J、K、L 分別表示最高溫度、最低溫度、平均溫度、相對濕度、降水量、是否為休息日后一天、是否為休息日前一天、前一工作日對應時刻負荷值、是否為調休日、前一相同星期日期對應時刻負荷值、是否為周末、前一相同節(jié)假日對應時刻負荷值這12 種輸入特征。
由圖3 可以看出,在不同的日負荷場景下,輸入特征的重要性值波動矩陣表現明顯不同,驗證了提前進行日負荷場景劃分的必要性。
圖3 輸入特征的重要性值波動矩陣展示圖Fig.3 Illustration of fluctuant matrix for importance value of input feature
從時間維度上看,由于溫度往往通過影響人的行為來影響負荷的變化,所以溫度在中高溫度的場景下(工作日1、工作日2、周末1、節(jié)假日1)所表現出的重要性值往往隨著人一天中的生產活動規(guī)律發(fā)生波動。在一天的凌晨至上午,重要性值逐漸下降,隨著生產活動的開啟,重要性值逐漸增大至高峰,等到一天的下班時間,重要性值陡然下降,接著晚上用電負荷迎來高峰,溫度的重要性值也隨之升高。值得注意的是,由于負荷曲線具有在時序上連續(xù)的特點,“是否為休息日后一天”在一天中的前幾個時刻重要性值較大,而“是否為休息日前一天”在一天中的后幾個時刻重要性值較大。歷史負荷特征的重要性值在一天中的所有時刻下幾乎都保持最大。除了上述有明顯規(guī)律的特征外,其他特征的重要性值在時序上也同樣表現出波動特性。
作為對比,選擇經典的PCC 法提取重要性值波動矩陣,提取結果見附錄G 圖G1。由圖可知,在工作日2(中溫)、工作日3(低溫)場景下,PCC 法提取出的重要性值波動矩陣幾乎一致,但中溫場景下溫度對負荷變化的影響大小應該介于高溫場景和低溫場景之間,這說明PCC 法應用在中溫場景下具有一定的局限性;同樣在節(jié)假日1(高溫場景)的場景下,PCC 法的提取效果也不理想,沒有正確反映出高溫下溫度對負荷變化的影響。而MI 法相較于PCC法,在工作日2、節(jié)假日1 下,提取到了更多的非線性關系,這說明MI 法在提取特征的重要性值波動矩陣上有更好的適用性。
本文選取的算例評價指標為平均絕對百分比誤差(MAPE)和均方根誤差(RMSE)。經過3.2.1 節(jié)的日負荷場景聚類,將原始數據庫聚類成7 類不同的日負荷場景,每一類數據庫數量按照9∶1 劃分出訓練集和預測集,進行連續(xù)日前預測,訓練集和測試集的具體劃分結果如附錄H 表H1 所示。將3.2.2 節(jié)MI 法提取到的輸入特征重要性值波動矩陣作為系數按照式(10)對原始輸入特征進行修正,修正后代入模型中完成訓練和預測。
選 取 LSTM、BILSTM、MI-LSTM、PCCBILSTM、MI-BILSTM 這5 種不同的模型進行對比。由于本文的主要工作在于提取重要性值波動矩陣,并對原始的輸入特征進行修正,所以文中在對比時應該控制深度神經網絡模型的相關參數不變,觀察原始輸入特征和修正完成后的特征代入模型進行預測的精度變化。因此,LSTM 和MI-LSTM 模型的參數設置一致,BILSTM、PCC-BILSTM、MIBILSTM 模型的參數設置一致。 LSTM 和BILSTM 模型的超參數采用控制變量法[12,14]多次試驗進行模型調優(yōu)。記錄下不同日負荷場景下的MAPE 和RMSE。實驗結果見表2。
表2 全場景下不同模型預測結果比較Table 2 Comparison of prediction results for different models in whole scenarios
由表2 可知,LSTM 模型的平均預測精度在5 種模型中最低;BILSTM 模型由于可以考慮雙向信息,預測精度高于LSTM 模型;MI-LSTM 模型將輸入特征的重要性值波動考慮在內,預測精度相較于LSTM 模型有了明顯的提高;PCC-BILSTM 模型在多個場景上的精度以及平均精度都優(yōu)于原BILSTM 模型,這表明采用PCC 法提取重要性波動矩陣也具有一定的適用性。但在工作日2、節(jié)假日1場景下,預測精度反而有所下降,這是由于PCC 法線性提取的局限性,導致在工作日2 和節(jié)假日1 場景上提取到的波動矩陣未能反映正確的重要性值波動的特性,并因此導致精度下降;對于MI-BILSTM模型,其在7 種不同的日負荷場景下的預測精度都優(yōu)于其他模型,這說明MI 法提取到的重要性值波動矩陣相較于PCC 法對精度有更明顯的提升效果。
MI-BILSTM 模型在工作日1 至3 場景下的MAPE 分別為2.40%、3.12%、3.46%;在周末1 和2場景下的MAPE 分別4.82%、5.48%;在節(jié)假日1 和2場景下的MAPE 分別為7.98%、5.26%;在所有日負荷場景下的平均值為3.84%,相較于其他4 種模型的平均值分別提高了0.83%、0.59%、0.20%、0.36%。各場景下MI-BILSTM 模型的RMSE 依次為109.83、114.71、96.28、189.99、173.51、195.75、85.63 MW,平均值為129.99 MW,相較于其他4 種模型的平均值分別提高了27.31、17.6、8.84、12.13 MW。
不同模型結果對比如圖4 所示,由圖4 可知,MI-BILSTM 模型的預測精度在5 種模型中最高。在負荷曲線的波峰與波谷處,該模型不僅考慮了雙向信息流,還實現了輸入特征重要性值波動的動態(tài)追蹤,針對真實負荷曲線具有更好的擬合效果。
圖4 不同模型結果對比Fig.4 Result comparison of different models
為了探究重要性值的波動大小與精度提升之間的關系,設計了相關的對比實驗,具體如附錄I 所示。由附錄I 可知,無論是不同場景下還是同一場景下,單純考慮重要性值波動的大小與預測精度的提升之間均沒有明顯的正相關或負相關關系,這是因為特征的重要性值波動對精度的影響是一個綜合性的影響,不僅每個特征的波動對精度提升具有差異性,而且共同作用時還需要考慮疊加效應。其次,是否考慮重要性值的波動與精度提升之間有明顯的關系,當考慮重要性值波動時,精度有明顯的提升,見表2。最后,使用不同方法提取重要性值波動對精度提升的效果不同,能夠綜合提取線性和非線性關系的MI 法相較于只能提取出線性關系的PCC 法在提取重要性值波動矩陣、提高預測精度方面具有更好的適用性。
本文為了追蹤輸入特征的重要性值波動,進一步提高預測精度,提出一種考慮特征重要性值波動的MI-BILSTM 短期負荷預測方法。經過實際算例驗證,得出如下結論:
1)通過對LSTM 權值共享結構的分析,發(fā)現含有循環(huán)單元的深度學習模型存在一定的局限性,具體表現在此類模型的權值不能隨時間變化,無法追蹤輸入特征的重要程度隨時間出現的波動;
2)觀察輸入特征重要性值波動矩陣的展示圖,驗證了在短期負荷預測中輸入特征的重要程度會隨時間的推移發(fā)生波動;
3)采用重要性值波動矩陣修正輸入特征,在不增加BILSTM 模型參數的情況下,彌補了權值共享結構存在的缺陷,提高了預測精度;
4)在多種日負荷場景下,文中所提出的預測方法都表現出了更高的預測精度。這說明該方法不局限于特定場景,具備良好的自適應性和穩(wěn)定性。
本文在構建輸入特征時,未能將影響負荷變化的市場因素考慮在內,后續(xù)工作會構建更加豐富的輸入特征。此外,本文所提模型在周末、法定節(jié)假日場景下的預測精度較低,下一步將從輸入特征和模型兩方面入手,進一步提高周末和法定節(jié)假日場景下的預測精度。
附錄見本刊網絡版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網絡全文。