邱達(dá)鋒
(廣西電網(wǎng)公司柳州供電局,柳州 545001)
隨著深度學(xué)習(xí)在各行各業(yè)的滲透,基于深度學(xué)習(xí)的短期負(fù)荷預(yù)測也成為電力系統(tǒng)研究的熱點。但由于電力負(fù)荷及其影響因素的非線性和隨機性,電力負(fù)荷預(yù)測已成為電力市場實體面臨的最具挑戰(zhàn)性的任務(wù)之一[1]。目前運用長短期記憶(long short?term memory,LSTM)網(wǎng)絡(luò)作為預(yù)測模型的方法很多[2?3],但是大多僅僅運用比較簡單的負(fù)荷特征,沒有考慮到溫度、濕度等多維度數(shù)據(jù),導(dǎo)致研究的精度一直難以提升。首先,對于電力負(fù)荷預(yù)測分析,又可以分為短期負(fù)荷預(yù)測和中長期負(fù)荷預(yù)測[4]。本文主要討論短期負(fù)荷預(yù)測方法,短期負(fù)荷預(yù)測一般以一周、一天、每小時為單位進行電力負(fù)荷預(yù)測[5]。短期負(fù)荷預(yù)測的作用取決于它的精度,預(yù)測精度越高其對電力調(diào)度的指令越有幫助,這也說明了短期負(fù)荷預(yù)測模型必須具備實時性、準(zhǔn)確性[6]。這也對短期電力負(fù)荷預(yù)測模型提出了更高的要求,如果僅僅用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)方法去預(yù)測,遠(yuǎn)遠(yuǎn)達(dá)不到理想的結(jié)果[7]。因此,各種神經(jīng)網(wǎng)絡(luò)融合的方法也開始成為研究主流,例如GRU(gated recurrent unit)神經(jīng)網(wǎng)絡(luò)和遷移學(xué)習(xí)方法融合[8]、還有基于GRU-CNN 混合神經(jīng)網(wǎng)絡(luò)模型的短期負(fù)荷預(yù)測方法[9]、基于多模型融合神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測等[10]。但當(dāng)網(wǎng)絡(luò)較為復(fù)雜時,對特征而言容易產(chǎn)生特征維度變高,導(dǎo)致模型泛化能力不強的情況。對此,本文在回歸最適用的LSTM 神經(jīng)網(wǎng)絡(luò)的同時,更加注重在構(gòu)建時間特征上以達(dá)到最相關(guān)的特征結(jié)合最合適的神經(jīng)網(wǎng)絡(luò)。眾所周知,LSTM 是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)的一個優(yōu)秀的變種模型,繼承了大部分RNN模型的特性,同時解決了梯度反傳過程由于逐步縮減而產(chǎn)生的梯度消失問題[11?12]。因此,LSTM 非常適用于處理短期負(fù)荷數(shù)據(jù)這種與時間序列高度相關(guān)的問題。但是為了提高網(wǎng)絡(luò)復(fù)雜度,增強網(wǎng)絡(luò)學(xué)習(xí)能力,本文嘗試結(jié)合CNN、Attention 機制分別提出了CNN_LSTM 模型、Attention_LSTM 模型、CNN_Attention-LSTM 模型,以LSTM 模型作為基準(zhǔn)進行實驗分析,結(jié)果表明這幾個模型的平均絕對誤差(mean absolute error, MAE)、均方誤差(mean square error,MSE)均優(yōu)于基準(zhǔn)模型LSTM。這為基于時間特征的負(fù)荷序列預(yù)測提供有價值的研究方向。
本文的研究思路為:首先選擇馬來西亞柔佛供電公司提供的某地區(qū)2009—2010 年小時級的負(fù)荷數(shù)據(jù)集[13];在數(shù)據(jù)處理上更看重時間特征;獲得想要的特征后,再進行數(shù)據(jù)選擇;然后進行網(wǎng)絡(luò)模型搭建,最后采用平均百分比絕對誤差(mean absolute percentage error,MAPE)、MAE、MSE、RMSE 作為評價指標(biāo)對模型進行對比。具體研究路線如圖1所示。

圖1 研究技術(shù)路線
1.2.1 LSTM 原理
LSTM 是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)體系結(jié)構(gòu),能夠在任意時間間隔內(nèi)記憶值,存儲的值在學(xué)習(xí)過程中不會被修改,RNN 允許神經(jīng)元之間的向前和向后連接[14]。LSTM 主要由三個門組成:輸入門、遺忘門、輸出門。LSTM 基本結(jié)構(gòu)如圖2所示。

