吳鐵洲,鄒 智,姜 奔,張曉星
(1.湖北工業(yè)大學電氣與電子工程學院,武漢 430063;2.湖北工業(yè)大學太陽能高效利用及儲能運行控制湖北省重點實驗室,武漢 430063)
在當前新能源滲透率越來越高的新型電力系統(tǒng)中,負荷預測是確保其平穩(wěn)高效運行的重要保證[1]。負荷預測方法按照預測的時間范圍來劃分[2],長期與中期預測通常是從幾個月到幾年,短期預測的預測范圍則是從幾小時到幾周[3]。HERNANDEZ 等[4]在對實際案例進行研究后發(fā)現(xiàn),對于電網(wǎng)來講,短期負荷預測具有獨特的使用價值。短期負荷預測結果經(jīng)常被用來協(xié)助制定一周內(nèi)電力系統(tǒng)的機組啟停、機組最優(yōu)組合、經(jīng)濟調度、最優(yōu)潮流及影響電力市場交易等。預測精度越高,越有利于提高發(fā)電設備的利用率、經(jīng)濟調度的有效性和日常多個時間范圍內(nèi)電力運行的可服務性[5]。
HOSSEN 等[6]將深度神經(jīng)網(wǎng)絡(Deep Neural Network,DNN)應用到短期負荷預測中,相較于淺層人工神經(jīng)網(wǎng)絡,DNN 雖在預測精度上有所提升,但仍需人工提取時序特征。長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡是一種專門處理時間序列數(shù)據(jù)的循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN),它解決了RNN 的梯度消失和爆炸以及長期記憶不足的問題[7]。而門控循環(huán)單元(GRU)是在LSTM 的基礎上進行改進優(yōu)化的神經(jīng)網(wǎng)絡[8]。與LSTM 相比,GRU 在具有同等準確率的情況下,擁有更低的復雜度及更快的收斂速度來捕獲不同時間步長的長短期依賴性關系[9]。
此外,在深度學習領域中,不同類型神經(jīng)網(wǎng)絡的準確性和收斂性很大程度上依賴于超參數(shù)(如隱藏層的數(shù)量和每層神經(jīng)元的個數(shù))[10]。而超參數(shù)的設置在先前都是手工調試的,需不斷進行調整試錯,在調整試錯過程中比較依賴其調參的先驗知識,容易陷入局部最優(yōu)解,很難獲得合適的超參數(shù)。文獻[11]分析認為,目前主要有3 種方法尋找最佳超參數(shù)。網(wǎng)格搜索(Grid Search,GS)通過引入最小代價函數(shù)或最高適應度函數(shù)的組合獲得超參數(shù)的最佳集合[12]。然而,GS 在運行時需要運用大量的算力才能獲得最佳的網(wǎng)絡架構。而隨后提出的隨機搜索(Random Search,RS)方法雖然可以避免運算量大的缺點,但其無法保證得到全局最優(yōu)超參數(shù)[13]。另外,RS 在超參數(shù)域中進行的是盲目搜索,但這種方式效率較低,難以求解復雜問題。為了解決該問題,研究人員提出采用遺傳算法等元啟發(fā)式算法搜索超參數(shù)。因為GA 在運行過程中,首先保存了每個步驟中具有最佳結果的超參數(shù)組合,然后通過上一步的超參數(shù)來生成下一步中的新超參數(shù)集。可以看出,其搜索過程不是盲目的,找到最優(yōu)結果的可能性比RS更高。文獻[14]對GS、RS 和GA 的精度和計算時間進行了比較研究,在CIFAR-10 分類數(shù)據(jù)集上的結果顯示,GA 算法明顯優(yōu)于提到的其他算法。
GA 算法在運行早期容易產(chǎn)生超級個體,出現(xiàn)早熟收斂現(xiàn)象,從而導致算法過早地收斂于局部最優(yōu),而非全局最優(yōu)[15]。在過去的幾年中,研究人員一直致力于改進GA 算法的性能,以提高該算法在處理不同優(yōu)化問題時的有效性。研究人員已經(jīng)證明了GA算法的效率直接取決于算子和策略參數(shù)的選擇[16]。關于變異算子,大多數(shù)研究都試圖確定最佳的變異種類或變異率。然而,更常見方法是動態(tài)調整變異,而不是固定變異率統(tǒng)一應用于整個種群[17]。BEHROOZI 等[18]提出一種基于教與學優(yōu)化(Teaching Learning Based Optimization,TLBO)的新型變異算子,在解決早熟收斂問題的同時,還提高了GA 算法的性能。該方法采用一種高智能的變異算子,選定的基因將智能地突變,以使染色體接近更好的解決方案,而不是隨機變異。因此,為解決GA 算法的早熟收斂問題,可以從變異算子入手,通過改變變異為種群補充新的個體,增加種群的多樣性,使算法跳出局部最優(yōu)。
本文提出一種基于TLBGA-GRU 神經(jīng)網(wǎng)絡的短期負荷預測方法。采用灰色關聯(lián)分析法對原始數(shù)據(jù)進行分析,剔除冗余特征,將剩余的主要特征保留并輸入到GRU 神經(jīng)網(wǎng)絡中。隨后通過TLBGA 算法對GRU 神經(jīng)網(wǎng)絡進行超參數(shù)調優(yōu),在得到預測精度更高、性能更好的模型后,再將篩選的數(shù)據(jù)輸入到該模型,從而輸出負荷預測的結果。
經(jīng)研究發(fā)現(xiàn),由于RNN 網(wǎng)絡中存在循環(huán)單元結構,允許輸入特征持續(xù)存在,這也就使得RNN 具有一定短期記憶能力,因此RNN 網(wǎng)絡在處理時間序列數(shù)據(jù)方面具有一定的優(yōu)勢。然而,RNN 還是存在階梯消失問題,因此隨著時間間隔的增加,RNN 會逐漸失去學習舊信息的能力。
LSTM 是一種特殊的循環(huán)神經(jīng)網(wǎng)絡,其很好地解決了RNN 中梯度消失的問題。但是,在后續(xù)的研究中發(fā)現(xiàn),LSTM 由于其內(nèi)部參數(shù)與數(shù)據(jù)較多,比較復雜,會降低其訓練效果[19]。為了更好地解決這個問題,研究人員提出了GRU 神經(jīng)網(wǎng)絡,其內(nèi)部采用門控循環(huán)神經(jīng)網(wǎng)絡結構,相比于LSTM,訓練參數(shù)較少,收斂速度更快[20]。圖1 所示為GRU 神經(jīng)元內(nèi)部結構,計算公式如式(1)所示。
圖1 GRU 神經(jīng)元內(nèi)部結構Fig.1 Internal structure of GRU neuron
在圖1 與式(1)中:Rt表示重置門;Zt則表示更新門;Xt與Qt分別表示t時刻的輸入與輸出向量;Ht和表 示t時刻的隱藏狀態(tài)與候選隱藏狀態(tài)[21];Wxz、Wxr、Whr、Whz、Wxh、Whh、Whq是權重參數(shù);br、bz、bh、bq是偏差參數(shù);⊙表示矩陣的數(shù)乘;1-表示該鏈路向前傳播的數(shù)據(jù)為1-Zt;σ表示的sigmoid 函數(shù)可以將元素的值映射到[0,1]范圍內(nèi),因此重置門Rt和更新門Zt中每個元素的值域都是[0,1][22]。
1.2.1 TLBGA 算法
自動尋找最優(yōu)超參數(shù)的方法較多,如粒子群優(yōu)化算法、蟻群算法、模擬退火算法以及遺傳算法。與遺傳算法相比,其他算法受初始值的影響較大,只能找到問題的局部最優(yōu)解。遺傳算法是一種基于遺傳和變異的模擬生物進化機制的自適應優(yōu)化算法,可以有效搜索多參數(shù)組合問題的目標函數(shù)值(充分接近最優(yōu)值)[23]。與傳統(tǒng)算法相比,遺傳算法的優(yōu)勢在于可以使用概率、啟發(fā)式規(guī)則進行最大搜索,從而比較適合大規(guī)模問題以及多維多模態(tài)問題的求解[24]。
原始的GA 算法存在早熟收斂問題,很容易由于種群缺少多樣性個體而陷入局部最優(yōu)。為解決上述問題,本文在算法中加入一種基于TLBO 方法的新型變異算子,在解決早熟收斂問題的同時,還可以提高解的質量以及算法的收斂速度。這種算子可以讓選定的基因智能突變,以使染色體接近更好的解決方案,而不是隨機改變。因此,在每一代遺傳算法中,如果將基于適應度的最佳解決方案視為教師,則其他染色體的選定基因會因教師的相同基因而發(fā)生突變?;赥LBO 的智能變異算子運算公式如式(2)所示:
其中:Tf為教學因子,它是操作員調整以設置收斂速度的設定系數(shù),此參數(shù)的值在0~1 之間隨機選擇;DGk,j表示第k個學習者的基因j的平均值與教師當中相同基因j的值之間的差值;表示第k個學習者的基因j的更新值。
TLBO的效果基于教師影響學生知識的教學過程。學生和教師是班級的兩個主要因素,該算法解釋了通過教師(稱為教師階段)和跟隨學生之間的討論(稱學生階段)進行學習的兩種模式。該算法的總體由班級的一組學生(即學習者)組成。為學習者提供的不同主題與優(yōu)化問題的不同設計變量類似。班上最好的學生在每次迭代中成為老師,其他學生通過最好的學生的影響提高他們的體能。圖2 所示為基于教與學的變異(Teaching Learning Based Mutation,TLBM)算子的運行流程。圖3 所示為TLBGA 算法的運行流程。
圖2 TLBM 算子運行流程Fig.2 Procedure of running of TLBM operator
圖3 TLBGA 算法運行流程Fig.3 Procedure of running of TLBGA algorithm
算法具體步驟如下:
1)將需要尋優(yōu)的超參數(shù)輸入GA,生成初始種群,并評估適應度;對適應度進行排序,選取適應度最高的個體作為教師。
2)進行選擇、交叉以及基于教學的變異,在TLBM 中,通過教師引導學生以及學生與學生直接討論,兩種方式引導突變。
3)評估子代種群個體適應度,并進行排序,選取排序后的前N個個體組成新種群,剩余個體舍棄。
4)判斷是否滿足收斂標準,若不滿足,則返回第2 步;若滿足,則到第5 步。
5)輸出最優(yōu)解,得到最優(yōu)超參數(shù),結束。
為驗證TLBO 智能變異算子的有效性,本文將該算子與其他變異算子進行了比較,如經(jīng)典變異遺傳算法(Classic Mutation Genetic Algorithm,CMGA)、交換變異遺傳算法(Swap Mutation Genetic Algorithm,SMGA)、轉位變異遺傳算法(Inversion Mutation Genetic Algorithm,IMGA)和爬行變異遺傳算法(Scramble Mutation Genetic Algorithm,ScMGA)。
如表1 所示,經(jīng)過150 次迭代,SMGA、IMGA 和ScMGA 3 種算法得到的結果幾乎是相似的,而TLBGA 分別為2~5 個自變量的Sphere 函數(shù)找到了10-104、10-75、10-53和10-44大小的結果。因 此,可以很明顯地看出TLBGA 算法在尋優(yōu)后得到的解比其他算法具有更高的質量。
表1 Sphere 函數(shù)150 次迭代的最佳結果Table 1 Optimal results of 150 iterations of Sphere function
1.2.2 超參數(shù)尋優(yōu)
在機器學習中,超參數(shù)尋優(yōu)的本質其實就是對損失函數(shù)進行最優(yōu)化的過程,用算法去尋找損失曲面的全局最優(yōu)解,從而避免陷入手工尋優(yōu)中由于先驗知識導致的局部最優(yōu)解[25]。
將Sphere 函數(shù)圖假定為損失曲面圖,如圖4 所示,損失曲面中不同的路徑代表著一組組不同的超參數(shù)組合,比如當選擇不同的激活函數(shù)時,其模型每一層的輸出也會不同,從而導致尋優(yōu)路徑產(chǎn)生根本差異,尤其是在高維空間下。
圖4 損失曲面示意圖Fig.4 Schematic diagram of loss surface
本文用DNN 神經(jīng)網(wǎng)絡舉例,其輸出計算如式(3)所示:
其中:X是包含訓練點位置的向量;Z1是第1 層的輸出;σj、ωj和bj分別是與第j層相關聯(lián)的激活函數(shù)、權重和偏置向量;U是輸出向量;下標M表示第M層,即輸出層。含有兩個隱藏層的DNN 模型結構如圖5 所示。
圖5 DNN 神經(jīng)網(wǎng)絡結構Fig.5 Structure of DNN neural network
如果沒有激活函數(shù),該模型就只是線性回歸模型,無法分析復雜的輸入數(shù)據(jù)。激活函數(shù)是一個線性或非線性函數(shù),用作相鄰層之間的數(shù)學門,以便每層的輸出通過激活函數(shù)到達下一層。因此,超參數(shù)在很大程度上影響模型的收斂速度和精度。
1.2.3 基于TLBGA 優(yōu)化超參數(shù)
使用TLBGA 算法在連續(xù)優(yōu)化中尋找超參數(shù)時,必須考慮兩個先決條件:1)確定染色體;2)用于評估生成的解決方案的適應度函數(shù)[26]。在這種情況下,使用二進制數(shù)組對基因片段進行編碼。圖6 所示為基因片段圖解。
圖6 基因片段圖解Fig.6 Gene fragment diagram
第1位到第5位表示隱藏層中神經(jīng)元個數(shù),第6位到第9 位表示批樣本數(shù)量,剩下的位用來表示學習率。將交叉熵的倒數(shù)作為適應度函數(shù),以實現(xiàn)目標最大化,如式(4)、式(5)所示:
其中:為實際的概率分布值;gi為預測概率分布值。
針對本文中的GRU 神經(jīng)網(wǎng)絡模型,選擇了對模型性能影響較大的3 種超參數(shù)進行尋優(yōu),分別是隱藏層神經(jīng)元個數(shù)、批樣本數(shù)量以及學習率。如其中的批樣本大小,當它過小時,代表輸入網(wǎng)絡的數(shù)據(jù)樣本數(shù)過小,從而不具代表性,導致網(wǎng)絡難以收斂;當它過大時,又會使梯度方向過于明確,容易陷入局部最優(yōu)解,降低精度。表2 所示為本文GRU 網(wǎng)絡超參數(shù)的選擇范圍。
表2 GRU 網(wǎng)絡超參數(shù)選擇范圍Table 2 GRU network hyperparameter selection range
本文采用TLBGA 算法對GRU 神經(jīng)網(wǎng)絡進行優(yōu)化,將GRU 神經(jīng)網(wǎng)絡的隱含層神經(jīng)元個數(shù)、批樣本數(shù)量及學習率看作待優(yōu)化值,以輸出誤差作為目標函數(shù),利用迭代取得最優(yōu)解。具體步驟如下:
1)特征工程階段。對歷史數(shù)據(jù)進行預處理,選取輸入特征,利用灰度關聯(lián)法對原始數(shù)據(jù)進行關聯(lián)度分析,剔除冗余特征,保留關聯(lián)度高于均值的特征并組成新的特征集。
2)問題與超參數(shù)確認階段。將需要尋優(yōu)的部分輸入TLBGA 算法。首先對隱含層神經(jīng)元個數(shù)、批樣本數(shù)量及學習率進行編碼,再利用TLBGA 算法對其進行迭代尋優(yōu),若滿足停止條件,就將其輸回GRU 模型中,進行超參數(shù)更新。
3)預測階段。將數(shù)據(jù)分為訓練集與測試集,利用訓練集對TLBGA-GRU 模型進行訓練,優(yōu)化并更新網(wǎng)絡模型參數(shù),使其在對測試集進行預測時擁有更好的效果,最后將篩選后的輸入數(shù)據(jù)輸入到訓練好的模型中進行預測,從而得到預測結果。
4)評價階段。通過RMSE、MAPE 和R23 種指標來判斷預測結果精度的高低,再經(jīng)過對比研究得到模型的優(yōu)劣。
電力負荷預測中的影響因素較多,例如天氣類型、風力、節(jié)假日以及溫度等。由于影響因素中存在許多相似或冗余的部分,這些多余的部分浪費大量算力,會使模型的預測精度下降。為了解決這一問題,本文采用灰色關聯(lián)度分析法對原始因素進行關聯(lián)度分析,得到各因素之間關聯(lián)度的大小后再進行篩選。計算公式如式(6)、式(7)所示:
其中:y0表示歷史負荷序列;yi表示第i類其他特征序列:表示均值化后的第i其他特征序列;ri表示第i類其他特征與歷史負荷的關聯(lián)度,i∈[1,m],k∈[1,n];m為其他特征個數(shù);n為各特征序列的維度;ρ為分辨系數(shù),通常取0.5。
為了精確地研究TLBGA-GRU 模型的優(yōu)勢,采用平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)、均方根 誤差(Rooted Mean Squared Error,RMSE)和決定系數(shù)(R2)作為評價標準,表達式分別如式(8)、式(9)、式(10)所示:
其中:n表示預測樣本采樣點總個數(shù);yi為第i個采樣點的實際負荷值;為第i個采樣點的預測負荷值。MAPE 與RMSE 的取值范圍在[0,+∞)之間,當預測負荷值趨近于實際負荷值時,MAPE 與RMSE 也越趨近于0。因此,當所得預測結果的MAPE 及RMSE越小時,則說明文中模型的預測效果越好。另外,R2越接近1,表示模型的擬合度越好。
在模型的訓練過程中,本文將TLBGA 算法的訓練種群大小T設為20,迭代次數(shù)為100,Ps為0.1,Pc為0.3,Pm為15,選用交叉熵的倒數(shù)作為適應度函數(shù),GRU 網(wǎng)絡的層數(shù)d設為3,將Droput 設為0.4 可防止網(wǎng)絡過擬合。
利用式(4)對所有原始數(shù)據(jù)進行均值化處理,然后再用式(5)計算歷史其他特征因素與最大負荷數(shù)據(jù)的關聯(lián)度。表3 所示為計算的關聯(lián)度結果。
表3 輸入特征關聯(lián)度分析Table 3 Correlation degree analysis of input features
由表3 可知:關聯(lián)度平均值為0.880 971,本文選取關聯(lián)度高于平均值的特征組成新的特征集,具體分別為天氣類型、節(jié)假日類型、風力。最后,將新的特征矩陣輸入到神經(jīng)網(wǎng)絡模型中進行預測,從而得到更精確的預測結果。
直接將篩選過后的歷史負荷數(shù)據(jù)、天氣類型、節(jié)假日類型及風力等特征同時作為GRU 神經(jīng)網(wǎng)絡的輸入,會導致輸入數(shù)據(jù)的量綱無法統(tǒng)一,不利于模型參數(shù)的優(yōu)化。為了解決此類問題,可以通過離差標準化將原始數(shù)據(jù)轉化為落在[0,1]之間的數(shù)據(jù),將數(shù)據(jù)量綱歸一化,以便實現(xiàn)損失函數(shù)較快收斂,其表達式如式(11)所示:
其中:X為歸一化后得到的輸入數(shù)據(jù);x為原始輸入數(shù)據(jù)。
為驗證所提負荷預測模型的精確性,本文采用歐洲某地區(qū)2017年7月6日—2018年7月6日共365日的電力負荷數(shù)據(jù),每小時采樣一次,其中每天共有24條數(shù)據(jù),總共8 760條數(shù)據(jù)。本文將此負荷數(shù)據(jù)劃分為兩個數(shù)據(jù)集,訓練集為前358天,測試集為最后7天,對測試集的日負荷進行預測。為了評估所提方法的有效性,本文對模型進行了訓練,并與BP、RNN以及GRU等模型進行比較。各模型誤差定量評價結果如表4和表5所示。
表4 TLBGA-GRU 模型誤差定量評價結果Table 4 TLBGA-GRU model error quantitative evaluation results
表5 不同模型誤差定量評價結果Table 5 Results of quantitative error evaluation of different models
由表4 可知:TLBGA-GRU 的R2平均值為0.971,RMSE 平均值為519.62 kW,MAPE 平均值為2.05%。由表5 可知:對其他模型預測性能的分析表明,GRU 在評分性能指標方面的預測效果最好。GRU 模型的R2平均值為81.2%,高于BP 模型和RNN 模型的平均值。報告的結果包括BP、RNN 和GRU 的均方根誤差(RMSE),分別為1 621.73 kW、738.36 kW、893.27 kW。綜上所述,相較于其他模型,所提方法在RMSE和MAPE指標上都有明顯下降,表明在預測過程中整體預測精度和模型性能都有較大的提升。
圖7所示為2018年7月5日15:00—7月6日15:00共24 個小時的各模型短期負荷預測曲線對比。由圖7 可以看出:TLBGA-GRU 預測模型預測精度更高,擬合效果也更好。在負荷變化的波谷處,BP、RNN 方法不能準確分析負荷波動規(guī)律,會導致精度嚴重下降,而GRU雖然波動較小,但是整體預測曲線偏右,擬合效果較差。相比之下,本文中TLBGA-GRU 模型能更準確地捕捉負荷波動規(guī)律,使預測值更貼近真實值,提高預測精度。
圖7 不同模型預測結果對比Fig.7 Comparison of prediction results of different models
本文選取美國PJM 電力市場提供的某地區(qū)的公開數(shù)據(jù)集進行負荷預測的訓練與測試,驗證本文所提出模型的有效性。本文數(shù)據(jù)集包含了該地區(qū)2014 年3 月31 日—2014 年4 月30 日接近1 個月的負荷數(shù)據(jù),每15 分鐘采樣一次,其中每天共96 條數(shù)據(jù),總共2 880 條數(shù)據(jù)。本文將前29 天作為測試集,剩下的1 天作為測試集進行負荷預測。
表6 所示為測試集中日負荷不同模型精度對比。由表6 中可知:本文提出TLBGA-GRU 模型的R2的大小與其他模型相比最大,達到97.2%,而TLBGA-GRU 模型的RMSE 與MAPE 相對于其他3 種模型在不同程度上也都有所降低,其中MAPE 分別降低了4.92%、1.27%、0.74%。
表6 不同模型精度對比Table 6 Comparison of accuracy of different models
圖8所示為測試集中某天的日負荷預測結果對比。由圖8 可知:本文提出的TLBGA-GRU 模型能夠比較準確地判斷真實負荷的走勢,與真實負荷曲線相比有更好的擬合度,因此具有更高的預測精度。
圖8 日負荷預測結果對比Fig.8 Comparison of daily load prediction results
本文提出一種基于TLBGA-GRU 模型的短期電力負荷預測方法。通過TLBO 方法解決GA 算法的早熟收斂問題,得到混合后的具有更好尋優(yōu)能力的TLBGA 算法,并利用其對神經(jīng)網(wǎng)絡中超參數(shù)進行尋優(yōu),更新優(yōu)化神經(jīng)網(wǎng)絡模型,克服手動尋優(yōu)需要借助先驗知識的缺陷,從而提高模型的整體預測精度。實驗結果表明,該方法與BP 神經(jīng)網(wǎng)絡、RNN 神經(jīng)網(wǎng)絡、GRU 神經(jīng)網(wǎng)絡相比具有更高的精度。由于本文模型在負荷預測中對最終結果產(chǎn)生影響的因素種類較多,因此下一步將對數(shù)據(jù)的特征工程進行改進,提取輸入特征,以提高預測模型的普適性及精度。