宋珊珊,潘文林,王嘉梅,梁志茂
(云南民族大學(xué) 電氣信息工程學(xué)院,云南 昆明 650500)
為了確保電網(wǎng)運行過程中的安全性、高效性、經(jīng)濟性和穩(wěn)定性,需要電力調(diào)控部門制定有效的能源發(fā)電規(guī)劃和資源調(diào)度配置方案,同時也需要電力市場部制定合理的供電計劃和電能調(diào)度方案,而準(zhǔn)確的電力負荷預(yù)測是保證電力系統(tǒng)高效運營的必要前提[1].電力負荷預(yù)測分為超短期電力負荷預(yù)測,短期電力負荷預(yù)測,中期電力負荷預(yù)測以及長期電力負荷預(yù)測,其中,超短期負荷預(yù)測是指,通過電力負荷預(yù)測模型,對未來的 1 h 之內(nèi)的負荷進行預(yù)測的行為.超短期電力負荷預(yù)測有隨機性大,不易預(yù)測規(guī)律難以掌握的特點,但同時具有重要價值,被國內(nèi)外學(xué)者的研究.
對于電力負荷預(yù)測的研究,國外很早就開始了這項工作.其中,神經(jīng)網(wǎng)絡(luò)在20世紀80年代就問世了,在后續(xù)的電力負荷預(yù)測研究中,神經(jīng)網(wǎng)絡(luò)憑借其優(yōu)越性,在今天對于電力負荷的研究中,也占據(jù)重要的地位[2].相較于國外的研究,國內(nèi)學(xué)者對于電力負荷預(yù)測的研究探索相對較晚,但近些年來,國內(nèi)很多專家學(xué)制,以及高校,了解到其重要性,紛紛投入到對電力負荷的預(yù)測精度的探索中,設(shè)計了各種預(yù)測模型,并使得預(yù)測精度一定程度上得到了提升.目前,國內(nèi)外學(xué)者對負荷預(yù)測的進行了很多研究.文獻[3]提出一種基于電力負荷歷史數(shù)據(jù)挖掘的負荷預(yù)測算法.該算法基于粗糙集理論構(gòu)建了一種組合式神經(jīng)網(wǎng)絡(luò),文獻[4]提出基于 LSTM 網(wǎng)絡(luò)的滾動預(yù)測模型.文獻[5]為了提高光伏出力短期預(yù)測精度,提出了一種考慮空間相關(guān)性采用長短期記憶(long short-term memory, LSTM)神經(jīng)網(wǎng)絡(luò)的預(yù)測方法.文獻[6]提出了一種新型熱氣候指數(shù)-最大信息系數(shù)與振幅壓縮灰色模型的用戶側(cè)微電網(wǎng)短期負荷預(yù)測方法.
卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network),通常情況下簡稱為CNN,屬于深度學(xué)習(xí)中的一種重要算法,模擬人類的視覺處理流程,可以高效的提取特征,通常情況下,CNN包括卷積層,池化層(通常是最大池化層),全連接層,其中,卷積神經(jīng)網(wǎng)絡(luò)中對于特征的高效提取是通過卷積層的卷積計算來實現(xiàn)的,它也是卷積神經(jīng)網(wǎng)絡(luò)的核心層,是卷積神經(jīng)網(wǎng)絡(luò)的重要部分[7].文中主要運用卷積層對電力負荷相關(guān)數(shù)據(jù)進行特征提取.
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network),通常情況下簡稱為RNN.與卷積神經(jīng)網(wǎng)絡(luò)CNN一樣,也是神經(jīng)網(wǎng)絡(luò)模型中在學(xué)術(shù)界備受歡迎的模型之一.然而,與卷積神經(jīng)網(wǎng)絡(luò)用來高效提取特征用法不同,循環(huán)神經(jīng)網(wǎng)絡(luò)RNN通常被用來處理時序問題,是一種用于處理時間序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)[8].在循環(huán)神經(jīng)網(wǎng)絡(luò)中,相鄰隱藏層之間相連接,后一層神經(jīng)元的輸出與前一層神經(jīng)元的輸出存在關(guān)系,RNN神經(jīng)網(wǎng)絡(luò)將前一時刻的輸出選擇性保留并參與到當(dāng)下時刻的運算中,循環(huán)神經(jīng)網(wǎng)絡(luò)的也正是因為這種特征性使得它可以成功的運用到序列式問題當(dāng)中.RNN結(jié)構(gòu)圖如圖1所示.
圖1 RNN結(jié)構(gòu)圖
長短期記憶神經(jīng)網(wǎng)絡(luò)(long term and short term memory neural network),通常情況下簡稱為LSTM.LSTM最早是由 Hochreiter 和 Schmidhuber 提出的,它本質(zhì)上也是一種循環(huán)神經(jīng)網(wǎng)絡(luò),基于RNN存在的缺陷,它是專門為解決長期依賴時間的問題而設(shè)計的,在很多問題,比如在語音識別、圖片描述、自然語言處理等,LSTM 都取得相當(dāng)巨大的成就,并得到了廣泛的使用[9].
LSTM的實質(zhì)也是一個循環(huán)神經(jīng)網(wǎng)絡(luò),在與RNN對比下,其優(yōu)勢是可以解決RNN中存在的梯度消失問題,可以解決有較長時間依賴的時間序列問題,是對RNN的一個改進與升級,其結(jié)構(gòu)圖如圖2所示.
圖2 LSTM結(jié)構(gòu)圖
LSTM只能依賴過去時刻的序列信息來預(yù)測下一時刻的輸出,但是在很多問題中,當(dāng)前時刻的輸出不僅與過去時刻狀態(tài)信息相關(guān),還與未來時刻的狀態(tài)信息有關(guān)系[10].而BiLSTM解決了這個問題,其在結(jié)構(gòu)上通過2個LSTM相連接,實現(xiàn)結(jié)合過去和未來的信息實現(xiàn)對當(dāng)前時刻的預(yù)測,以期對當(dāng)前時刻的預(yù)測精確度得到有效提升.
通過上文介紹知道,RNN神經(jīng)網(wǎng)絡(luò)由于其結(jié)構(gòu)可以參與時序問題的處理與解決,但這種方法通常情況下只考慮過去時刻對當(dāng)下的影響,而忽略了未來時刻與當(dāng)下存在的關(guān)系.基于這一想法,我們考慮在構(gòu)建的模型中加入一個環(huán)節(jié),即通過將未來時刻信息加入進來,與過去時刻共同參與T時刻的預(yù)測,并通過實驗,驗證其是否對預(yù)測精度的提高有幫助.其模型結(jié)構(gòu)如圖3所示.
圖3 BiLSTM模型結(jié)構(gòu)
注意力機制起源于對人體視覺的研究.人體視覺在對信息進行處理時,對信息的接受通常是有選擇性的,而注意力機制模仿了人體視覺對信息處理的部分,在對信息處理中,選擇性的對重要信息進行采集,而對于不重要信息選擇丟棄.注意力機制可以通過概率分配的手段,使得神經(jīng)網(wǎng)絡(luò)具備專注某些特征的能力[11],同時解決LSTM中序列過長導(dǎo)致的信息丟失問題.因此,將注意力機制引入神經(jīng)網(wǎng)絡(luò)中有可能能將預(yù)測精度進一步提升.
對電力負荷的預(yù)測,通常需要考慮一些影響因素,即在負荷預(yù)測中,需要選擇一些影響預(yù)測的因素.根據(jù)經(jīng)驗以及相關(guān)的文獻閱讀,選擇溫度、濕度以及氣壓作為有可能造成影響的影響因素,并使用皮爾遜相關(guān)系數(shù)公式(1)進行科學(xué)合理的分析判斷,實現(xiàn)了影響因素的科學(xué)選擇,并完成相應(yīng)的分析以及數(shù)據(jù)搜集,并納入樣本數(shù)據(jù)中.
(1)
經(jīng)過皮爾遜相關(guān)系數(shù)公式,得到溫度與電力負荷的相關(guān)系數(shù)為0.7,濕度與電力負荷的相關(guān)系數(shù)為0.31,氣壓與電力負荷的相關(guān)系數(shù)為-0.32,對于皮爾遜相關(guān)系數(shù)r而言,當(dāng)0≤|r|≤0.3時,表示2位數(shù)據(jù)相關(guān)程度為低度相關(guān),當(dāng)0.3≤|r|≤0.8時,表示2位數(shù)據(jù)相關(guān)程度為中度相關(guān),當(dāng)0.8≤|r|≤1時,表示2位數(shù)據(jù)相關(guān)程度為高度相關(guān).因此,溫度與用電負荷呈高度相關(guān),氣壓與濕度與電力負荷呈中度相關(guān).對三維數(shù)據(jù)與電力負荷真實數(shù)據(jù)繪制熱力圖,如圖4~圖6所示.
圖4 溫度與用電負荷相關(guān)系數(shù)熱力圖 圖5 相對濕度與用電負荷相關(guān)系數(shù)熱力圖 圖6 氣壓與用電負荷相關(guān)系數(shù)熱力圖
因此,選取溫度、氣壓、濕度作為特征向量具有合理性.
筆者根據(jù)經(jīng)驗以及大量文獻閱讀,對數(shù)據(jù)進行分析,選擇了溫度,大氣壓強以及相對濕度作為特征向量[12].通過百度以及學(xué)術(shù)網(wǎng)站,氣象網(wǎng)站搜集到每個采樣點對應(yīng)的特征向量,將其與電力負荷數(shù)據(jù)一一對應(yīng),進行整合放入數(shù)據(jù)集中,其部分數(shù)據(jù)如表1所示.完整數(shù)據(jù)集共 35 041 行,5列.
表1 訓(xùn)練數(shù)據(jù)集
在超短期負荷預(yù)測中,其輸入數(shù)據(jù)通常包含不同類型的數(shù)據(jù),表示對預(yù)測結(jié)果有所影響的不同的特征向量,比如文中的溫度,大氣壓強,相對濕度,以及電力負荷數(shù)據(jù),溫度單位為攝氏度,范圍通常在-10到40之間,而電力負荷單位為MW,且值通常在 3 000 到 7 000 間浮動,為了避免因量綱不同而導(dǎo)致的影響度不同問題,需要將各個維度的特征向量先進行歸一化,以獲得同一量綱的不同維度的特征向量.以保證數(shù)值范圍大的數(shù)據(jù)不會淹沒數(shù)值范圍小的數(shù)據(jù).
通過歸一化,對數(shù)據(jù)集進行標(biāo)準(zhǔn)化處理,即將不同量綱的數(shù)據(jù)變換為統(tǒng)一范圍內(nèi)的數(shù)據(jù)集,通常情況下,歸一化后數(shù)據(jù)范圍在[0,1]以及[-1,1]之間.本課題中,我們將數(shù)據(jù)統(tǒng)一歸一化到[0,1]范圍內(nèi).其計算公式如式(2)所示.
yi=(xi-xmin)/(xmax-xmin).
(2)
其中,xi為特征向量中每個值,xmin為該特征中最小的值,xmax為該特征向量中最大的值.yi為經(jīng)過處理后的數(shù)據(jù).
文中CNN-BiLSTM-Attention神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為輸入層,連接卷積層,通過部分鏈接BiLSTM層,通過部分鏈接到Attention層,通過一個Flatten層連接一個全連接層輸出.其神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖7所示.
圖7 CNN-BiLSTM-Attention神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
使用Python3.7.6版本,在Keras 2.0.2框架下,將處理好的數(shù)據(jù)送到構(gòu)建好的模型中進行訓(xùn)練,文中定性周期epoch設(shè)置為10,batchsize設(shè)置為64.經(jīng)過10輪訓(xùn)練.得到一個訓(xùn)練好的模型.
測試集數(shù)據(jù)通常為總數(shù)據(jù)集的20%,本課題中選擇末端的5 000條數(shù)據(jù)經(jīng)過歸一化處理作為測試集.喂到訓(xùn)練好的模型中,進行預(yù)測.為了降低由于數(shù)值過大以及由于不同量綱的特征對預(yù)測造成的影響,整個訓(xùn)練過程使用的都是經(jīng)過歸一化的數(shù)據(jù),因此,需要將預(yù)測結(jié)果進行反歸一化,得到所需要的預(yù)測值,反歸一化公式(3)為:
li=Li*(lmax-lmin)+lmin.
(3)
其中,Li為模型輸出的預(yù)測結(jié)果,lmax,lmin分別為樣本數(shù)據(jù)中的最高和最低負荷,li為負荷預(yù)測的最終數(shù)值.
本文中定性周期epoch設(shè)置為10,batchsize設(shè)置為64,激活函數(shù)為relu.
為了突出該模型的優(yōu)勢,構(gòu)建CNN-LSTM神經(jīng)網(wǎng)絡(luò),CNN-BiLSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并將同樣的數(shù)據(jù)對其進行訓(xùn)練,并將最后不同模型對同樣數(shù)據(jù)訓(xùn)練,預(yù)測后的結(jié)果進行對比.其神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分別如圖8、9所示.
圖8 CNN-LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
圖9 CNN-BiLSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
通過將處理好的數(shù)據(jù)集中前 30 000 數(shù)據(jù)送到搭建好的3個神經(jīng)網(wǎng)絡(luò)模型中進行訓(xùn)練,然后調(diào)用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,選取數(shù)據(jù)集中末 5 000 個數(shù)據(jù)進行驗證.
通過對神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,將驗證集輸入模型進行預(yù)測,得到預(yù)測結(jié)果如下:
1)CNN-LSTM神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果(如圖10所示).
圖10 CNN-LSTM模型預(yù)測結(jié)果
2)CNN-BiLSTM神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果(如圖11所示).
圖11 CNN-BiLSTM模型預(yù)測結(jié)果
3)CNN-BiLSTM-Attention神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果(如圖12所示).
圖12 CNN-BiLSTM-Attention模型預(yù)測結(jié)果
圖13所示為在3種不同的模型下,其預(yù)測值與真實值的對比曲線.
圖13 預(yù)測值與真實值對比曲線圖
從幾種神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果,很容易可以得到,在預(yù)測精度上,CNN-BiLSTM-Attention神經(jīng)網(wǎng)絡(luò)模型平均絕對百分比誤差MAPE為1.28%,相比較CNN-BiLSTM模型神經(jīng)網(wǎng)絡(luò)模型的1.32%,CNN-LSTM模型的1.44%具有更高的預(yù)測精確度.
以平均絕對百分比誤差MAPE作為主要模型評判指標(biāo),其他的的模型評判指標(biāo)平均絕對誤差(MAE),均方誤差(MSE)以及均方根誤差(RMSE)對比如表2所示:
表2 模型評價指標(biāo)對比
同時CNN-BiLSTM-Attention神經(jīng)網(wǎng)絡(luò)預(yù)測模型在各個預(yù)測精度評價指標(biāo)都表現(xiàn)得更為出色.因此,在超短期電力負荷預(yù)測上精度上有進一步提高,存在一定的價值.
近年來,國內(nèi)電力生產(chǎn)運行部門,尤其是自動發(fā)電控制(AGC)的運行和實現(xiàn)動態(tài)經(jīng)濟調(diào)度都對超短期負荷預(yù)測,即預(yù)測未來幾分鐘至 1 h 的負荷數(shù)據(jù)產(chǎn)生迫切的要求.從長遠來看,它也是電力市場的所需信息[13].可見,研究和開發(fā)超短期負荷預(yù)報具有重要意義和實用價值.
提出了一種CNN-BiLSTM-Attention神經(jīng)網(wǎng)絡(luò)預(yù)測模型,在選取合適的特征向量,并對實驗數(shù)據(jù)進行科學(xué)的預(yù)處理前提下,通過實驗對模型進行訓(xùn)練,并通過訓(xùn)練好的模型進行預(yù)測,結(jié)果顯示,預(yù)測值與真實值的平均絕對百分比誤差達到1.28%.與此同時,同樣的數(shù)據(jù)量下,其相對于CNN-BiLSTM,CNN-LSTM模型的預(yù)測精度也更加精確,具有可行性.