張宜祥,張玲華,2
(1.南京郵電大學(xué)通信與信息工程學(xué)院,江蘇南京 210003;2.南京郵電大學(xué)江蘇省通信與網(wǎng)絡(luò)技術(shù)工程研究中心,江蘇南京 210003)
短期負(fù)荷預(yù)測[1-2]是對未來較短時間的負(fù)荷趨勢預(yù)測,精準(zhǔn)的電力負(fù)荷預(yù)測有助于合理制定電力調(diào)度計劃,降低生產(chǎn)成本,維持供需平衡以及減少資源浪費。
神經(jīng)網(wǎng)絡(luò)模型在負(fù)荷預(yù)測領(lǐng)域應(yīng)用廣泛,長短期記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)就是其中的代表。負(fù)荷數(shù)據(jù)具有時序性,而LSTM 只能處理單向數(shù)據(jù),同時其網(wǎng)絡(luò)超參數(shù)往往要根據(jù)人為經(jīng)驗設(shè)定。
雙向長短期記憶(Bi-directional Long Short-Term Memory,BiLSTM)[3-4]在LSTM 的基礎(chǔ)上進(jìn)行改進(jìn),采用雙向LSTM 加強(qiáng)對電力負(fù)荷數(shù)據(jù)正反雙向信息的挖掘,同時注意力機(jī)制(Attention Mechanism,AM)可以有選擇地學(xué)習(xí)和調(diào)整輸入特征的權(quán)重,突出關(guān)鍵因素的影響。對于網(wǎng)絡(luò)超參數(shù),樽海鞘群算法(Salp Swarm Algorithm,SSA)利用其全局搜索與局部搜索能力為其尋優(yōu)。通過仿真軟件搭建實驗案例,并與其他模型對比分析,結(jié)果表明所提模型負(fù)荷預(yù)測擬合度最好,具有較高的預(yù)測精度。
LSTM[5-7]在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上通過引入遺忘門、輸入門以及輸出門共同控制細(xì)胞狀態(tài),對序列中的特征信息進(jìn)行保留或移除,克服了長期依賴,解決了梯度爆炸和梯度消失的問題。LSTM 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。

圖1 LSTM網(wǎng)絡(luò)結(jié)構(gòu)
圖中,xt為t時刻的輸入,ft、it和ot分別為t時刻的遺忘門、輸入門和輸出門,Ct為t時刻的細(xì)胞狀態(tài)更新值,ht為t時刻LSTM 的隱藏層狀態(tài)。
注意力機(jī)制[8-10]是一種模擬人腦注意力的資源分配機(jī)制,人類會選擇性地關(guān)注信息中最重要的部分,而對其他信息選擇忽略。這種機(jī)制會極大地抑制無用或者用處非常小的信息,從而加大對重點細(xì)節(jié)的把握和捕捉。在深度學(xué)習(xí)領(lǐng)域也是如此,通過對不同特征進(jìn)行權(quán)重的分配,以此來提高準(zhǔn)確率和運行效率。注意力機(jī)制結(jié)構(gòu)如圖2 所示。

圖2 注意力機(jī)制結(jié)構(gòu)
注意力機(jī)制的計算過程如式(1)~(3)所示。
式中,m為輸入維度,V和W為感知機(jī)的權(quán)重,b為感知機(jī)的偏置,et為權(quán)重分?jǐn)?shù),αt為注意力權(quán)重,St為注意力機(jī)制的輸出。
SSA 算法[11-12]是由Mirjalili 等提出的一種模擬樽海鞘群體行為的智能優(yōu)化算法。SSA 算法的計算過程如式(4)~(6)所示。
式中,t為當(dāng)前迭代次數(shù),T為最大迭代次數(shù),表示第i個樽海鞘在第j維的位置,F(xiàn)j表示食物源在第j維的位置,ubj和lbj分別為搜索上下限,c1為自適應(yīng)參數(shù),c2和c3為區(qū)間[0,1]內(nèi)的隨機(jī)數(shù)。
構(gòu)建并實現(xiàn)的AM-BiLSTM模型結(jié)構(gòu)如圖3所示。

