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