龐傳軍, 張波, 余建明
(1. 南瑞集團(國網電力科學研究院)有限公司,江蘇 南京 211106;2. 北京科東電力控制系統有限責任公司,北京 100192)
電力系統負荷預測可對未來一段時間的電力需求進行估計,從而根據負荷預測結果安排未來一段時間的機組組合計劃、發(fā)電計劃、聯絡線交換計劃,組織電力現貨交易。因此,準確的負荷預測是實現電力系統安全、經濟運行的基礎[1]。
電力系統負荷受天氣、節(jié)假日、特殊事件等因素的影響,負荷變化隨機性較大[2—4]。分布式電源的接入和電動汽車的廣泛應用進一步加大了負荷的隨機性和波動性[5—7],增加了負荷精準預測難度。電力負荷預測方法主要分為兩大類:統計學方法和基于機器學習的方法。統計學方法采用時間序列方法進行預測[8—9],主要包括多元線性回歸(mul-ti-ple linear regression,MLR)、自回歸(auto regres-sion,AR)、自回歸移動平均(auto regressive mo-ving avera-ge,ARMA)等。該類方法對電力負荷序列的平穩(wěn)性要求較高,但電力負荷具有較強的隨機性,不是平穩(wěn)時間序列。為了提高負荷預測的準確性,諸多研究將機器學習算法應用在電力負荷預測領域。文獻[10]采用K近鄰(K-nearest neighbor,KNN)算法實現短期電力負荷預測,提升了負荷預測的精度和計算速度;文獻[11]基于深度信念網絡構建母線負荷預測模型;文獻[12]提出基于改進人工神經網絡的短期負荷預測方法;文獻[13]將隨機森林回歸算法應用于短期電力負荷預測;文獻[14]應用支持向量機(support vector machines,SVM),并引入實時電價這一影響因素提升負荷預測準確度;文獻[15]提出基于多模型融合Stacking集成學習方式的負荷預測方法。機器學習方法從歷史負荷數據中學習隱含規(guī)律,具備較強的非線性建模能力。傳統的機器學習方法僅能學習各類影響因素與負荷之間的非線性關系,未考慮負荷本身的時序依賴關系。
為了兼顧負荷本身的時序依賴關系,采用長短期記憶單元(long short-term memory,LSTM)構建負荷預測模型。利用LSTM替代原有循環(huán)神經網絡(recurrent neural network,RNN)中的神經元,使普通RNN具備時序記憶能力,實現對負荷本身時序特性、影響因素與負荷之間復雜關系的建模。該方法可以靈活定義歷史窗口期、靈活添加負荷影響因素,且預測準確性和穩(wěn)定性較高。
RNN是一種能夠處理時間序列數據的神經網絡[16],廣泛應用于自然語言處理領域[17],在電力系統中也有應用[18]。RNN架構如圖1所示。

圖1 RNN架構Fig.1 The architecture of RNN
與前饋神經網絡相比,RNN隱藏層中的每個神經元可以通過自鏈接循環(huán)使用。給定輸入數據X={x1,x2,…,xt,…,xT},RNN采用式(1)和式(2)計算隱藏狀態(tài)h={h1,h2,…,ht,…,hT}和輸出y={y1,y2,…,yt,…,yT}。其中T為1 d內根據采樣間隔計算的采樣點數量。
ht=f(Whxxt+Whhht-1+bh)
(1)
yt=g(Wyhht+by)
(2)
式中:xt為t時刻的輸入;yt為t時刻的輸出;ht為t時刻的隱藏狀態(tài);Whx,Whh,Wyh分別為輸入、隱藏和輸出權重;bh,by分別為隱藏狀態(tài)和輸出的偏置;f(·),g(·)分別為隱藏層和輸出層激活函數。
RNN采用ht-1記憶t時刻之前的所有輸入信息,t時刻輸出yt不但受該時刻輸入xt的影響,還受ht-1的影響。RNN采用時間反向傳播(back pro-pagation through time,BPTT)算法進行訓練[16—17],訓練過程中存在梯度消失問題,導致RNN不能學習時間序列的長距離時序依賴關系[19]。LSTM在神經元中加入記憶單元和門控單元,使RNN具備記憶能力,從而可以學習時序數據的長期依賴關系。
LSTM是對普通神經元的改進,在隱藏層的每個神經元引入記憶單元,并采用遺忘門、輸入門、輸出門3個門控單元控制記憶單元的狀態(tài),解決普通RNN不能學習長距離時序依賴的問題[19]。LSTM結構如圖2所示[20—21]。