圖3 AM-BiLSTM模型結(jié)構(gòu)
模型由輸入層、BiLSTM 層、注意力機(jī)制層、全連接層和輸出層構(gòu)成:
1)輸入層。按照LSTM 神經(jīng)網(wǎng)絡(luò)的要求,將輸入數(shù)據(jù)重塑成三維樣式,即[樣本數(shù)量,時間步長,特征維度]。
2)BiLSTM 層。信息分別輸入到前向與后向LSTM,經(jīng)過正向與反向的雙向處理后會得到兩個結(jié)果向量,將這兩個結(jié)果向量拼接起來,作為BiLSTM神經(jīng)網(wǎng)絡(luò)的最終輸出。BiLSTM 選用兩層,其網(wǎng)絡(luò)參數(shù)(訓(xùn)練次數(shù)、學(xué)習(xí)率、批大小和神經(jīng)元個數(shù))的設(shè)置采用SSA 算法進(jìn)行尋優(yōu)。
3)注意力機(jī)制層和全連接層。將BiLSTM 隱藏層的輸出作為注意力機(jī)制層的輸入,通過全連接層的訓(xùn)練,為每一個隱藏層狀態(tài)分配權(quán)重,通過對注意力權(quán)重的加權(quán)求和,得出注意力機(jī)制的輸出。本質(zhì)上,這里分配的權(quán)重即是對于輸入時間步長和特征維度的權(quán)重。
4)輸出層。采用全連接層輸出電力負(fù)荷預(yù)測值。
采用SSA 算法對AM-BiLSTM 模型的網(wǎng)絡(luò)超參數(shù)(訓(xùn)練次數(shù)、學(xué)習(xí)率、批大小、神經(jīng)元個數(shù)等)進(jìn)行尋優(yōu),優(yōu)化流程如圖4 所示。

圖4 SSA優(yōu)化AM-BiLSTM流程
具體實現(xiàn)步驟如下:
步驟一 數(shù)據(jù)預(yù)處理,對電力負(fù)荷數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行清洗和歸一化處理,并劃分為訓(xùn)練集和測試集。
步驟二 確定需要優(yōu)化的網(wǎng)絡(luò)模型超參數(shù)以及搜索尋優(yōu)范圍。
步驟三 設(shè)置SSA 算法相關(guān)參數(shù),包括最大迭代次數(shù)、種群數(shù)、空間維度,并初始化種群。
步驟四 將實際與預(yù)測輸出值的均方誤差作為適應(yīng)度函數(shù)。
步驟五 通過計算適應(yīng)度函數(shù)值,進(jìn)行食物源和種群的更新。
步驟六 重復(fù)步驟四和步驟五,直至達(dá)到最大迭代次數(shù)。
步驟七 輸出最優(yōu)網(wǎng)絡(luò)超參數(shù)(即最終食物源所在的位置),將這些超參數(shù)代入AM-BiLSTM 模型進(jìn)行電力負(fù)荷預(yù)測,并對比分析實驗預(yù)測結(jié)果。
為驗證所提負(fù)荷預(yù)測模型的性能,選取2012 年1 月1 日至2014 年12 月31 日某地區(qū)的電力負(fù)荷數(shù) 據(jù)集,每15 分鐘進(jìn)行一次采樣,共計105 216 個樣本點。電力負(fù)荷受到多種因素的影響,具有復(fù)雜性與多樣性,為充分提升負(fù)荷預(yù)測的精度,實驗考慮數(shù)據(jù)集中的天氣因素和負(fù)荷因素共六維特征作為輸入特征。
實驗采用滾動序列預(yù)測,選取預(yù)測日前三天(即時間步長)的所有電力負(fù)荷數(shù)據(jù)和天氣數(shù)據(jù)作為輸入,后一天的所有電力負(fù)荷數(shù)據(jù)作為輸出,構(gòu)建多變量多步長的電力負(fù)荷預(yù)測模型。選取最后五天作為測試集,其余作為訓(xùn)練集。
受到各種因素的影響,負(fù)荷數(shù)據(jù)樣本采集過程中,由于相關(guān)人員的失誤而導(dǎo)致的樣本數(shù)據(jù)缺失或異常,會對預(yù)測結(jié)果造成影響,因此首先需要對這類數(shù)據(jù)進(jìn)行清洗處理。對于數(shù)據(jù)集中的缺失數(shù)據(jù)和異常數(shù)據(jù)采用平均值進(jìn)行填充和替換。
由于負(fù)荷輸入特征的量綱不同,而且負(fù)荷數(shù)值較大,為提升損失函數(shù)的收斂速度,有必要對數(shù)據(jù)進(jìn)行歸一化處理[13],將數(shù)據(jù)放縮到[0 1]區(qū)間內(nèi)。
采用平均絕對百分比誤差(MAPE)、均方根誤差(RMSE)、平均絕對誤差(MAE)和決定系數(shù)(R2)四個評價指標(biāo)來進(jìn)行負(fù)荷預(yù)測模型的性能評估[14]。計算如式(7)-(10)所示。
式中,yi、和分別為i時刻的真實值、預(yù)測值和均值,n為樣本數(shù)量。
基于深度學(xué)習(xí)中流行的Tensorflow框架和Keras[15]庫搭建AM-BiLSTM 模型,并采用SSA 算法對網(wǎng)絡(luò)模型超參數(shù)進(jìn)行優(yōu)化。設(shè)定SSA 算法的最大迭代次數(shù)為10,種群數(shù)為10,空間維度為6,六個超參數(shù)的尋優(yōu)范圍如表1 所示。每進(jìn)行一次迭代都需要對各參數(shù)進(jìn)行邊界判斷,若當(dāng)前迭代超出了以下的尋優(yōu)范圍,則重新隨機(jī)進(jìn)行各值的選擇。將SSA 算法與文獻(xiàn)[16]提出的PSO 算法優(yōu)化過程進(jìn)行對比,適應(yīng)度變化曲線如圖5 所示。

