魏 健,趙紅濤,劉敦楠,加鶴萍,王宣元,張 浩,劉 蓁
(1.華北電力大學 數(shù)理學院, 北京 102206;2.華北電力大學 經(jīng)濟與管理學院, 北京 102206; 3.冀北電力交易中心有限公司,北京 100053)
提高短期電力負荷預測的預測精度,是保障電力系統(tǒng)安全可靠、經(jīng)濟高效運行重要手段[1]。短期電力負荷值的變化規(guī)律受多種因素影響,諸如時間序列等傳統(tǒng)的方法難以勝任復雜的預測,而機器學習中以卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)為主體構建的預測模型是短期電力負荷預測方法的典型,在很多行業(yè)的預測中也體現(xiàn)了較高的準確性[2]。
目前電力負荷預測的方法主要包括支持向量機(Support Vector Machine, SVM)和神經(jīng)網(wǎng)絡[3]等,能夠較好地處理非線性問題。然而,SVM方法在處理大規(guī)模數(shù)據(jù)方面存在一定困難,而CNN方法能充分解決大規(guī)模負荷數(shù)據(jù)中存在的非線性問題,因此在預測領域中得到應用廣泛[4]。
文獻[5,6]利用CNN模型提取輸入數(shù)據(jù)的特征來進行負荷預測,指出CNN在學習非線性序列的負荷數(shù)據(jù)方面準確率更高。然而,當負荷數(shù)據(jù)波動性和不穩(wěn)定性較大時,單一的 CNN模型難以較好地學習負荷的變化規(guī)律。文獻[7]提出了基于長短期記憶網(wǎng)絡(Long Short-Term Memory, LSTM)的短期電力負荷預測方法,并說明了這種方法在提取負荷值時序特征的有效性。文獻[8]提出一種結合CNN與LSTM 的短期電力負荷預測模型,解決了LSTM因輸入過長導致準確率下降的情況。文獻[9]探究了城市不同種類負荷的預測方法。文獻[16]也指出LSTM-CNN模型在訓練速度和擬合效果上要強于單獨的CNN或LSTM模型。
LSTM、RNN等方法在輸入序列過長時容易丟失序列信息,從而在一定程度上影響了負荷預測的準確度。針對LSTM等方法存在的問題,本文首先分析電力負荷特點,提出基于注意力機制的CNN-LSTM模型,對LSTM隱含層賦予不同的概率權重[10],從而加強重要信息的影響,在很大程度上解決了輸入序列過長丟失序列信息得問題,提高電力負荷預測精度。最后,通過算例分析,將本文所提方法與典型方法進行對比,指出本文所提方法具有更高的預測精度。
電力負荷每時每刻都在變化,在時間上具有周期性、波動性和隨機性的特點[11]。周期性是根據(jù)季度、月,甚至小時、分鐘,具有規(guī)律性的變化,大周期之內可能存在小周期。波動性指電力負荷值會出現(xiàn)震蕩變化現(xiàn)象,隨機性指電力負荷值的波動呈現(xiàn)一定的無規(guī)律性,波動幅度也因為各種因素的影響而存在不同。
以我國某地區(qū)的2013年3月28日至2017年9月30日的電力負荷值為例,如圖1所示。從圖1來看,該地區(qū)的年負荷曲線存在夏季和冬季兩個高峰負荷,尤其是夏季高峰明顯高于其它季節(jié)??紤]不同季節(jié)下電力負荷值的變化極大,本文考慮不同季節(jié)的負荷特點進行電力短期負荷預測。
圖1 某市年負荷曲線圖
LSTM分為遺忘門、輸入門和輸出門。遺忘門對前面時刻的記憶信息和新輸入的信息進行選擇[12],通過sigmoid函數(shù)進行篩選,當值為1時代表所有信息全部通過,值為0代表所有信息均不能通過。由于遺忘門的存在,LSTM很難會發(fā)生梯度消失現(xiàn)象。LSTM各個計算細節(jié)如下:
遺忘門可以描述為(1)式所示。
ft=sigmoid(wf[ht,xt]+bf)
(1)
這里ft代表的是通過的信息量。
輸入門可以描述為(2)-(3)式所示。
it=sigmoid(wi[ht-1,xt]+bi)
(2)
(3)
細胞狀態(tài)(信息傳導)Ct如式(4)所示。
Ct=Ct-1ft+itCt
(4)
輸出門Ot如式(5)-(6)所示.
Ot=sigmoid(wo[ht-1,xt]+bo)
(5)
ht=Ot*tanh(Ct)
(6)
在(1)-(6)式中,wf,wi,wc,wo均為權重指標,bf,bi,bc,bo均為偏移量。
相比于RNN模型,LSTM增加了多個門的設置,特別是遺忘門的設置,可以對上一個時段的輸入信息進行篩選,從而保留關鍵信息,遺忘一部分不重要信息,這是LSTM能克服梯度消失的關鍵。但是,LSTM在輸入序列過長時仍會有丟失重要數(shù)據(jù)信息的現(xiàn)象,因此,需要CNN對原有數(shù)據(jù)進行處理,過濾掉一部分不重要信息,從而提高負荷預測的準確度。
CNN[13]的主要作用是對數(shù)據(jù)進行特征提取,CNN由卷積層、池化層、全連接層構成。卷積層是提取特征的關鍵,由卷積核負責提取相應的數(shù)據(jù)特征,卷積核數(shù)量越多,提取的特征就越抽象[14]。池化方式分為最大池化、平均池化等方式,本文采取最大池化的方式,使用RELU激活函數(shù)來忽略一些不重要的特征,RELU激活函數(shù)是一個分段線性函數(shù),其具體表達式如(7)式。全連接層的作用是把經(jīng)過池化之后的神經(jīng)元展開為一維向量形式,進而更加方便的對數(shù)據(jù)進行處理。然而,CNN在預測中難以學習時序數(shù)據(jù)之間的關系,因此,需要RNN系列典型方法的強化,將CNN方法與LSTM方法結合。
(7)
注意力機制是一種模擬人腦注意力的資源分配機制,人腦在某個特定時刻會將注意力集中在需要重點關注的區(qū)域,減少甚至忽略對其他區(qū)域的關注,以獲取更多所需要關注的細節(jié)信息,抑制其他無用信息,忽略無關信息并放大所需信息[15]。注意力機制通過概率分配的方式,對關鍵信息賦予足夠的關注,突出重要信息的影響,從而提高模型的準確率。注意力機制可以有效改進LSTM因序列過長而丟失信息的情況,同時以分配概率的方式代替原先隨機分配權值的方法。
本文所用模型的流程圖如圖2所示,具體描述如下。
圖2 模型流程圖
(1)數(shù)據(jù)預處理:包括進行歸一化、刪除缺失值等。
(2)模型訓練:將訓練集的數(shù)據(jù)輸入模型進行訓練,由CNN層提取特征,LSTM學習負荷值的時序特征,同時使用Dropout方法來抑制過擬合。
(3)預測結果輸出:注意力機制決定輸出權重值,得到負荷預測輸出值。
本文采用的電力負荷數(shù)據(jù)是我國某地區(qū)2013年3月至2018年9月的負荷值數(shù)據(jù),每天采集24個點,時間間隔為1 h。首先對數(shù)據(jù)進行預處理,其中包括缺失值填充及數(shù)據(jù)歸一化處理等,有效數(shù)據(jù)為40 000條。通過對數(shù)據(jù)的初步分析發(fā)現(xiàn),隨著季節(jié)的變化,電力負荷數(shù)據(jù)有明顯的周期性規(guī)律,且夏季和冬季的負荷值明顯高于春秋季,且相對于春秋兩季的負荷值具有較大的波動,因此,本文采取不同季節(jié)的電力負荷預測方式。不同季節(jié)的電力負荷時序圖如圖3所示,橫坐標均為不同季節(jié)對應的數(shù)據(jù)點,縱坐標為負荷值。
圖3 某地區(qū)不同季節(jié)電力負荷
為了驗證不同季節(jié)電力負荷數(shù)據(jù)的平穩(wěn)性,本文采用ADF檢驗和P值檢驗,如表1所示。由表1得出,四季的數(shù)據(jù)均通過ADF檢驗和P值檢驗,采用CNN提取負荷特征并過濾無關信息也更加容易。
表1 ADF檢驗及P值檢驗
本文提出的基于注意力機制的CNN-LSTM模型,采用一層卷積層、一層池化層。卷積核設置為5個,通道寬度設定為(6,1,1),池化層中stride=1。LSTM分為兩層其后連接Dense層,本節(jié)中Dense層起到加強學習數(shù)據(jù)特征的作用,每層均設置16個神經(jīng)元,輸出層為1個神經(jīng)元。將每個季節(jié)負荷值中的前9 000個數(shù)據(jù)作為訓練集,后1 000個數(shù)據(jù)作為測試集,訓練次數(shù)為1 000次,batch-size設定為8 000個,梯度下降的方式采用adam訓練算法。
本文采取平均絕對百分誤差(Mean Absolute Percentage Error, MAPE)和均方根誤差(Root Mean Square Error, RMSE)來展示不同方法的負荷預測誤差,如式(8)-(9)所示。
(8)
(9)
表2列出本文所提出方法的預測誤差與其他典型機器學習方法(CNN、LSTM、CNN-LSTM、SVM、隨機森林)的預測誤差對比。
由表2可知,本文所提出的預測方法對不同季節(jié)的負荷預測均有較小的預測誤差,尤其是對于負荷值相對較高的夏季和冬季有很好的預測效果。
表2 不同預測方法的誤差對比
在本節(jié)中,為了驗證本文所提出方法的優(yōu)越性,以夏季電力負荷數(shù)據(jù)位例,將CNN、LSTM、CNN-LSTM以及本文所提出的預測方法(基于注意力機制的CNN-LSTM)的預測值與真實值作對比。不同預測方法的預測值與真實值如圖4所示。
圖4 不同預測方法的預測值與真實值對比
(1)從CNN的對比可以看出,CNN在擬合的效果上要強于LSTM,這與CNN的卷積核能夠提取負荷數(shù)據(jù)特征具有較大關系。例如卷積核提取了勞動節(jié)假期期間負荷值變化的特征,但是對于負荷曲線極值點處的預測效果較差。
(2)從圖4(a)可以看出,LSTM在對負荷曲線高峰值處的預測比CNN較好,然而在在負荷值低峰值處的預測效果不及CNN。LSTM預測在MAPE的標準下略小于CNN。且LSTM更多的考慮整體特征,所以在整體曲線的走勢上LSTM的擬合程度也很優(yōu)秀。
(3)從圖4(c)可以看出,CNN-LSTM在很大程度上結合了CNN與LSTM的優(yōu)點,因而在MAPE和RMSE上比單一的CNN或LSTM要小。但是由于最后一層隱含層和輸出層的權值是隨機分配的形式,未能突出關鍵信息的影響,所以對于特征的抽取依然有待提高。
(4)從圖4(d)可以看出,本文所提出的負荷預測方法在擬合度上大大增強,能夠十分準確的判斷真實值的走勢,同時對于個別突變值的預測也大大強于前三者。
本文提出的方法通過CNN對負荷序列提取特征,再利用與注意力機制結合的LSTM學習負荷值中的時序特征,從而完成電力負荷預測。本文模型的MAPE在春夏秋冬四季分別為2.22%、1.18%、1.54%、1.49%。在負荷值最高的夏季,本文提出的模型與CNN、LSTM和CNN-LSTM、SVM、隨機森林模型相比,MAPE分別降低了1.443%、1.074%、0.928%、2.04%、1.51%,RMSE分別降低了17.36、12.57、12.33、19.90、18.18。從而證實了本文提出的方法有一定的應用潛力。
本文考慮了不同季節(jié)的城市負荷值變化特點,從而根據(jù)季節(jié)劃分將負荷值數(shù)據(jù)分為四類??紤]到數(shù)據(jù)波動較大時,CNN難以準確地學習數(shù)據(jù)特征;當輸入序列過長時,LSTM會發(fā)生丟失序列現(xiàn)象;CNN-LSTM無法決定LSTM隱含層的權值,所以本文提出了基于注意力機制的CNN-LSTM的短期負荷預測方法。通過實例驗證,本文方法有一定的應用前景。