圖2 LSTM基本結(jié)構(gòu)
由圖2可知,輸入門的公式為
遺忘門的公式為
輸出門的公式為
兩種記憶公式為
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)的周圍單元,對于大型圖像處理有出色表現(xiàn)[15]。現(xiàn)在,CNN 已經(jīng)成為眾多科學(xué)領(lǐng)域的研究熱點之一,特別是在模式分類領(lǐng)域,由于該網(wǎng)絡(luò)避免了對圖像進行復(fù)雜的前期預(yù)處理,可以直接輸入原始圖像,因而得到了更為廣泛的應(yīng)用[16]。本文把處理好的負(fù)荷分布看成一張張圖像,然后CNN運用它對圖像識別的優(yōu)勢,更好地提取出相關(guān)性更好的特征。一般的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

圖3 一般卷積網(wǎng)絡(luò)結(jié)構(gòu)
由圖3可知,卷積神經(jīng)網(wǎng)絡(luò)包含了一個由卷積層和批歸一化層(BatchNormalization,BN)、子采樣層(池化層)構(gòu)成的特征抽取器。在卷積神經(jīng)網(wǎng)絡(luò)的卷積層中,一個神經(jīng)元只與部分鄰層神經(jīng)元連接。在CNN 的一個卷積層中,通常包含若干個特征圖,每個特征圖由一些矩形排列的神經(jīng)元組成,同一特征圖的神經(jīng)元共享權(quán)值,這里共享的權(quán)值就是卷積核,卷積核一般以隨機小數(shù)矩陣的形式初始化,在網(wǎng)絡(luò)的訓(xùn)練過程中卷積核將學(xué)習(xí)得到合理的權(quán)值[17]。共享權(quán)值(卷積核)帶來的直接好處是減少網(wǎng)絡(luò)各層之間的連接,同時又降低了過擬合的風(fēng)險。子采樣也叫做池化(pooling),通常有均值子采樣(mean pooling)和最大值子采樣(max pooling)兩種形式。子采樣可以看作一種特殊的卷積過程。卷積和子采樣大大簡化了模型復(fù)雜度,減少了模型的參數(shù)。
1.2.3 Attention機制
Attention 的作用就是讓更重要的特征得到關(guān)注并提高其學(xué)習(xí)能力,它其實算不上一個完整的模型,更像是一種處理層機制,能夠作用于任何序列模型中。Attention 函數(shù)的本質(zhì)可以被描述為一個查詢(query)到一系列鍵key 值value對的映射[18]。其一般結(jié)構(gòu)如圖4所示。

圖4 Attention基本結(jié)構(gòu)
由圖4可知,在計算Attention時,應(yīng)將query和每個key進行相似度計算得到權(quán)重,再用常用的相似度函數(shù)進行點積、拼接、感知機等操作,最后使用一個softmax 函數(shù)對這些權(quán)重進行歸一化;將權(quán)重和相應(yīng)的鍵值value 進行加權(quán)求和得到最后的Attention。具體公式如下:
本文選擇的是共有17519條具有小時級別的負(fù)荷數(shù)據(jù),其中數(shù)據(jù)集可以用到的特征共有11個,分別是:Temperature、Humidity、Holidays 0 for close 1 for open、year、month、day、hour、minute、second、weekday、Load。
首先分析對預(yù)測影響較大的Temperature、Humidity、Load 是否有缺失值,分析結(jié)果如圖5~圖7 所示。由圖可知,本文選擇的數(shù)據(jù)是完整的,這樣就不需要進行異常值、缺失值處理。

圖5 溫度Temperature的數(shù)據(jù)分布情況

圖6 濕度Humidity數(shù)據(jù)分布情況