表1 超參數(shù)尋優(yōu)范圍

圖5 適應(yīng)度變化曲線
從圖5 可以看出,PSO 和SSA 算法在尋優(yōu)過程中的初值由于是隨機(jī)選擇的,會產(chǎn)生陷入局部最優(yōu)解的問題。PSO 算法在第八輪迭代時找到全局最優(yōu)解,而SSA 算法提前一輪,在第七輪迭代時便已找到。同時,SSA 算法最終穩(wěn)定的適應(yīng)度值也要低于PSO 算法。由此說明SSA 算法的全局搜索能力明顯優(yōu)于PSO 算法,證實了算法選取的有效性。
SSA 算法的迭代過程如下:在第一輪迭代時,訓(xùn)練次數(shù)、學(xué)習(xí)率、批大小、第一隱藏層神經(jīng)元個數(shù)、第二隱藏層神經(jīng)元個數(shù)和全連接層神經(jīng)元個數(shù)的初始值分別為97、0.007 17、65、87、21 和5。經(jīng)過第二輪迭代,分別變?yōu)?8、0.009 43、51、93、54 和123,在此后的第三輪至第五輪迭代,該組網(wǎng)絡(luò)超參數(shù)都保持著適應(yīng)度最優(yōu)。直到第六輪迭代,參數(shù)優(yōu)化發(fā)生了變化,分別變?yōu)?8、0.008 56、57、56、68 和134,隨后的第七輪迭代沒有發(fā)生變化。但第八輪迭代只有學(xué)習(xí)率變化為0.008 58,而其他參數(shù)保持不變。最后的第九輪至第十輪迭代也均沒有找到比第八輪更優(yōu)的解。至此,整個迭代過程結(jié)束,最優(yōu)的網(wǎng)絡(luò)超參數(shù)為[78,0.008 58,57,56,68,134]。
基于以上優(yōu)化的模型參數(shù),采用Adam 優(yōu)化器取代傳統(tǒng)的隨機(jī)梯度下降算法實現(xiàn)自適應(yīng)學(xué)習(xí)率優(yōu)化,并且使用均方誤差(MSE)作為損失函數(shù)對負(fù)荷預(yù)測模型進(jìn)行訓(xùn)練。
為了驗證所提出的SSA-AM-BiLSTM 模型的負(fù)荷預(yù)測效果,與GRU、LSTM、AM-BiLSTM 和PSOAM-BiLSTM 模型進(jìn)行對比分析。對于前三個模型,由于并沒有加入群體智能優(yōu)化算法,故網(wǎng)絡(luò)超參數(shù)需要進(jìn)行人為經(jīng)驗設(shè)定,這里統(tǒng)一設(shè)置為[80,0.01,64,80,120,200],對 于PSO-AM-BiLSTM 和SSAAM-BiLSTM 模型,分別采用PSO 算法和SSA 算法優(yōu)化好的一組網(wǎng)絡(luò)超參數(shù),即[81,0.003 81,57,44,71,45]和[78,0.008 58,57,56,68,134]。采用上述評價指標(biāo)對負(fù)荷預(yù)測模型進(jìn)行性能評估,不同模型預(yù)測結(jié)果對比如表2 所示。

