李靜茹,姚方
(山西大學(xué) 電力與建筑學(xué)院,山西 太原 030013)
能源是社會發(fā)展及經(jīng)濟增長的主要驅(qū)動力,傳統(tǒng)的化石能源不再符合綠色發(fā)展的需要,因此可再生能源不斷興起。風(fēng)能作為近年來發(fā)展最快的能源之一,已在世界范圍內(nèi)得到了廣泛關(guān)注。但是,由于自然因素的影響,風(fēng)力發(fā)電的隨機性和波動性較為明顯[1]。當(dāng)大量風(fēng)電注入電網(wǎng)時,將會打破功率平衡,給電力系統(tǒng)帶來了諸多挑戰(zhàn),因此有必要對風(fēng)電的輸出功率進(jìn)行準(zhǔn)確預(yù)測。
風(fēng)電功率預(yù)測包括物理方法和統(tǒng)計方法[2]。物理方法建模復(fù)雜,存在成本較高的問題[3],而統(tǒng)計方法依賴于大量的歷史數(shù)據(jù),主要包括灰色預(yù)測法[4]和自回歸移動平均[5]等時序預(yù)測法和人工神經(jīng)網(wǎng)絡(luò)[6]等人工智能法。當(dāng)前的預(yù)測模型正在由機器學(xué)習(xí)向深度學(xué)習(xí)轉(zhuǎn)移[7],長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)作為一種常見的深度學(xué)習(xí)算法已被應(yīng)用到風(fēng)電功率預(yù)測中[8],它善于處理長序列數(shù)據(jù),能夠自動學(xué)習(xí)到輸入數(shù)據(jù)之間的關(guān)系。文獻(xiàn)[9]首先用Pearson相關(guān)系數(shù)選擇出對風(fēng)電功率影響較大的因素作為模型的輸入,然后利用LSTM網(wǎng)絡(luò)對多變量時間序列建模,有效地減小了模型的復(fù)雜度,提高了預(yù)測準(zhǔn)確度。文獻(xiàn)[10]提出了一種利用LSTM網(wǎng)絡(luò)滾動預(yù)測的方法,每15 min更新一次數(shù)據(jù)集,實現(xiàn)網(wǎng)絡(luò)的滾動更新,有效地提高了預(yù)測精度。
本文提出了一種引入注意力機制的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和LSTM復(fù)合預(yù)測模型。首先應(yīng)用CNN對輸入數(shù)據(jù)進(jìn)行卷積處理,增強輸入與輸出之間的相關(guān)性;然后通過LSTM網(wǎng)絡(luò)對時序數(shù)據(jù)進(jìn)行預(yù)測,并將注意力機制添加到LSTM輸出中;最后將訓(xùn)練好的網(wǎng)絡(luò)預(yù)測風(fēng)電出力。試驗結(jié)果表明本文所提方法可以有效地提高預(yù)測精度。
卷積神經(jīng)網(wǎng)絡(luò)[11]是一種包含卷積處理的深度神經(jīng)網(wǎng)絡(luò),它的主要特點是參數(shù)共享、稀疏連接和池化操作,其獨特的結(jié)構(gòu)可以減少深層網(wǎng)絡(luò)所占的內(nèi)存,并減少過擬合的風(fēng)險。卷積神經(jīng)網(wǎng)絡(luò)具有提取特征的能力,其中一維卷積作為一種神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),它可以從時間序列數(shù)據(jù)中提取特征輸入。
CNN的結(jié)構(gòu)主要包括兩部分,第一部分是卷積層,在這一層中,卷積核與前一層的局部區(qū)域連接并進(jìn)行卷積計算,提取前一層的主要特征,計算公式如式(1)所示。
(1)
第二部分是池化層,為了減少網(wǎng)絡(luò)模型的參數(shù)和復(fù)雜度,可以使用池化操作進(jìn)行降采樣,在這里選擇最大池化,計算公式如式(2)所示。
(2)
長短期記憶網(wǎng)絡(luò)由循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)演變而來,RNN顯著的特點是能夠利用歷史信息處理序列問題,一個典型的RNN結(jié)構(gòu)具有輸入層、隱藏層和輸出層。輸入層負(fù)責(zé)接收向量,然后將其傳遞給隱藏層,最后在輸出層輸出結(jié)果。但RNN網(wǎng)絡(luò)無法很好地處理長距離依賴問題,因此有學(xué)者對它作出了改進(jìn),產(chǎn)生了長短期記憶網(wǎng)絡(luò),其單元塊的結(jié)構(gòu)如圖1所示。
圖1 LSTM單元塊
圖1中:ht-1、Ct-1為上一時刻的輸出和單元狀態(tài);Xt為當(dāng)前時刻的輸入;ht、Ct為當(dāng)前時刻的輸出和單元狀態(tài)。
除了循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏層狀態(tài)外,它還有一個額外的狀態(tài)C來處理記憶單元的長期依賴關(guān)系,LSTM使用門機制來控制單元狀態(tài)C,包括輸入門i、遺忘門f和輸出門o,LSTM的單元狀態(tài)與三個門的關(guān)系用式(3)~式(8)表示。
it=σ(Wiht-1+Uixt+bi)
(3)
ft=σ(Wfht-1+Ufxt+bf)
(4)
ot=σ(Woht-1+Uoxt+bo)
(5)
(6)
(7)
ht=ot×tanh(Ct)
(8)
式中:W為神經(jīng)元的權(quán)重;b為神經(jīng)元的偏差;σ為sigmoid函數(shù)。
LSTM通過其獨特的門機制能夠保留數(shù)據(jù)的重要特征,確保了梯度長時間不會消失,因此它有著很強的時序數(shù)據(jù)學(xué)習(xí)能力和信息選擇能力,能夠?qū)r間序列數(shù)據(jù)做出準(zhǔn)確的預(yù)測。
近年來,注意力模型(attention model,AM)被廣泛應(yīng)用在深度學(xué)習(xí)任務(wù)中,當(dāng)大量信息輸入到神經(jīng)網(wǎng)絡(luò)時,不同輸入對輸出的影響不同,為了提高神經(jīng)網(wǎng)絡(luò)的計算效率,將更多的計算能力分配給重要的輸入信息,引入了注意力機制,其結(jié)構(gòu)如圖2所示。
圖2 注意力模型
注意力機制的計算可分為兩步:一是為所有的輸入信息計算相應(yīng)的權(quán)重系數(shù);二是根據(jù)權(quán)重系數(shù)計算輸入信息的加權(quán)平均。計算公式如式(9)、式(10)所示。
(9)
(10)
式中:xi為輸入向量;q為查詢向量;s(x)為得分函數(shù),得分的依據(jù)是xi與q的相關(guān)程度;ai為注意力分布;ε為輸入值和注意力分布的加權(quán)平均值。
網(wǎng)絡(luò)模型在進(jìn)行訓(xùn)練之前,需要預(yù)處理原始數(shù)據(jù)。具體方法如下。
(1) 數(shù)據(jù)歸一化:原始數(shù)據(jù)在輸入網(wǎng)絡(luò)之前需進(jìn)行歸一化處理,本文選擇min-max標(biāo)準(zhǔn)化將結(jié)果映射到0~1之間,計算公式如式(11)所示。
(11)
(2) 數(shù)據(jù)分類處理:按時間把原始數(shù)據(jù)分為訓(xùn)練集和測試集,其中80%用于訓(xùn)練,剩下20%用于測試。
采用CNN_LSTM_AM模型進(jìn)行風(fēng)電預(yù)測,模型結(jié)構(gòu)如圖3所示。首先將經(jīng)過預(yù)處理的數(shù)據(jù)輸入網(wǎng)絡(luò),通過CNN對序列數(shù)據(jù)進(jìn)行特征提取,經(jīng)卷積、池化處理后,通過一個全連接(FC)層轉(zhuǎn)換為一維數(shù)據(jù),輸入LSTM網(wǎng)絡(luò)中,其中卷積核的大小為1,激活函數(shù)采用relu函數(shù)。LSTM層用于處理長序列數(shù)據(jù),本文選擇的LSTM結(jié)構(gòu)為2個隱層,隱層的單元數(shù)目為64,激活函數(shù)選擇relu,并在LSTM網(wǎng)絡(luò)后引入Attention模塊,計算權(quán)重,最終通過全
連接層輸出結(jié)果。Attention模塊可以自動地學(xué)習(xí)和判斷不同特征的重要程度,并根據(jù)重要性關(guān)系來分配權(quán)重,增強了LSTM模型對長輸入序列的預(yù)測能力,有效地提高了預(yù)測的精度。
為了驗證本文所提模型的準(zhǔn)確性,選擇均方根誤差(eRMSE)與平均絕對誤差(eMAE)作為模型的誤差評價指標(biāo),計算公式如下所示。
(12)
(13)
本文選取某地區(qū)2019年7月1日到2019年9月30日的實測風(fēng)力發(fā)電數(shù)據(jù)進(jìn)行試驗驗證,共計8 832個數(shù)據(jù)點,采樣時間間隔為15 min。模型采用adam優(yōu)化器,訓(xùn)練時損失函數(shù)選擇eMAE函數(shù),批次大小為256,迭代次數(shù)為200,進(jìn)行15 min時間尺度的預(yù)測,圖4為預(yù)測結(jié)果,圖中橫軸為采樣點數(shù),縱軸為風(fēng)電功率數(shù)據(jù)歸一值。
圖4 CNN_LSTM_AM模型的預(yù)測結(jié)果
為了進(jìn)一步評估本文模型的預(yù)測能力,在相同的歷史數(shù)據(jù)下采用CNN和CNN_LSTM進(jìn)行比較,圖5為預(yù)測對比圖,橫軸選取了測試集中的100個數(shù)據(jù)點??梢钥闯?,CNN_LSTM_AM模型的
圖5 預(yù)測對比圖
預(yù)測結(jié)果與真實值更加接近,相較于其他深度學(xué)習(xí)模型預(yù)測效果更好。
表1為不同模型進(jìn)行15 min預(yù)測的誤差值。從表1可以看出,本文模型的預(yù)測誤差低于其他模型,預(yù)測性能更加優(yōu)越,可以對未來數(shù)據(jù)進(jìn)行精確的超短期預(yù)測。
表1 不同模型預(yù)測誤差 單位: %
本文在大量研究的基礎(chǔ)上,提出了一種基于注意力機制的CNN和LSTM復(fù)合風(fēng)電預(yù)測模型,該框架可以為后續(xù)的風(fēng)能預(yù)報工作提供有效的幫助。在理論知識的基礎(chǔ)上,進(jìn)行了詳細(xì)的試驗。結(jié)果表明,基于CNN_LSTM_AM的方法比CNN_LSTM、CNN方法具有更好的預(yù)測性能,該模型可以明顯地提高風(fēng)電預(yù)測的精度。