郭玲,徐青山,鄭樂
(1. 東南大學網(wǎng)絡空間安全學院,江蘇 南京 210096;2. 東南大學電氣工程學院,江蘇 南京210096)
短期負荷預測是能源管理系統(tǒng)的重要組成部分,是市場機制下制定供電計劃、電力調(diào)度計劃和電力交易計劃的重要基礎,也為電力系統(tǒng)的經(jīng)濟、安全、穩(wěn)定運行提供了有力保障[1—2]。傳統(tǒng)的短期負荷預測方法主要有以自回歸移動均值(auto regressive moving average,ARMA)[3—4]、線性回歸方法(linear regression,LR)[5]和卡爾曼濾波法[6]為代表的統(tǒng)計學方法和以支持向量回歸方法[7—8]、貝葉斯方法[9]和隨機森林方法[10]為代表的機器學習方法。統(tǒng)計學方法具有模型簡單、訓練速度快的優(yōu)點,但是對于非線性的負荷預測問題,該方法擬合能力不足,預測精度較低。傳統(tǒng)機器學習方法雖然具有較強的非線性擬合能力,但是大多數(shù)模型參數(shù)尋優(yōu)困難,容易陷入局部最優(yōu)的困境。近年來隨著深度學習的不斷發(fā)展,很多學者也開展了利用深度學習模型進行短期負荷預測的研究,主要有基于反饋神經(jīng)網(wǎng)絡(back propagation,BP)[11]、基于循環(huán)神經(jīng)網(wǎng)絡(recurrent neural networks,RNN)[12—13]和基于卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)的負荷預測方法[14]。文獻[15]中利用BP神經(jīng)網(wǎng)絡的特征提取和非線性擬合能力,實現(xiàn)了短期負荷的有效預測,但該模型未考慮負荷特征之間的時序關系,預測精度不高。RNN模型具有記憶單元,可以實現(xiàn)對電力負荷數(shù)據(jù)時序關系提取,但在訓練過程中容易產(chǎn)生梯度消失或爆炸的問題?;赗NN模型改進的長短期記憶網(wǎng)絡[13,16](long short-term memory,LSTM)模型引入門控制單元,解決了RNN模型訓練過程中梯度消失或爆炸的問題。文獻[17]中采用了基于LSTM模型改進的門限循環(huán)單元(gated recurrent unit,GRU)模型,能以更快的收斂速度取得與LSTM模型相近的預測效果。CNN模型具有可并行計算的優(yōu)點,但是無法很好提取時間序列數(shù)據(jù)的時序依賴特征。針對此問題,文獻[18]中提出了時間卷積網(wǎng)絡(temporal convolutional network,TCN),并在多種數(shù)據(jù)集上驗證了其預測性能。
為了進一步提高短期負荷預測精度,文中基于負荷預測影響因素時序特征的分析,提出了一種基于TCN-GRU的短期負荷預測方法。利用時間卷積網(wǎng)絡對時序數(shù)據(jù)的特征提取能力和GRU神經(jīng)網(wǎng)絡的非線性擬合能力,搭建TCN-GRU模型,并基于我國廣東省佛山市某工業(yè)負荷數(shù)據(jù)進行短期負荷預測。預測結(jié)果表明,TCN-GRU模型的負荷預測能力明顯優(yōu)于其他單預測模型。
TCN模型是一種簡單通用的解決時間序列問題的卷積神經(jīng)網(wǎng)絡架構[18]。TCN模型由一組殘差單元組成,每個殘差單元是一個具有殘差連接[19]的小型神經(jīng)網(wǎng)絡,通過殘差連接可以加快深層網(wǎng)絡的反饋與收斂,解決隨著網(wǎng)絡層次增加造成的“退化現(xiàn)象”。TCN的殘差單元如圖1所示。
圖1 TCN殘差單元Fig.1 Residual unit of TCN
殘差連接是將殘差單元的輸入x添加到輸出f(x),網(wǎng)絡被強制模型化為:
f(x)=h(x)-x
(1)
殘差單元中包含2個卷積單元和非線性映射。卷積單元中首先進行一維擴張因果卷積,通過擴張系數(shù)調(diào)整采樣間隔,實現(xiàn)更大的感受野(receptive field,RF),即卷積層上的特征能看到的區(qū)域范圍,讓網(wǎng)絡可以記憶足夠長的歷史信息,并且只對t時刻之前的輸入進行卷積以得到t時刻的輸出,保證不會泄露未來的信息;然后對權重進行歸一化處理,使用ReLU函數(shù)作為激活函數(shù);最后采用Dropout操作,按照一定的概率隨機丟棄神經(jīng)元,達到防止過擬合和加速模型訓練速度的目的。非線性映射是在殘差單元的輸入和輸出具有不同的維度時,對高維度的數(shù)據(jù)進行降維。一維擴張因果卷積的運算式為:
(2)
式中:x為輸入序列;f為過濾器;d為擴張系數(shù);k為卷積核大??;s-di確保只能對過去的輸入做卷積操作。
GRU是LSTM的一個簡化版本,其將LSTM的輸入門和遺忘門整合為一個更新門,沒有輸出門,但增加了一個重置門。更新門控制前一時刻狀態(tài)信息的保留程度,更新門的值越大說明前一時刻狀態(tài)信息對當前狀態(tài)的影響就越大[20]。重置門控制當前狀態(tài)與先前信息的結(jié)合程度,值越小說明忽略的信息越多[21]。GRU單元結(jié)構如圖2所示。
圖2 GRU單元結(jié)構Fig.2 GRU structure
GRU單元中h(t)的計算公式為:
(3)
(4)
(5)
ht=(-zt)?ht-1+zt?gt
(6)
式中:xt為t時刻的輸入;ht為t時刻的輸出或狀態(tài);ht-1為t-1時刻的狀態(tài);w為權重;σ為激活函數(shù)sigmoid(·);tanh(·)為激活函數(shù)。
電力負荷預測是一個非線性的時間序列預測問題[22]。時間序列數(shù)據(jù)是指隨時間變化的數(shù)據(jù),而影響電力負荷的因素不單單有電力負荷數(shù)據(jù)等時序序列數(shù)據(jù),也有溫度、日期等非時間序列數(shù)據(jù)。如果將所有數(shù)據(jù)無差別的輸入到單模型中進行訓練,不能有效提取出原始數(shù)據(jù)內(nèi)部蘊含的時序關系和非時序關系。
TCN模型通過一維因果卷積對過去的數(shù)據(jù)進行提取,保證時序性,殘差連接加快收斂速度,擴張卷積實現(xiàn)時序特征提取。GRU模型作為循環(huán)神經(jīng)網(wǎng)絡的變種,具有非線性擬合能力,能夠有效提取數(shù)據(jù)特征,且在保障得到與LSTM相近預測效果的同時獲得更快的收斂速度[23]。文中將兩者結(jié)合搭建了TCN-GRU模型,如圖3所示。
圖3 TCN-GRU模型結(jié)構Fig.3 TCN-GRU model structure
圖3中,TCN-GRU模型結(jié)構包括:
(1) 輸入1。輸入為連續(xù)7 d的電力負荷數(shù)據(jù)樣本。每日的電力負荷數(shù)據(jù)是按照24 h設置96個采樣點,時間間隔為15 min,獲取得到96維電力負荷數(shù)據(jù)。
(2) 時間卷積網(wǎng)絡層。設置2層的殘差單元。每層殘差單元包含2個卷積單元和1個非線性映射。其中卷積單元使用ReLU函數(shù)作為激活函數(shù),對卷積核的權重進行歸一化操作。卷積核大小為2;并設置Dropout系數(shù)為0.4,Dropout設置可以隨機選取部分神經(jīng)元失活,防止訓練過擬合,同時加快模型的收斂速度;設置擴張系數(shù)為(1,2,4,8,16,32);過濾器為128。殘差單元的輸入和輸出具有不同的維度,不能直接做加和操作,將殘差映射中增加了一個1×1的卷積層進行降維。
(3) 輸入2。輸入為連續(xù)7 d的非時序數(shù)據(jù)。每日的非時序數(shù)據(jù)包含日平均溫度、日平均電價和日期類型經(jīng)過one-hot編碼后產(chǎn)生的7維的數(shù)據(jù),一共9維數(shù)據(jù)。
(4) 門限循環(huán)單元層。設置3層的GRU單元。首先將TCN模型的輸出g與輸入2的輸出x2進行連接,需要保證數(shù)據(jù)的維度和樣本個數(shù)相同,得到數(shù)據(jù)ct。
ct=f(x(2,t),gt)
(7)
式中:f表示連接操作,利用keras模型的concatenate函數(shù)實現(xiàn),將時間卷積網(wǎng)絡和輸入2連接起來,作為門限循環(huán)單元的輸入。
(5) 輸出層。輸出為預測日一天96個時間點的電力負荷預測結(jié)果y。輸出層神經(jīng)元個數(shù)設定為96。該層網(wǎng)絡以Sigmoid函數(shù)作為激活函數(shù)。t時刻的輸出式為:
yt=σ(wht+b)
(8)
式中:b為偏差向量。
文中提出的TCN-GRU模型中采用Adam[24]優(yōu)化器對模型的參數(shù)進行優(yōu)化以減小損失。Adam是一種對隨機目標函數(shù)執(zhí)行一階梯度優(yōu)化的自適應優(yōu)化算法,結(jié)合了AdaGrad優(yōu)化器和RMSProp優(yōu)化器的優(yōu)點。損失函數(shù)L選取了平均絕對誤差(mean absolute error,MAE)。
(9)
實驗選取平均絕對百分誤差(mean absolute per-centage error,MAPE)、均方誤差(root mean square error,RMSE)、測試時間和決定系數(shù)R2作為模型衡量指標。MAPE可以衡量預測模型的精確度,RMSE可以體現(xiàn)預測平均誤差的大小,R2可以表征預測模型的擬合程度。在進行負荷預測中,MAPE和RMSE的值越小,R2的值越接近于1表示模型的擬合效果越好。
(10)
(11)
(12)
(13)
文中運算使用的計算機配置為Window10系統(tǒng),16 G運行內(nèi)存,GTX1650顯卡;采用的編程環(huán)境為PyCharm2017.1;搭建的神經(jīng)網(wǎng)絡模型為深度學習框架TensorFlow和Keras框架。
文中選取廣東省佛山市某行業(yè)2017年12個月的真實歷史負荷數(shù)據(jù)作為數(shù)據(jù)集。每日設置了96個采樣點,時間間隔為15 min,數(shù)據(jù)集獲取96維電力負荷數(shù)據(jù)??紤]到工業(yè)用戶用電情況受天氣,工作日和非工作日以及電價的影響較大[14],選取了每日平均溫度、日期類型、電價[25]作為其他輸入。根據(jù)時序特征的特點,認定電力負荷為時序特征,每日平均溫度、日期類型、電價作為非時序特征[22]。
3.3.1 數(shù)據(jù)補全
對于數(shù)據(jù)集中的數(shù)據(jù)缺失情況,文中采用均值填充的方式進行缺值填充,補全效果如圖4所示。
圖4 數(shù)據(jù)補全示例Fig.4 Example ofdata completion
3.3.2 數(shù)據(jù)標準化
數(shù)據(jù)集中的樣本數(shù)據(jù)衡量的是不同尺度的數(shù)據(jù)特征,如果直接放入模型中進行訓練操作,會使模型偏向于數(shù)值較高的指標,而降低數(shù)值水平較低的指標在模型中的作用。因此,將歷史負荷數(shù)據(jù)和溫度數(shù)據(jù)進行歸一化處理,歸一化后的數(shù)據(jù)處于[0,1]范圍內(nèi)。歸一化x′i,j可表示為:
(14)
式中:xi,j為矩量陣x的i行,j列元素值;x(i,j)min為輸入數(shù)據(jù)x的最小元素值;x(i,j)max為輸入數(shù)據(jù)x的最大元素值。
對于離散型數(shù)據(jù),采用one-hot編碼的方式進行預處理。比如日期類型中的周一類型可以表示為0000001。
3.3.3 數(shù)據(jù)集劃分
將數(shù)據(jù)集劃分為訓練集、測試集和驗證集,其中訓練集和驗證集以9∶1比例分配,并選取2017-12-30的數(shù)據(jù)作為測試集。
首先通過對比實驗確定TCN-GRU模型中TCN殘差單元的個數(shù)和GRU神經(jīng)網(wǎng)絡的網(wǎng)絡層數(shù)。設定模型迭代次數(shù)均為500次,GRU模型中每層神經(jīng)元個數(shù)為256個,TCN中擴張系數(shù)以2的倍數(shù)疊加。在設置不同殘差單元的個數(shù)和GRU神經(jīng)網(wǎng)絡的網(wǎng)絡層數(shù)時,模型的預測效果如表1所示。
表1 TCN-GRU參數(shù)比較Table 1 Comparison of TCN-GRU model
由表1中數(shù)據(jù)可以得出:當殘差單元的個數(shù)設置為2,GRU神經(jīng)網(wǎng)絡的網(wǎng)絡層數(shù)設置為3時,預測效果最好。
為了驗證模型的性能,實驗將TCN-GRU模型與GRU模型、LSTM模型、TCN模型、深度神經(jīng)網(wǎng)絡(deep neural networks,DNN)模型進行了對比訓練,其中GRU模型、LSTM模型、TCN模型、DNN模型的網(wǎng)絡層數(shù)統(tǒng)一設置為3層。利用廣東省佛山市的電力負荷數(shù)據(jù)集對模型進行訓練,并利用訓練好的模型對2017-12-30廣東省佛山市某行業(yè)的電力負荷進行預測,預測效果如表2所示。
表2 模型對比Table 2 Comparison of five models
由表2可知,TCN-GRU模型的MAPE值為1.75%,和現(xiàn)有的常用于負荷預測的深度學習模型相比,取得了更好的預測精度,對比單模型TCN模型和GRU模型,準確度也得到了提升。DNN模型和LSTM模型的預測效果與文中模型進行對比,如圖5所示。
圖5 預測結(jié)果對比Fig.5 Comparison of load forecasting results
由圖5可以發(fā)現(xiàn),文中預測曲線更加貼近真實負荷數(shù)據(jù)曲線,特別是幾個高峰點和低谷點擬合效果更佳。
圖6對比了文中TCN-GRU預測模型和單模型之間的預測曲線。從圖中可以得出文中提出的TCN-GRU模型預測效果要優(yōu)于單模型TCN和GRU。
圖6 預測結(jié)果對比Fig.6 Comparison of load forecasting results
對電力負荷的短期預測往往只考慮輸入數(shù)據(jù)的時序特性或者不考慮輸入數(shù)據(jù)之間的時序關系。文中提出的基于TCN-GRU模型的短期負荷預測方法兼顧數(shù)據(jù)的時序特性和非時序特征。首先該方法通過TCN模型提取時序數(shù)據(jù)的時間序列特征;然后結(jié)合非時序特征以組成新的數(shù)據(jù)集;最后利用GRU模型的非線性擬合能力以及深度學習能力對電力負荷進行預測。相較于經(jīng)典的深度學習模型GRU、LSTM等模型,文中提出的TCN-GRU模型取得了更高的預測準確率,為電網(wǎng)系統(tǒng)提供了更加精確的預測結(jié)果,也為電網(wǎng)系統(tǒng)靈活調(diào)節(jié)供電量提供了更加可靠的依據(jù)。
未來將在以下幾個方面進行深入研究:(1) 文中研究目標為單一的電力負荷數(shù)據(jù),考慮將該模型應用于綜合能源的負荷預測之中;(2) 文中研究輸入數(shù)據(jù)為單一的負荷數(shù)據(jù),考慮將空間特征引入短期負荷預測。