表2 不同模型預(yù)測結(jié)果對比
由表2 可以看出,SSA-AM-BiLSTM 的MAPE 為1.89%,相比于GRU 的4.04%、LSTM 的3.82%、AMBiLSTM 的3.31%和PSO-AM-BiLSTM 的2.34%分別減少了2.15%、1.93%、1.42%和0.45%;SSA-AMBiLSTM 的RMSE 為177.11 MW,相比于GRU 的370.13 MW、LSTM 的321.48 MW、AM-BiLSTM 的287.32 MW 和PSO-AM-BiLSTM 的250.04 MW 分別減少了52.15%、44.91%、38.36%和29.17%;SSAAM-BiLSTM 的MAE 為131.42 MW,相比于GRU 的279.88 MW、LSTM 的255.93 MW、AM-BiLSTM 的222.44 MW 和PSO-AM-BiLSTM 的161.82 MW 分別減少了53.04%、48.65%、40.92%和18.79%;SSAAM-BiLSTM 模型的R2為0.985 4,相比于GRU 的0.936 1、LSTM 的0.951 8、AM-BiLSTM 的0.961 5 和PSO-AM-BiLSTM 的0.970 8,分別提高了4.93%、3.36%、2.39%和1.46%。
從以上分析得出,SSA-AM-BiLSTM 模型在MAPE、RMSE、MAE 和R2評價指標(biāo)上均優(yōu)于GRU、LSTM、AM-BiLSTM 和PSO-AM-BiLSTM 模型,這是因為SSA-AM-BiLSTM模型采用SSA算法尋找到的超參數(shù)比人為經(jīng)驗選取的以及PSO算法尋找到的超參數(shù)更加合適,并且對于每個時間步的每一維輸入特征都進(jìn)行了相應(yīng)的加權(quán),加大了關(guān)鍵因素對于結(jié)果的影響,因此可以有效地減小誤差,使負(fù)荷預(yù)測精度達(dá)到最優(yōu)。
為了更直觀地看出預(yù)測效果,以15 min 為采樣間隔,給出SSA-AM-BiLSTM 模型測試五天的負(fù)荷預(yù)測結(jié)果如圖6 所示,不同模型測試一天的負(fù)荷預(yù)測結(jié)果如圖7 所示。從圖6 和圖7 可以看出,所有模型均預(yù)測出了電力負(fù)荷的趨勢變化,而所提出的SSA-AM-BiLSTM 模型的負(fù)荷預(yù)測擬合效果最好,基本符合實際負(fù)荷的變化趨勢,提升了預(yù)測精度。

圖6 SSA-AM-BiLSTM模型負(fù)荷預(yù)測結(jié)果

圖7 不同模型負(fù)荷預(yù)測結(jié)果
針對經(jīng)典的LSTM 神經(jīng)網(wǎng)絡(luò)負(fù)荷預(yù)測存在的問題,提出了改進(jìn)的SSA-AM-BiLSTM 模型。引入注意力機(jī)制進(jìn)行權(quán)重分配,加強(qiáng)對關(guān)鍵特征的關(guān)注;同時利用樽海鞘群算法為LSTM 神經(jīng)網(wǎng)絡(luò)尋找超參數(shù)的一組最優(yōu)解。通過仿真實驗表明,相較于GRU、LSTM、AM-BiLSTM 和PSO-AM-BiLSTM 模型,所提出的SSA-AM-BiLSTM 模型預(yù)測精度和擬合效果得到了很大的提升,但由于需要尋找網(wǎng)絡(luò)超參數(shù)的最優(yōu)解,故搜索優(yōu)化的時間較長。由于引入了樽海鞘群算法,會遇到陷入局部最優(yōu)和收斂速度慢等問題,這也是后期研究需要優(yōu)化的方向。