圖7 數(shù)據(jù)集電力負(fù)荷分布
如果直接用現(xiàn)有的數(shù)據(jù)進行訓(xùn)練,那么由于數(shù)值比較大,容易造成計算量超負(fù)荷,為了便于計算,需要對數(shù)據(jù)進行歸一化處理,數(shù)據(jù)歸一化的目的是使特征具有相同的度量尺度。本文采用MinMaxScaler方法,其公式如下:
由于本文要預(yù)測的是下一個小時的負(fù)荷,所以需要構(gòu)建一個y+ 1 的數(shù)據(jù)列表作為預(yù)測目標(biāo)負(fù)荷(假設(shè)已知每個小時的負(fù)荷為y)。然后再用train_test_split 方法,隨機將樣本集合劃分為80% 的訓(xùn)練集和20% 測試集,并返回劃分好的訓(xùn)練集和測試集數(shù)據(jù),這里80% 的訓(xùn)練集在指放進模型訓(xùn)練的比例,再把它的33% 用作驗證集,驗證loss損失。
LSTM 模型作為本文的基準(zhǔn)模型,保證網(wǎng)絡(luò)結(jié)構(gòu)相對純粹,確保在接下來加入其他網(wǎng)絡(luò)時能更有效地進行對比,模型具體結(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 模型前,先進行2次CNN 卷積,提高網(wǎng)絡(luò)的復(fù)雜度,有利于防止模型過擬合。

表2 基于CNN_LSTM 搭建的網(wǎng)絡(luò)模型
Attention_LSTM 模型結(jié)構(gòu)與參數(shù)如表3 所示,由表3 可知,先利用Permute 層、Reshape層、Multiply 層構(gòu)建一個Attention 機制,然后把充分學(xué)習(xí)到的重點信息傳輸至LSTM 層,有利于提高模型精度。

表3 基于Attention_LSTM 搭建的網(wǎng)絡(luò)模型
CNN_Attention_LSTM 模型結(jié)構(gòu)與參數(shù)如表4 所示,由表4 可知,該模型相當(dāng)于把CNN_LSTM 模型、Attention_LSTM 模型進行融合,有助于進行實驗結(jié)果的分析比較。

表4 基于CNN_Attention_LSTM 搭建的網(wǎng)絡(luò)模型
在實驗訓(xùn)練時,選擇的損失函數(shù)loss是平均平方誤差(Mean Squared Error,MSE)。該損失函數(shù)由每個元素逐個計算,描述的是預(yù)測值與真實值的誤差情況,一般適用于回歸問題,短期電力負(fù)荷預(yù)測屬于回歸預(yù)測,所以選擇它是合理的。
除了loss,本文還選擇了多個指標(biāo)對結(jié)果進行分析,包括平均絕對百分比誤差(mean abso?lute percentage error,MAPE),MAPE 是模型預(yù)測與平均響應(yīng)輸出相差多少的度量[19];平均百分比誤差(mean percentage error,MPE),可以反映模型是否存在對數(shù)據(jù)低估(更多的負(fù)面錯誤)或者高估(正面錯誤)[20];均方根誤差(root mean square error,RMSE),數(shù)量級上比較直觀,如果誤差的離散度高,那么最大偏差值越大,RMSE也越大[21]。
假設(shè):
那么:
為了確保定量分析,將LSTM 模型、CNN_LSTM 模型、Attention_LSTM 模型和CNN_ Atten?tion_LSTM 模型的訓(xùn)練參數(shù)進行統(tǒng)一:學(xué)習(xí)率為0.003,batch_size= 500, epochs= 300。最后所得四個模型的loss分別如圖8~圖11所示。可以看到,CNN_LSTM模型擬合的效果最好。

圖8 LSTM模型訓(xùn)練loss對比

圖9 CNN_LSTM模型訓(xùn)練loss對比

圖10 Attention_LSTM 模型訓(xùn)練loss對比

圖11 CNN_Attention_LSTM 模型訓(xùn)練loss對比
四個模型的真實負(fù)荷與預(yù)測負(fù)荷的對比情況如圖12~圖15 所示,從這四幅圖中也可以看出CNN_LSTM模型的效果最好。

圖12 LSTM模型負(fù)荷預(yù)測對比

圖13 CNN_LSTM模型負(fù)荷預(yù)測對比

圖14 Attention_LSTM 模型負(fù)荷預(yù)測對比

圖15 CNN_Attention_LSTM 模型負(fù)荷預(yù)測對比
四個模型的MAPE、MPE、RMSE 結(jié)果如表5 所 示, 由 表5 可 以 看 出, 除 了 在 時 間 上CNN_LSTM 模型沒有優(yōu)勢外,其他三個值的表現(xiàn)均為最好。

表5 整體評價指標(biāo)分析
本文提出了LSTM 模型、CNN_LSTM 模型、Attention_LSTM 模 型 和CNN_Attention_LSTM 模型四種模型,無論從loss 擬合還是在三個評價指標(biāo)MAPE、 MPE、 RMSE 上的表現(xiàn), CNN_LSTM 模型都是最好的。這為短期電力負(fù)荷預(yù)測指明了有意義的研究方向。相信在未來,基于LSTM 時間特征的短期負(fù)荷預(yù)測一定能為電力系統(tǒng)穩(wěn)定、安全運行保駕護航。
當(dāng)然,本文所選數(shù)據(jù)可能比較少,對模型泛化能力有一定的影響,今后若在電網(wǎng)工作中能獲得更多電力負(fù)荷數(shù)據(jù),可進一步研究更具有魯棒性、泛化能力好的模型,助力電網(wǎng)發(fā)展。