圖2 LSTM結構Fig.2 The structure of LSTM
記憶單元與隱藏狀態(tài)一起記憶序列數據的歷史信息。記憶單元中的信息受3個門控單元的控制。遺忘門根據ht-1和xt刪除記憶單元中的信息。遺忘門為:
ft=σ(Wf[ht-1xt])+bf
(3)
式中:σ(·)為sigmoid激活函數;Wf為遺忘門權重;bf為遺忘門偏置。
輸入門根據ht-1和xt向記憶單元中新增信息,如式(4)、式(5)所示。
it=σ(Wi[ht-1xt])+bi
(4)
(5)

遺忘門和輸出門計算完成后,采用式(6)更新記憶單元。
(6)
式中:°為哈達瑪乘積。
輸出門根據ht-1,xt,Ct,決定ht。
ot=σ(Wo[ht-1xt])+bo
(7)
ht=ot°tanhCt
(8)
式中:Wo為輸出門權重;bo為輸出門偏置。
采用LSTM替換普通RNN中的神經元構建負荷預測模型,利用LSTM能學習長距離時序依賴的優(yōu)點,對電力負荷中隱藏的歷史運行規(guī)律進行學習。
電力系統負荷受人們生產生活規(guī)律的影響,具備周期性、趨勢性,同時又受天氣變化、重大事件等隨機因素的影響,具有較大的不確定性。某天某一時刻的負荷lt,d受當天日期類型(周幾、是否節(jié)假日)和當前時刻天氣因素(溫度、濕度等)的影響,同時又與當天歷史n個時刻的負荷和歷史幾天同一時刻的負荷有關。利用LSTM能學習長距離時序依賴的優(yōu)點,在考慮預測日當天相關因素對負荷影響的基礎上,從橫向上識別預測日當天負荷變化的規(guī)律,從縱向上識別歷史日期窗口內同一時刻負荷的變化規(guī)律。
基于LSTM網絡,用預測日前w天的負荷曲線和負荷影響因素對預測日負荷進行預測, LSTM網絡結構如圖3所示。圖中,模型輸出為預測日的預測負荷,如式(9)所示。

圖3 用于負荷預測的LSTM網絡模型Fig.3 LSTM network model for load forecast

(9)
式中:當采樣間隔為15 min時,T=96。
歷史負荷為:
Lt,d-w={lt,d-1,lt,d-2,…,lt,d-w}
(10)
式中:lt,d-w為預測日前w天t時刻的負荷。
負荷影響因素為:
Ft,d={wt,d,et,d,…,ht,d}
(11)
式中:wt,d為天氣信息;ht,d為0-1變量,為0代表非工作日,為1代表工作日;et,d為影響負荷的特殊事件;Ft,d中還可包含影響負荷的其他因素。

預測模型的訓練過程包含數據預處理、模型訓練、模型評價3個階段。
2.3.1 數據預處理
數據預處理主要包括數據向量化和標準化2個步驟。神經網絡基于線性代數理論,不能直接在原始數據上進行訓練,在訓練之前需要將原始數據轉換為向量[22]。數據向量化將Lt,d-w與Ft,d進行拼接,拼接后的數據轉化為向量。
神經網絡采用基于梯度下降的反向傳播算法進行訓練[22],數據太大或太小會導致很難尋求到最優(yōu)解。因此,將數據歸一化到標準區(qū)間有利于模型求解。采用最小-最大歸一化方法將向量中的每個元素歸一化到區(qū)間[0,1],如式(12)所示[22]。
(12)
式中:Xmax,Xmin分別為最大、最小值;X為原始值;Xnorm為歸一化后的值。
2.3.2 模型訓練
采用BPTT算法對用于負荷預測的LSTM網絡進行訓練。訓練目標是調整網絡參數使網絡輸出盡可能接近真實值,訓練過程如圖4所示。

圖4 模型訓練流程Fig.4 Model training process
圖4中,②和③為前向推理過程,④和⑤為反向傳播過程。損失函數包括均方誤差(mean square error,MSE)損失、均方根誤差(root mean square error,RMSE)損失、平均絕對誤差(mean absolute error,MAE)損失等。文中采用MSE作為損失函數,表示為[18]:
(13)

2.3.3 模型評價
模型訓練過程中,將所有數據輸入網絡并對其參數進行調整,稱為一個回合。回合數過少導致網絡欠擬合,回合數過多導致網絡過度擬合。為了確定合適的回合數,選擇最優(yōu)的模型,需要在每個回合訓練結束后對模型進行評價,過程如圖5所示。

圖5 最優(yōu)訓練回合數確定流程Fig.5 Determination process of optimal training epoch
采用美國德州可靠性委員會控制區(qū)域2003年—2018年的每小時歷史系統負荷數據對文中的模型進行驗證[23]。將2003年—2016年的數據作為訓練集,2017年的數據作為驗證集,2018年的數據作為測試集。驗證集用來驗證最優(yōu)訓練回合數、最佳網絡結構和參數。測試集用來測試模型預測效果。訓練預測模型過程中考慮了天氣(氣溫),日期類型(是否工作日,周幾等),歷史窗口期內同一時刻負荷,歷史窗口期內每天的最大、最小負荷等因素,如表1所示。

