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