龐傳軍, 張波, 余建明
(1. 南瑞集團(tuán)(國網(wǎng)電力科學(xué)研究院)有限公司,江蘇 南京 211106;2. 北京科東電力控制系統(tǒng)有限責(zé)任公司,北京 100192)
電力系統(tǒng)負(fù)荷預(yù)測可對未來一段時(shí)間的電力需求進(jìn)行估計(jì),從而根據(jù)負(fù)荷預(yù)測結(jié)果安排未來一段時(shí)間的機(jī)組組合計(jì)劃、發(fā)電計(jì)劃、聯(lián)絡(luò)線交換計(jì)劃,組織電力現(xiàn)貨交易。因此,準(zhǔn)確的負(fù)荷預(yù)測是實(shí)現(xiàn)電力系統(tǒng)安全、經(jīng)濟(jì)運(yùn)行的基礎(chǔ)[1]。
電力系統(tǒng)負(fù)荷受天氣、節(jié)假日、特殊事件等因素的影響,負(fù)荷變化隨機(jī)性較大[2—4]。分布式電源的接入和電動(dòng)汽車的廣泛應(yīng)用進(jìn)一步加大了負(fù)荷的隨機(jī)性和波動(dòng)性[5—7],增加了負(fù)荷精準(zhǔn)預(yù)測難度。電力負(fù)荷預(yù)測方法主要分為兩大類:統(tǒng)計(jì)學(xué)方法和基于機(jī)器學(xué)習(xí)的方法。統(tǒng)計(jì)學(xué)方法采用時(shí)間序列方法進(jìn)行預(yù)測[8—9],主要包括多元線性回歸(mul-ti-ple linear regression,MLR)、自回歸(auto regres-sion,AR)、自回歸移動(dòng)平均(auto regressive mo-ving avera-ge,ARMA)等。該類方法對電力負(fù)荷序列的平穩(wěn)性要求較高,但電力負(fù)荷具有較強(qiáng)的隨機(jī)性,不是平穩(wěn)時(shí)間序列。為了提高負(fù)荷預(yù)測的準(zhǔn)確性,諸多研究將機(jī)器學(xué)習(xí)算法應(yīng)用在電力負(fù)荷預(yù)測領(lǐng)域。文獻(xiàn)[10]采用K近鄰(K-nearest neighbor,KNN)算法實(shí)現(xiàn)短期電力負(fù)荷預(yù)測,提升了負(fù)荷預(yù)測的精度和計(jì)算速度;文獻(xiàn)[11]基于深度信念網(wǎng)絡(luò)構(gòu)建母線負(fù)荷預(yù)測模型;文獻(xiàn)[12]提出基于改進(jìn)人工神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測方法;文獻(xiàn)[13]將隨機(jī)森林回歸算法應(yīng)用于短期電力負(fù)荷預(yù)測;文獻(xiàn)[14]應(yīng)用支持向量機(jī)(support vector machines,SVM),并引入實(shí)時(shí)電價(jià)這一影響因素提升負(fù)荷預(yù)測準(zhǔn)確度;文獻(xiàn)[15]提出基于多模型融合Stacking集成學(xué)習(xí)方式的負(fù)荷預(yù)測方法。機(jī)器學(xué)習(xí)方法從歷史負(fù)荷數(shù)據(jù)中學(xué)習(xí)隱含規(guī)律,具備較強(qiáng)的非線性建模能力。傳統(tǒng)的機(jī)器學(xué)習(xí)方法僅能學(xué)習(xí)各類影響因素與負(fù)荷之間的非線性關(guān)系,未考慮負(fù)荷本身的時(shí)序依賴關(guān)系。
為了兼顧負(fù)荷本身的時(shí)序依賴關(guān)系,采用長短期記憶單元(long short-term memory,LSTM)構(gòu)建負(fù)荷預(yù)測模型。利用LSTM替代原有循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)中的神經(jīng)元,使普通RNN具備時(shí)序記憶能力,實(shí)現(xiàn)對負(fù)荷本身時(shí)序特性、影響因素與負(fù)荷之間復(fù)雜關(guān)系的建模。該方法可以靈活定義歷史窗口期、靈活添加負(fù)荷影響因素,且預(yù)測準(zhǔn)確性和穩(wěn)定性較高。
RNN是一種能夠處理時(shí)間序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)[16],廣泛應(yīng)用于自然語言處理領(lǐng)域[17],在電力系統(tǒng)中也有應(yīng)用[18]。RNN架構(gòu)如圖1所示。
圖1 RNN架構(gòu)Fig.1 The architecture of RNN
與前饋神經(jīng)網(wǎng)絡(luò)相比,RNN隱藏層中的每個(gè)神經(jīng)元可以通過自鏈接循環(huán)使用。給定輸入數(shù)據(jù)X={x1,x2,…,xt,…,xT},RNN采用式(1)和式(2)計(jì)算隱藏狀態(tài)h={h1,h2,…,ht,…,hT}和輸出y={y1,y2,…,yt,…,yT}。其中T為1 d內(nèi)根據(jù)采樣間隔計(jì)算的采樣點(diǎn)數(shù)量。
ht=f(Whxxt+Whhht-1+bh)
(1)
yt=g(Wyhht+by)
(2)
式中:xt為t時(shí)刻的輸入;yt為t時(shí)刻的輸出;ht為t時(shí)刻的隱藏狀態(tài);Whx,Whh,Wyh分別為輸入、隱藏和輸出權(quán)重;bh,by分別為隱藏狀態(tài)和輸出的偏置;f(·),g(·)分別為隱藏層和輸出層激活函數(shù)。
RNN采用ht-1記憶t時(shí)刻之前的所有輸入信息,t時(shí)刻輸出yt不但受該時(shí)刻輸入xt的影響,還受ht-1的影響。RNN采用時(shí)間反向傳播(back pro-pagation through time,BPTT)算法進(jìn)行訓(xùn)練[16—17],訓(xùn)練過程中存在梯度消失問題,導(dǎo)致RNN不能學(xué)習(xí)時(shí)間序列的長距離時(shí)序依賴關(guān)系[19]。LSTM在神經(jīng)元中加入記憶單元和門控單元,使RNN具備記憶能力,從而可以學(xué)習(xí)時(shí)序數(shù)據(jù)的長期依賴關(guān)系。
LSTM是對普通神經(jīng)元的改進(jìn),在隱藏層的每個(gè)神經(jīng)元引入記憶單元,并采用遺忘門、輸入門、輸出門3個(gè)門控單元控制記憶單元的狀態(tài),解決普通RNN不能學(xué)習(xí)長距離時(shí)序依賴的問題[19]。LSTM結(jié)構(gòu)如圖2所示[20—21]。
圖2 LSTM結(jié)構(gòu)Fig.2 The structure of LSTM
記憶單元與隱藏狀態(tài)一起記憶序列數(shù)據(jù)的歷史信息。記憶單元中的信息受3個(gè)門控單元的控制。遺忘門根據(jù)ht-1和xt刪除記憶單元中的信息。遺忘門為:
ft=σ(Wf[ht-1xt])+bf
(3)
式中:σ(·)為sigmoid激活函數(shù);Wf為遺忘門權(quán)重;bf為遺忘門偏置。
輸入門根據(jù)ht-1和xt向記憶單元中新增信息,如式(4)、式(5)所示。
it=σ(Wi[ht-1xt])+bi
(4)
(5)
遺忘門和輸出門計(jì)算完成后,采用式(6)更新記憶單元。
(6)
式中:°為哈達(dá)瑪乘積。
輸出門根據(jù)ht-1,xt,Ct,決定ht。
ot=σ(Wo[ht-1xt])+bo
(7)
ht=ot°tanhCt
(8)
式中:Wo為輸出門權(quán)重;bo為輸出門偏置。
采用LSTM替換普通RNN中的神經(jīng)元構(gòu)建負(fù)荷預(yù)測模型,利用LSTM能學(xué)習(xí)長距離時(shí)序依賴的優(yōu)點(diǎn),對電力負(fù)荷中隱藏的歷史運(yùn)行規(guī)律進(jìn)行學(xué)習(xí)。
電力系統(tǒng)負(fù)荷受人們生產(chǎn)生活規(guī)律的影響,具備周期性、趨勢性,同時(shí)又受天氣變化、重大事件等隨機(jī)因素的影響,具有較大的不確定性。某天某一時(shí)刻的負(fù)荷lt,d受當(dāng)天日期類型(周幾、是否節(jié)假日)和當(dāng)前時(shí)刻天氣因素(溫度、濕度等)的影響,同時(shí)又與當(dāng)天歷史n個(gè)時(shí)刻的負(fù)荷和歷史幾天同一時(shí)刻的負(fù)荷有關(guān)。利用LSTM能學(xué)習(xí)長距離時(shí)序依賴的優(yōu)點(diǎn),在考慮預(yù)測日當(dāng)天相關(guān)因素對負(fù)荷影響的基礎(chǔ)上,從橫向上識別預(yù)測日當(dāng)天負(fù)荷變化的規(guī)律,從縱向上識別歷史日期窗口內(nèi)同一時(shí)刻負(fù)荷的變化規(guī)律。
基于LSTM網(wǎng)絡(luò),用預(yù)測日前w天的負(fù)荷曲線和負(fù)荷影響因素對預(yù)測日負(fù)荷進(jìn)行預(yù)測, LSTM網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。圖中,模型輸出為預(yù)測日的預(yù)測負(fù)荷,如式(9)所示。
圖3 用于負(fù)荷預(yù)測的LSTM網(wǎng)絡(luò)模型Fig.3 LSTM network model for load forecast
(9)
式中:當(dāng)采樣間隔為15 min時(shí),T=96。
歷史負(fù)荷為:
Lt,d-w={lt,d-1,lt,d-2,…,lt,d-w}
(10)
式中:lt,d-w為預(yù)測日前w天t時(shí)刻的負(fù)荷。
負(fù)荷影響因素為:
Ft,d={wt,d,et,d,…,ht,d}
(11)
式中:wt,d為天氣信息;ht,d為0-1變量,為0代表非工作日,為1代表工作日;et,d為影響負(fù)荷的特殊事件;Ft,d中還可包含影響負(fù)荷的其他因素。
預(yù)測模型的訓(xùn)練過程包含數(shù)據(jù)預(yù)處理、模型訓(xùn)練、模型評價(jià)3個(gè)階段。
2.3.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理主要包括數(shù)據(jù)向量化和標(biāo)準(zhǔn)化2個(gè)步驟。神經(jīng)網(wǎng)絡(luò)基于線性代數(shù)理論,不能直接在原始數(shù)據(jù)上進(jìn)行訓(xùn)練,在訓(xùn)練之前需要將原始數(shù)據(jù)轉(zhuǎn)換為向量[22]。數(shù)據(jù)向量化將Lt,d-w與Ft,d進(jìn)行拼接,拼接后的數(shù)據(jù)轉(zhuǎn)化為向量。
神經(jīng)網(wǎng)絡(luò)采用基于梯度下降的反向傳播算法進(jìn)行訓(xùn)練[22],數(shù)據(jù)太大或太小會(huì)導(dǎo)致很難尋求到最優(yōu)解。因此,將數(shù)據(jù)歸一化到標(biāo)準(zhǔn)區(qū)間有利于模型求解。采用最小-最大歸一化方法將向量中的每個(gè)元素歸一化到區(qū)間[0,1],如式(12)所示[22]。
(12)
式中:Xmax,Xmin分別為最大、最小值;X為原始值;Xnorm為歸一化后的值。
2.3.2 模型訓(xùn)練
采用BPTT算法對用于負(fù)荷預(yù)測的LSTM網(wǎng)絡(luò)進(jìn)行訓(xùn)練。訓(xùn)練目標(biāo)是調(diào)整網(wǎng)絡(luò)參數(shù)使網(wǎng)絡(luò)輸出盡可能接近真實(shí)值,訓(xùn)練過程如圖4所示。
圖4 模型訓(xùn)練流程Fig.4 Model training process
圖4中,②和③為前向推理過程,④和⑤為反向傳播過程。損失函數(shù)包括均方誤差(mean square error,MSE)損失、均方根誤差(root mean square error,RMSE)損失、平均絕對誤差(mean absolute error,MAE)損失等。文中采用MSE作為損失函數(shù),表示為[18]:
(13)
2.3.3 模型評價(jià)
模型訓(xùn)練過程中,將所有數(shù)據(jù)輸入網(wǎng)絡(luò)并對其參數(shù)進(jìn)行調(diào)整,稱為一個(gè)回合?;睾蠑?shù)過少導(dǎo)致網(wǎng)絡(luò)欠擬合,回合數(shù)過多導(dǎo)致網(wǎng)絡(luò)過度擬合。為了確定合適的回合數(shù),選擇最優(yōu)的模型,需要在每個(gè)回合訓(xùn)練結(jié)束后對模型進(jìn)行評價(jià),過程如圖5所示。
圖5 最優(yōu)訓(xùn)練回合數(shù)確定流程Fig.5 Determination process of optimal training epoch
采用美國德州可靠性委員會(huì)控制區(qū)域2003年—2018年的每小時(shí)歷史系統(tǒng)負(fù)荷數(shù)據(jù)對文中的模型進(jìn)行驗(yàn)證[23]。將2003年—2016年的數(shù)據(jù)作為訓(xùn)練集,2017年的數(shù)據(jù)作為驗(yàn)證集,2018年的數(shù)據(jù)作為測試集。驗(yàn)證集用來驗(yàn)證最優(yōu)訓(xùn)練回合數(shù)、最佳網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)。測試集用來測試模型預(yù)測效果。訓(xùn)練預(yù)測模型過程中考慮了天氣(氣溫),日期類型(是否工作日,周幾等),歷史窗口期內(nèi)同一時(shí)刻負(fù)荷,歷史窗口期內(nèi)每天的最大、最小負(fù)荷等因素,如表1所示。
表1 實(shí)驗(yàn)所選取的負(fù)荷影響因素Table 1 Power load influencing factors in the experiment
常用的負(fù)荷預(yù)測評價(jià)指標(biāo)包括RMSE、MAE、絕對百分比誤差(absolute percentage error,APE)等。通常采用所有樣本APE的平均值(mean absolute percentage error,MAPE)eMAPE衡量負(fù)荷預(yù)測模型的整體性能。與其他方法進(jìn)行比較時(shí),采用MAE、RMSE、APE對算法性能進(jìn)行分析,分別如式(14)—式(16)。
(14)
(15)
(16)
構(gòu)建的LSTM網(wǎng)絡(luò),隱藏層數(shù)和每個(gè)隱藏層LSTM的數(shù)量對負(fù)荷預(yù)測精度均有影響。以2017年全年每小時(shí)歷史負(fù)荷數(shù)據(jù)作為驗(yàn)證集,固定歷史日期窗口w為7 d,采用枚舉法對隱藏層神經(jīng)元數(shù)量進(jìn)行逐層選取,確定最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)。首先,確定第1層隱藏神經(jīng)元的最佳數(shù)量并固定;然后,確定下一層隱藏層即第2層隱藏層神經(jīng)元數(shù)量的最佳值;依次類推,直到預(yù)測精度不再提高為止。不同網(wǎng)絡(luò)結(jié)構(gòu)下的預(yù)測性能如表2所示。對每層神經(jīng)元的數(shù)量進(jìn)行選取時(shí),依次設(shè)置為5~40個(gè)(間隔為5個(gè)),共8個(gè)級別。隱藏層的層數(shù)依次設(shè)置為1,2,3層。
表2 不同LSTM網(wǎng)絡(luò)結(jié)構(gòu)的預(yù)測性能Table 2 Forecasting performance of different LSTM network structures
由表2可知,隱藏層數(shù)為1,每層神經(jīng)元數(shù)量為5時(shí),eMAPE取得最小值4.6%;隱藏層數(shù)為2,每層神經(jīng)元數(shù)為20時(shí),eMAPE取得最小值4.72%;隱藏層為3,每層神經(jīng)元數(shù)為10時(shí),eMAPE取得最小值4.58%。因此,w為7 d且隱藏層數(shù)目為3,每層神經(jīng)元的數(shù)目為10時(shí),網(wǎng)絡(luò)的預(yù)測性能較好。
設(shè)置網(wǎng)絡(luò)層數(shù)分別為1,2,3層,隱藏單元數(shù)分別為5,20,10。w取1~60 d。同樣采用2017年全年每小時(shí)歷史負(fù)荷數(shù)據(jù)作為驗(yàn)證集。不同網(wǎng)絡(luò)結(jié)構(gòu)下eMAPE隨w的變化曲線見圖6。
圖6 不同LSTM網(wǎng)絡(luò)結(jié)構(gòu)下eMAPE隨w的變化Fig.6 The change of eMAPE with w under different LSTM network structures
由圖6可知,隨著w增大,不同網(wǎng)絡(luò)結(jié)構(gòu)的eMAPE相差不大,無明顯下降或上升趨勢,但eMAPE的變化在w較大時(shí)不太穩(wěn)定。特別是網(wǎng)絡(luò)結(jié)構(gòu)為1層,每層5個(gè)神經(jīng)元時(shí),較大的w使eMAPE變化劇烈。3種網(wǎng)絡(luò)結(jié)構(gòu)下,w為7~30 d時(shí),MAPE都較低,且變化平穩(wěn)。隱藏層為1,每層神經(jīng)元數(shù)為5,w為23 d時(shí),預(yù)測性能最優(yōu),eMAPE僅為3.9%。
為了驗(yàn)證文中所提方法的性能,選擇最優(yōu)的預(yù)測模型(隱藏層為1,每層神經(jīng)元數(shù)為5,w為23 d),采用2018年全年每小時(shí)負(fù)荷作為測試集對模型預(yù)測性能進(jìn)行測試,并與KNN、SVM算法進(jìn)行對比。2018年5月的預(yù)測結(jié)果如圖7所示。圖7(a)為實(shí)際負(fù)荷與每種方法預(yù)測負(fù)荷的對比;圖7(b)為每種預(yù)測方法每個(gè)時(shí)間點(diǎn)的APE。由圖7可知,與其他2種方法相比,LSTM算法的APE較小且變化幅度不大,說明LSTM算法的預(yù)測性能和預(yù)測效果優(yōu)于其他2種算法。
圖7 2018年5月負(fù)荷預(yù)測結(jié)果及誤差Fig.7 Results and errors of load forecast on May 2018
為了進(jìn)一步驗(yàn)證LSTM算法的性能,計(jì)算每種算法的APE、MAE和RMSE。APE箱形圖見圖8。
圖8 算法的APE分布Fig.8 APE distribution of each algorithm
由圖8可知,LSTM算法與其他2種算法相比,APE明顯偏小(箱子偏下),且誤差分布相對集中(箱子高度較小)。每種算法的MAPE、MAE和RMSE如表3所示。
表3 不同算法預(yù)測性能對比Table 3 Prediction performance comparisonof different algorithms
由圖8和表3可知,LSTM算法的負(fù)荷預(yù)測效果較好,性能較穩(wěn)定。
文中采用LSTM構(gòu)建負(fù)荷預(yù)測模型,利用LSTM能學(xué)習(xí)長距離時(shí)序依賴的優(yōu)點(diǎn),從橫向上(時(shí)間維度)辨識負(fù)荷本身的變化規(guī)律,從縱向上(影響因素維度)識別天氣、節(jié)假日等因素對負(fù)荷的非線性影響。采用實(shí)際的負(fù)荷數(shù)據(jù)對模型進(jìn)行驗(yàn)證,比較了不同網(wǎng)絡(luò)結(jié)構(gòu)、不同歷史時(shí)間窗口期對預(yù)測性能的影響,并與其他2種算法進(jìn)行了比較。結(jié)果表明,所提方法提升了負(fù)荷預(yù)測準(zhǔn)確性,且預(yù)測性能較穩(wěn)定。
目前,深度神經(jīng)網(wǎng)絡(luò)無法進(jìn)行負(fù)荷概率區(qū)間預(yù)測,且預(yù)測模型無法對預(yù)測結(jié)果進(jìn)行解釋。采用深度神經(jīng)網(wǎng)絡(luò)對負(fù)荷概率區(qū)間進(jìn)行預(yù)測,并對預(yù)測結(jié)果進(jìn)行解釋是未來的研究方向之一。