柴廣志,趙 永
(東北大學(xué),沈陽(yáng) 110000)
電力負(fù)荷預(yù)測(cè)是基于綠色發(fā)展的理念所提出的一種技術(shù),其在電力系統(tǒng)穩(wěn)定經(jīng)濟(jì)運(yùn)行和合理調(diào)度計(jì)劃方面起著不可或缺的作用[1]。我國(guó)在“十四五”規(guī)劃中明確提出了“碳達(dá)峰”“碳中和”的總體目標(biāo)和促進(jìn)經(jīng)濟(jì)發(fā)展方式向綠色轉(zhuǎn)變,促進(jìn)資源總量管理與科學(xué)配置高質(zhì)量發(fā)展,全面提高資源效率的基本要求,這給電力負(fù)荷系統(tǒng)準(zhǔn)確預(yù)測(cè)的重要性提升到了一個(gè)新的臺(tái)階。
目前國(guó)內(nèi)外學(xué)者針對(duì)電力負(fù)荷預(yù)測(cè)的研究可歸為3大類(lèi)。
(1)基于統(tǒng)計(jì)方法的電力負(fù)荷預(yù)測(cè)方法,主要包括多元線性回歸分析[2]、主成分分析法等。但此類(lèi)方法局限性較大,僅適合應(yīng)用于線性特征明顯比較平穩(wěn)的負(fù)荷數(shù)據(jù),但這與實(shí)際的負(fù)荷數(shù)據(jù)特征相反,因此此類(lèi)方法預(yù)測(cè)精度較低,并不適合應(yīng)用于電力負(fù)荷預(yù)測(cè)。
(2)基于機(jī)器學(xué)習(xí)的電力負(fù)荷預(yù)測(cè)方法,主要包括梯度提升樹(shù)[3]、人工神經(jīng)網(wǎng)絡(luò)模型(Artificial Neural Network,ANN)[4]和人工專(zhuān)家系統(tǒng)(Artificial Expert Systems,AES)[5]等。此類(lèi)方法與前一種方法相比,已經(jīng)可以對(duì)具有非線性和復(fù)雜性特征的負(fù)荷數(shù)據(jù)進(jìn)行處理,取得了不錯(cuò)的預(yù)測(cè)精度,在一些競(jìng)賽中曾大放異彩,但預(yù)測(cè)精度仍有進(jìn)步的空間。
(3)基于深度學(xué)習(xí)的電力負(fù)荷預(yù)測(cè)方法,主要包括深度置信網(wǎng)絡(luò)[6]、卷積神經(jīng)網(wǎng)絡(luò)[7]和深度卷積神經(jīng)網(wǎng)絡(luò)等。深度學(xué)習(xí)技術(shù)將電力負(fù)荷預(yù)測(cè)精度再次提高,但上述幾種模型并不具備處理負(fù)荷數(shù)據(jù)時(shí)序性的能力。后來(lái)有學(xué)者使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)對(duì)時(shí)間序列進(jìn)行處理[8],這個(gè)方法雖然能夠處理時(shí)序數(shù)據(jù),但其缺點(diǎn)是很難捕捉到長(zhǎng)期的依賴(lài)關(guān)系,在處理長(zhǎng)時(shí)間序列時(shí)容易發(fā)生梯度爆炸或梯度消失問(wèn)題[9],因此需要使用其他的網(wǎng)絡(luò)模型來(lái)解決這一問(wèn)題。
本文采取長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)來(lái)解決RNN梯度消失或爆炸問(wèn)題,該方法的梯度傳播有很多條通道,最主要的一條是當(dāng)前細(xì)胞的信息狀態(tài)更新這一過(guò)程,該過(guò)程不會(huì)經(jīng)過(guò)Sigmoid函數(shù)處理,只有相乘與相加的計(jì)算方式,與當(dāng)前細(xì)胞信息狀態(tài)更新相關(guān)的權(quán)重值的更新不會(huì)因?yàn)樯窠?jīng)元鏈過(guò)長(zhǎng)導(dǎo)致梯度消失,因此LSTM基本不會(huì)發(fā)生梯度消失或者梯度爆炸,在基于歷史負(fù)荷數(shù)據(jù)的長(zhǎng)時(shí)間序列預(yù)測(cè)中表現(xiàn)較好,準(zhǔn)確率更高。
門(mén)控機(jī)制負(fù)責(zé)在連接到記憶單元神經(jīng)網(wǎng)絡(luò)其他部分的邊緣設(shè)置權(quán)重,在梯度減小時(shí)選擇性地記憶反饋誤差函數(shù)的誤差參數(shù);記憶單元用來(lái)記錄當(dāng)前時(shí)刻狀態(tài),控制信息的傳遞[9];輸入門(mén)決定要保存和更新哪些信息,判斷當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸入數(shù)據(jù)有多少要保存到當(dāng)前細(xì)胞狀態(tài);遺忘門(mén)負(fù)責(zé)判斷前一時(shí)刻的信息有哪些需要保存哪些需要遺棄;輸出門(mén)決定當(dāng)前神經(jīng)元細(xì)胞輸出的信息。LSTM單元結(jié)構(gòu)如圖1所示。
圖1 LSTM單元結(jié)構(gòu)
式中:σ(·)為Sigmoid激活函數(shù);xt為t時(shí)刻的輸入值;ht-1為t-1時(shí)刻LSTM的輸出值;Wxi為輸入層到輸入門(mén)的權(quán)重向量;Wxf為輸入層到遺忘門(mén)的權(quán)重向量;Wxo為輸入層到輸出門(mén)的權(quán)重向量;Whi為隱藏層到輸入門(mén)的權(quán)重向量;Whf為隱藏層到遺忘門(mén)的權(quán)重向量;Who為隱藏層到輸出門(mén)的權(quán)重向量;bi為輸入門(mén)偏置項(xiàng)、bf為遺忘門(mén)偏置項(xiàng)、bo為輸出門(mén)偏置項(xiàng)。
式中:Wxc為輸入層到細(xì)胞狀態(tài)的權(quán)重向量;Whc為隱藏層到細(xì)胞狀態(tài)的權(quán)重向量;bc為細(xì)胞狀態(tài)的偏置項(xiàng)。
隱藏層的當(dāng)前輸出計(jì)算公式為
第一步:輸入數(shù)據(jù)集并對(duì)數(shù)據(jù)集做出預(yù)處理。
第二步:特征工程,定義功能函數(shù)用于構(gòu)造特征數(shù)據(jù)集和標(biāo)簽集,并且切分出X_train,X_test,Y_train,Y_test,然后創(chuàng)建批數(shù)據(jù)并設(shè)置序列長(zhǎng)度。
第三步:構(gòu)建模型,設(shè)置LSTM神經(jīng)元節(jié)點(diǎn)個(gè)數(shù)與全連接層層數(shù)。
第四步,進(jìn)行模型編譯、訓(xùn)練和驗(yàn)證。
第五步:模型測(cè)試。
由圖2和圖3可知:
圖2 網(wǎng)絡(luò)模型
圖3 模型結(jié)構(gòu)
第一層為輸入層,將預(yù)處理過(guò)的數(shù)據(jù)輸入。
第二層為隱藏層,設(shè)置神經(jīng)元節(jié)點(diǎn)數(shù)為16個(gè),對(duì)時(shí)序序列進(jìn)行處理。
第三層為全連接輸出層,設(shè)置為1層,將LSTM的輸出向量進(jìn)行維度變換。
LSTM預(yù)測(cè)模型的訓(xùn)練過(guò)程分為3步:第一步進(jìn)行數(shù)據(jù)預(yù)處理,第二步進(jìn)行模型的訓(xùn)練,第三步進(jìn)行模型評(píng)價(jià)。
2.4.1 數(shù)據(jù)預(yù)處理
第一步對(duì)數(shù)據(jù)進(jìn)行向量化處理。由于神經(jīng)網(wǎng)絡(luò)訓(xùn)練需要大量數(shù)據(jù),為了減少訓(xùn)練時(shí)間,不能直接導(dǎo)入原始數(shù)據(jù)進(jìn)行訓(xùn)練,在訓(xùn)練之前需要將原始數(shù)據(jù)進(jìn)行向量化處理,以此用矩陣運(yùn)算替代循環(huán)運(yùn)算,達(dá)到減少訓(xùn)練時(shí)間的目的。
第二步對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。神經(jīng)網(wǎng)絡(luò)采用時(shí)序反向傳播算法進(jìn)行訓(xùn)練,如果不對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,原始數(shù)據(jù)中數(shù)值大和數(shù)值小的數(shù)據(jù)會(huì)對(duì)訓(xùn)練造成不利影響,難以找到最優(yōu)解[10]。因此,可以通過(guò)最小-最大歸一化方法將向量中的所有元素歸一化到區(qū)間[0,1],有利于快速準(zhǔn)確地尋找到最優(yōu)解,歸一化算法如式(5),即
式中:x為原始樣本數(shù)據(jù);Xmin為樣本數(shù)據(jù)最小值;Xmax為樣本數(shù)據(jù)最大值;x′為歸一化之后的新樣本數(shù)據(jù)。
并且用keras.callbacks.ModelCheckpointh函數(shù)在每一個(gè)epoch訓(xùn)練后根據(jù)參數(shù)保存一個(gè)效果最好的模型,讓權(quán)重達(dá)到最佳。模型的編譯采用adam優(yōu)化器和mae、mape及rmse 3種損失函數(shù),歸一化后數(shù)據(jù)分布情況如圖4所示。
圖4 歸一化后數(shù)據(jù)分布情況
本文使用的數(shù)據(jù)集是2 a的電力負(fù)荷數(shù)據(jù),間隔15 min記錄1次,1 d共96組。
2.4.2 模型訓(xùn)練
采用時(shí)序反向傳播算法對(duì)LSTM模型進(jìn)行訓(xùn)練。訓(xùn)練的目的是調(diào)整模型參數(shù)提高模型性能,從而提高模型預(yù)測(cè)準(zhǔn)確性。每次訓(xùn)練會(huì)根據(jù)損失函數(shù)反映出的誤差大小來(lái)對(duì)模型參數(shù)進(jìn)行調(diào)整,挑選出性能最優(yōu)的模型。訓(xùn)練過(guò)程如圖5所示[11]。
圖5 模型訓(xùn)練流程
2.4.3 模型評(píng)估
在一個(gè)訓(xùn)練回合內(nèi)需要先將數(shù)據(jù)集加載入模型開(kāi)始訓(xùn)練再根據(jù)最后的梯度結(jié)果對(duì)模型參數(shù)作出修改。在訓(xùn)練中要選擇恰當(dāng)?shù)幕睾蠑?shù)來(lái)規(guī)避模型擬合不佳的不利影響。所以,在每個(gè)訓(xùn)練回合完畢后應(yīng)及時(shí)對(duì)該模型作出評(píng)估,讓回合數(shù)和模型性能達(dá)到最優(yōu)。具體步驟如圖6所示[11]。
圖6 最優(yōu)訓(xùn)練回合數(shù)確定流程
由圖7可得出模型訓(xùn)練過(guò)程中隨著迭代次數(shù)的增多,train loss(訓(xùn)練集上的損失,是模型在訓(xùn)練集的擬合能力的體現(xiàn))與val loss(驗(yàn)證集上的損失,是模型在未見(jiàn)過(guò)的數(shù)據(jù)上的擬合能力的體現(xiàn))在減少,到第20個(gè)epoch減少速度放緩,趨于平穩(wěn)。因?yàn)閠rain loss與val loss都較小且val loss比train loss稍大,因此說(shuō)明此模型的擬合效果較好。
圖7 LSTM損失函數(shù)曲線圖
由圖8和圖9可以得出,在測(cè)試集中,模型的預(yù)測(cè)數(shù)據(jù)曲線與測(cè)試集數(shù)據(jù)曲線擬合程度高,代表著預(yù)測(cè)精度高,模型的預(yù)測(cè)性能好。
圖8 模型驗(yàn)證結(jié)果
圖9 測(cè)試集前100個(gè)點(diǎn)的真值與預(yù)測(cè)值
本文分別使用平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE),平均絕對(duì)誤差(Mean Absolute Error,MAE),均方根誤差(Root Mean Squared Error,RMSE)3種誤差值作為指標(biāo)對(duì)模型的預(yù)測(cè)效果進(jìn)行評(píng)價(jià),MAPE可以反映出模型預(yù)測(cè)準(zhǔn)確性,其值越大,誤差越大。MAE可以反映出預(yù)測(cè)值誤差的實(shí)際情況,其值越大,誤差越大。RMSE可以反映出真實(shí)值與預(yù)測(cè)值的誤差,其值越大,誤差越大。
MAPE,MAE,RMSE計(jì)算公式如下
式中:yi為測(cè)試數(shù)據(jù)的真實(shí)值;為預(yù)測(cè)結(jié)果數(shù)據(jù)。
因此由表1可知,LSTM與KNN、SVM相比預(yù)測(cè)性能較好。
表1 不同算法性能預(yù)測(cè)對(duì)比
電力負(fù)荷預(yù)測(cè)的研究?jī)?nèi)容主要是在電力系統(tǒng)所在的地區(qū)壞境、經(jīng)濟(jì)條件和氣候條件等基礎(chǔ)上來(lái)分析研究電力負(fù)荷歷史數(shù)據(jù),充分發(fā)揮出大數(shù)據(jù)的優(yōu)勢(shì),在復(fù)雜的條件下能夠進(jìn)行高精度電力負(fù)荷預(yù)測(cè)。
電力負(fù)荷預(yù)測(cè)已成為電力系統(tǒng)制訂合理調(diào)度計(jì)劃的依據(jù)與安全平穩(wěn)經(jīng)濟(jì)運(yùn)行的基礎(chǔ),預(yù)測(cè)準(zhǔn)確度的提高對(duì)電源管理、城市規(guī)劃及其社會(huì)效益(節(jié)能減排)均有著重大意義。
本文將現(xiàn)在火熱的深度學(xué)習(xí)技術(shù)以節(jié)能減排的目的進(jìn)行電力負(fù)荷預(yù)測(cè),并且經(jīng)過(guò)對(duì)比選出適合的長(zhǎng)短期神經(jīng)網(wǎng)絡(luò)LSTM,本文LSTM模型具有預(yù)測(cè)精度高、迭代速度快和調(diào)整的參數(shù)少等優(yōu)勢(shì),能夠較好地解決電力負(fù)荷預(yù)測(cè)問(wèn)題[12],并且在LSTM的網(wǎng)絡(luò)模型中進(jìn)行優(yōu)化,達(dá)到了較好的電力負(fù)荷預(yù)測(cè)效果,為電力負(fù)荷預(yù)測(cè)提供了一種新的思路。