邱達(dá)鋒
(廣西電網(wǎng)公司柳州供電局,柳州 545001)
隨著深度學(xué)習(xí)在各行各業(yè)的滲透,基于深度學(xué)習(xí)的短期負(fù)荷預(yù)測(cè)也成為電力系統(tǒng)研究的熱點(diǎn)。但由于電力負(fù)荷及其影響因素的非線性和隨機(jī)性,電力負(fù)荷預(yù)測(cè)已成為電力市場(chǎng)實(shí)體面臨的最具挑戰(zhàn)性的任務(wù)之一[1]。目前運(yùn)用長(zhǎng)短期記憶(long short?term memory,LSTM)網(wǎng)絡(luò)作為預(yù)測(cè)模型的方法很多[2?3],但是大多僅僅運(yùn)用比較簡(jiǎn)單的負(fù)荷特征,沒(méi)有考慮到溫度、濕度等多維度數(shù)據(jù),導(dǎo)致研究的精度一直難以提升。首先,對(duì)于電力負(fù)荷預(yù)測(cè)分析,又可以分為短期負(fù)荷預(yù)測(cè)和中長(zhǎng)期負(fù)荷預(yù)測(cè)[4]。本文主要討論短期負(fù)荷預(yù)測(cè)方法,短期負(fù)荷預(yù)測(cè)一般以一周、一天、每小時(shí)為單位進(jìn)行電力負(fù)荷預(yù)測(cè)[5]。短期負(fù)荷預(yù)測(cè)的作用取決于它的精度,預(yù)測(cè)精度越高其對(duì)電力調(diào)度的指令越有幫助,這也說(shuō)明了短期負(fù)荷預(yù)測(cè)模型必須具備實(shí)時(shí)性、準(zhǔn)確性[6]。這也對(duì)短期電力負(fù)荷預(yù)測(cè)模型提出了更高的要求,如果僅僅用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)方法去預(yù)測(cè),遠(yuǎn)遠(yuǎn)達(dá)不到理想的結(jié)果[7]。因此,各種神經(jīng)網(wǎng)絡(luò)融合的方法也開(kāi)始成為研究主流,例如GRU(gated recurrent unit)神經(jīng)網(wǎng)絡(luò)和遷移學(xué)習(xí)方法融合[8]、還有基于GRU-CNN 混合神經(jīng)網(wǎng)絡(luò)模型的短期負(fù)荷預(yù)測(cè)方法[9]、基于多模型融合神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測(cè)等[10]。但當(dāng)網(wǎng)絡(luò)較為復(fù)雜時(shí),對(duì)特征而言容易產(chǎn)生特征維度變高,導(dǎo)致模型泛化能力不強(qiáng)的情況。對(duì)此,本文在回歸最適用的LSTM 神經(jīng)網(wǎng)絡(luò)的同時(shí),更加注重在構(gòu)建時(shí)間特征上以達(dá)到最相關(guān)的特征結(jié)合最合適的神經(jīng)網(wǎng)絡(luò)。眾所周知,LSTM 是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)的一個(gè)優(yōu)秀的變種模型,繼承了大部分RNN模型的特性,同時(shí)解決了梯度反傳過(guò)程由于逐步縮減而產(chǎn)生的梯度消失問(wèn)題[11?12]。因此,LSTM 非常適用于處理短期負(fù)荷數(shù)據(jù)這種與時(shí)間序列高度相關(guān)的問(wèn)題。但是為了提高網(wǎng)絡(luò)復(fù)雜度,增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)能力,本文嘗試結(jié)合CNN、Attention 機(jī)制分別提出了CNN_LSTM 模型、Attention_LSTM 模型、CNN_Attention-LSTM 模型,以LSTM 模型作為基準(zhǔn)進(jìn)行實(shí)驗(yàn)分析,結(jié)果表明這幾個(gè)模型的平均絕對(duì)誤差(mean absolute error, MAE)、均方誤差(mean square error,MSE)均優(yōu)于基準(zhǔn)模型LSTM。這為基于時(shí)間特征的負(fù)荷序列預(yù)測(cè)提供有價(jià)值的研究方向。
本文的研究思路為:首先選擇馬來(lái)西亞柔佛供電公司提供的某地區(qū)2009—2010 年小時(shí)級(jí)的負(fù)荷數(shù)據(jù)集[13];在數(shù)據(jù)處理上更看重時(shí)間特征;獲得想要的特征后,再進(jìn)行數(shù)據(jù)選擇;然后進(jìn)行網(wǎng)絡(luò)模型搭建,最后采用平均百分比絕對(duì)誤差(mean absolute percentage error,MAPE)、MAE、MSE、RMSE 作為評(píng)價(jià)指標(biāo)對(duì)模型進(jìn)行對(duì)比。具體研究路線如圖1所示。
圖1 研究技術(shù)路線
1.2.1 LSTM 原理
LSTM 是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)體系結(jié)構(gòu),能夠在任意時(shí)間間隔內(nèi)記憶值,存儲(chǔ)的值在學(xué)習(xí)過(guò)程中不會(huì)被修改,RNN 允許神經(jīng)元之間的向前和向后連接[14]。LSTM 主要由三個(gè)門(mén)組成:輸入門(mén)、遺忘門(mén)、輸出門(mén)。LSTM 基本結(jié)構(gòu)如圖2所示。
圖2 LSTM基本結(jié)構(gòu)
由圖2可知,輸入門(mén)的公式為
遺忘門(mén)的公式為
輸出門(mén)的公式為
兩種記憶公式為
1.2.2 CNN結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是一種前饋神經(jīng)網(wǎng)絡(luò),它的人工神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周?chē)鷨卧?,?duì)于大型圖像處理有出色表現(xiàn)[15]?,F(xiàn)在,CNN 已經(jīng)成為眾多科學(xué)領(lǐng)域的研究熱點(diǎn)之一,特別是在模式分類(lèi)領(lǐng)域,由于該網(wǎng)絡(luò)避免了對(duì)圖像進(jìn)行復(fù)雜的前期預(yù)處理,可以直接輸入原始圖像,因而得到了更為廣泛的應(yīng)用[16]。本文把處理好的負(fù)荷分布看成一張張圖像,然后CNN運(yùn)用它對(duì)圖像識(shí)別的優(yōu)勢(shì),更好地提取出相關(guān)性更好的特征。一般的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 一般卷積網(wǎng)絡(luò)結(jié)構(gòu)
由圖3可知,卷積神經(jīng)網(wǎng)絡(luò)包含了一個(gè)由卷積層和批歸一化層(BatchNormalization,BN)、子采樣層(池化層)構(gòu)成的特征抽取器。在卷積神經(jīng)網(wǎng)絡(luò)的卷積層中,一個(gè)神經(jīng)元只與部分鄰層神經(jīng)元連接。在CNN 的一個(gè)卷積層中,通常包含若干個(gè)特征圖,每個(gè)特征圖由一些矩形排列的神經(jīng)元組成,同一特征圖的神經(jīng)元共享權(quán)值,這里共享的權(quán)值就是卷積核,卷積核一般以隨機(jī)小數(shù)矩陣的形式初始化,在網(wǎng)絡(luò)的訓(xùn)練過(guò)程中卷積核將學(xué)習(xí)得到合理的權(quán)值[17]。共享權(quán)值(卷積核)帶來(lái)的直接好處是減少網(wǎng)絡(luò)各層之間的連接,同時(shí)又降低了過(guò)擬合的風(fēng)險(xiǎn)。子采樣也叫做池化(pooling),通常有均值子采樣(mean pooling)和最大值子采樣(max pooling)兩種形式。子采樣可以看作一種特殊的卷積過(guò)程。卷積和子采樣大大簡(jiǎn)化了模型復(fù)雜度,減少了模型的參數(shù)。
1.2.3 Attention機(jī)制
Attention 的作用就是讓更重要的特征得到關(guān)注并提高其學(xué)習(xí)能力,它其實(shí)算不上一個(gè)完整的模型,更像是一種處理層機(jī)制,能夠作用于任何序列模型中。Attention 函數(shù)的本質(zhì)可以被描述為一個(gè)查詢(xún)(query)到一系列鍵key 值value對(duì)的映射[18]。其一般結(jié)構(gòu)如圖4所示。
圖4 Attention基本結(jié)構(gòu)
由圖4可知,在計(jì)算Attention時(shí),應(yīng)將query和每個(gè)key進(jìn)行相似度計(jì)算得到權(quán)重,再用常用的相似度函數(shù)進(jìn)行點(diǎn)積、拼接、感知機(jī)等操作,最后使用一個(gè)softmax 函數(shù)對(duì)這些權(quán)重進(jìn)行歸一化;將權(quán)重和相應(yīng)的鍵值value 進(jìn)行加權(quán)求和得到最后的Attention。具體公式如下:
本文選擇的是共有17519條具有小時(shí)級(jí)別的負(fù)荷數(shù)據(jù),其中數(shù)據(jù)集可以用到的特征共有11個(gè),分別是:Temperature、Humidity、Holidays 0 for close 1 for open、year、month、day、hour、minute、second、weekday、Load。
首先分析對(duì)預(yù)測(cè)影響較大的Temperature、Humidity、Load 是否有缺失值,分析結(jié)果如圖5~圖7 所示。由圖可知,本文選擇的數(shù)據(jù)是完整的,這樣就不需要進(jìn)行異常值、缺失值處理。
圖5 溫度Temperature的數(shù)據(jù)分布情況
圖6 濕度Humidity數(shù)據(jù)分布情況
圖7 數(shù)據(jù)集電力負(fù)荷分布
如果直接用現(xiàn)有的數(shù)據(jù)進(jìn)行訓(xùn)練,那么由于數(shù)值比較大,容易造成計(jì)算量超負(fù)荷,為了便于計(jì)算,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,數(shù)據(jù)歸一化的目的是使特征具有相同的度量尺度。本文采用MinMaxScaler方法,其公式如下:
由于本文要預(yù)測(cè)的是下一個(gè)小時(shí)的負(fù)荷,所以需要構(gòu)建一個(gè)y+ 1 的數(shù)據(jù)列表作為預(yù)測(cè)目標(biāo)負(fù)荷(假設(shè)已知每個(gè)小時(shí)的負(fù)荷為y)。然后再用train_test_split 方法,隨機(jī)將樣本集合劃分為80% 的訓(xùn)練集和20% 測(cè)試集,并返回劃分好的訓(xùn)練集和測(cè)試集數(shù)據(jù),這里80% 的訓(xùn)練集在指放進(jìn)模型訓(xùn)練的比例,再把它的33% 用作驗(yàn)證集,驗(yàn)證loss損失。
LSTM 模型作為本文的基準(zhǔn)模型,保證網(wǎng)絡(luò)結(jié)構(gòu)相對(duì)純粹,確保在接下來(lái)加入其他網(wǎng)絡(luò)時(shí)能更有效地進(jìn)行對(duì)比,模型具體結(jié)構(gòu)和參數(shù)如表1 所示。由表1 可以看到,該網(wǎng)絡(luò)結(jié)構(gòu)主要采用了Dense層和LSTM層。
表1 基于LSTM搭建的網(wǎng)絡(luò)模型
CNN_LSTM 模型結(jié)構(gòu)與參數(shù)如表2所示,主要在LSTM 模型前,先進(jìn)行2次CNN 卷積,提高網(wǎng)絡(luò)的復(fù)雜度,有利于防止模型過(guò)擬合。
表2 基于CNN_LSTM 搭建的網(wǎng)絡(luò)模型
Attention_LSTM 模型結(jié)構(gòu)與參數(shù)如表3 所示,由表3 可知,先利用Permute 層、Reshape層、Multiply 層構(gòu)建一個(gè)Attention 機(jī)制,然后把充分學(xué)習(xí)到的重點(diǎn)信息傳輸至LSTM 層,有利于提高模型精度。
表3 基于Attention_LSTM 搭建的網(wǎng)絡(luò)模型
CNN_Attention_LSTM 模型結(jié)構(gòu)與參數(shù)如表4 所示,由表4 可知,該模型相當(dāng)于把CNN_LSTM 模型、Attention_LSTM 模型進(jìn)行融合,有助于進(jìn)行實(shí)驗(yàn)結(jié)果的分析比較。
表4 基于CNN_Attention_LSTM 搭建的網(wǎng)絡(luò)模型
在實(shí)驗(yàn)訓(xùn)練時(shí),選擇的損失函數(shù)loss是平均平方誤差(Mean Squared Error,MSE)。該損失函數(shù)由每個(gè)元素逐個(gè)計(jì)算,描述的是預(yù)測(cè)值與真實(shí)值的誤差情況,一般適用于回歸問(wèn)題,短期電力負(fù)荷預(yù)測(cè)屬于回歸預(yù)測(cè),所以選擇它是合理的。
除了loss,本文還選擇了多個(gè)指標(biāo)對(duì)結(jié)果進(jìn)行分析,包括平均絕對(duì)百分比誤差(mean abso?lute percentage error,MAPE),MAPE 是模型預(yù)測(cè)與平均響應(yīng)輸出相差多少的度量[19];平均百分比誤差(mean percentage error,MPE),可以反映模型是否存在對(duì)數(shù)據(jù)低估(更多的負(fù)面錯(cuò)誤)或者高估(正面錯(cuò)誤)[20];均方根誤差(root mean square error,RMSE),數(shù)量級(jí)上比較直觀,如果誤差的離散度高,那么最大偏差值越大,RMSE也越大[21]。
假設(shè):
那么:
為了確保定量分析,將LSTM 模型、CNN_LSTM 模型、Attention_LSTM 模型和CNN_ Atten?tion_LSTM 模型的訓(xùn)練參數(shù)進(jìn)行統(tǒng)一:學(xué)習(xí)率為0.003,batch_size= 500, epochs= 300。最后所得四個(gè)模型的loss分別如圖8~圖11所示??梢钥吹?,CNN_LSTM模型擬合的效果最好。
圖8 LSTM模型訓(xùn)練loss對(duì)比
圖9 CNN_LSTM模型訓(xùn)練loss對(duì)比
圖10 Attention_LSTM 模型訓(xùn)練loss對(duì)比
圖11 CNN_Attention_LSTM 模型訓(xùn)練loss對(duì)比
四個(gè)模型的真實(shí)負(fù)荷與預(yù)測(cè)負(fù)荷的對(duì)比情況如圖12~圖15 所示,從這四幅圖中也可以看出CNN_LSTM模型的效果最好。
圖12 LSTM模型負(fù)荷預(yù)測(cè)對(duì)比
圖13 CNN_LSTM模型負(fù)荷預(yù)測(cè)對(duì)比
圖14 Attention_LSTM 模型負(fù)荷預(yù)測(cè)對(duì)比
圖15 CNN_Attention_LSTM 模型負(fù)荷預(yù)測(cè)對(duì)比
四個(gè)模型的MAPE、MPE、RMSE 結(jié)果如表5 所 示, 由 表5 可 以 看 出, 除 了 在 時(shí) 間 上CNN_LSTM 模型沒(méi)有優(yōu)勢(shì)外,其他三個(gè)值的表現(xiàn)均為最好。
表5 整體評(píng)價(jià)指標(biāo)分析
本文提出了LSTM 模型、CNN_LSTM 模型、Attention_LSTM 模 型 和CNN_Attention_LSTM 模型四種模型,無(wú)論從loss 擬合還是在三個(gè)評(píng)價(jià)指標(biāo)MAPE、 MPE、 RMSE 上的表現(xiàn), CNN_LSTM 模型都是最好的。這為短期電力負(fù)荷預(yù)測(cè)指明了有意義的研究方向。相信在未來(lái),基于LSTM 時(shí)間特征的短期負(fù)荷預(yù)測(cè)一定能為電力系統(tǒng)穩(wěn)定、安全運(yùn)行保駕護(hù)航。
當(dāng)然,本文所選數(shù)據(jù)可能比較少,對(duì)模型泛化能力有一定的影響,今后若在電網(wǎng)工作中能獲得更多電力負(fù)荷數(shù)據(jù),可進(jìn)一步研究更具有魯棒性、泛化能力好的模型,助力電網(wǎng)發(fā)展。