表1 實驗所選取的負荷影響因素Table 1 Power load influencing factors in the experiment
常用的負荷預測評價指標包括RMSE、MAE、絕對百分比誤差(absolute percentage error,APE)等。通常采用所有樣本APE的平均值(mean absolute percentage error,MAPE)eMAPE衡量負荷預測模型的整體性能。與其他方法進行比較時,采用MAE、RMSE、APE對算法性能進行分析,分別如式(14)—式(16)。
(14)
(15)
(16)

構建的LSTM網絡,隱藏層數和每個隱藏層LSTM的數量對負荷預測精度均有影響。以2017年全年每小時歷史負荷數據作為驗證集,固定歷史日期窗口w為7 d,采用枚舉法對隱藏層神經元數量進行逐層選取,確定最優(yōu)網絡結構。首先,確定第1層隱藏神經元的最佳數量并固定;然后,確定下一層隱藏層即第2層隱藏層神經元數量的最佳值;依次類推,直到預測精度不再提高為止。不同網絡結構下的預測性能如表2所示。對每層神經元的數量進行選取時,依次設置為5~40個(間隔為5個),共8個級別。隱藏層的層數依次設置為1,2,3層。

表2 不同LSTM網絡結構的預測性能Table 2 Forecasting performance of different LSTM network structures
由表2可知,隱藏層數為1,每層神經元數量為5時,eMAPE取得最小值4.6%;隱藏層數為2,每層神經元數為20時,eMAPE取得最小值4.72%;隱藏層為3,每層神經元數為10時,eMAPE取得最小值4.58%。因此,w為7 d且隱藏層數目為3,每層神經元的數目為10時,網絡的預測性能較好。
設置網絡層數分別為1,2,3層,隱藏單元數分別為5,20,10。w取1~60 d。同樣采用2017年全年每小時歷史負荷數據作為驗證集。不同網絡結構下eMAPE隨w的變化曲線見圖6。

圖6 不同LSTM網絡結構下eMAPE隨w的變化Fig.6 The change of eMAPE with w under different LSTM network structures
由圖6可知,隨著w增大,不同網絡結構的eMAPE相差不大,無明顯下降或上升趨勢,但eMAPE的變化在w較大時不太穩(wěn)定。特別是網絡結構為1層,每層5個神經元時,較大的w使eMAPE變化劇烈。3種網絡結構下,w為7~30 d時,MAPE都較低,且變化平穩(wěn)。隱藏層為1,每層神經元數為5,w為23 d時,預測性能最優(yōu),eMAPE僅為3.9%。
為了驗證文中所提方法的性能,選擇最優(yōu)的預測模型(隱藏層為1,每層神經元數為5,w為23 d),采用2018年全年每小時負荷作為測試集對模型預測性能進行測試,并與KNN、SVM算法進行對比。2018年5月的預測結果如圖7所示。圖7(a)為實際負荷與每種方法預測負荷的對比;圖7(b)為每種預測方法每個時間點的APE。由圖7可知,與其他2種方法相比,LSTM算法的APE較小且變化幅度不大,說明LSTM算法的預測性能和預測效果優(yōu)于其他2種算法。

圖7 2018年5月負荷預測結果及誤差Fig.7 Results and errors of load forecast on May 2018
為了進一步驗證LSTM算法的性能,計算每種算法的APE、MAE和RMSE。APE箱形圖見圖8。

圖8 算法的APE分布Fig.8 APE distribution of each algorithm
由圖8可知,LSTM算法與其他2種算法相比,APE明顯偏小(箱子偏下),且誤差分布相對集中(箱子高度較小)。每種算法的MAPE、MAE和RMSE如表3所示。

表3 不同算法預測性能對比Table 3 Prediction performance comparisonof different algorithms
由圖8和表3可知,LSTM算法的負荷預測效果較好,性能較穩(wěn)定。
文中采用LSTM構建負荷預測模型,利用LSTM能學習長距離時序依賴的優(yōu)點,從橫向上(時間維度)辨識負荷本身的變化規(guī)律,從縱向上(影響因素維度)識別天氣、節(jié)假日等因素對負荷的非線性影響。采用實際的負荷數據對模型進行驗證,比較了不同網絡結構、不同歷史時間窗口期對預測性能的影響,并與其他2種算法進行了比較。結果表明,所提方法提升了負荷預測準確性,且預測性能較穩(wěn)定。
目前,深度神經網絡無法進行負荷概率區(qū)間預測,且預測模型無法對預測結果進行解釋。采用深度神經網絡對負荷概率區(qū)間進行預測,并對預測結果進行解釋是未來的研究方向之一。