吳鐵洲,鄒 智,姜 奔,張曉星
(1.湖北工業大學電氣與電子工程學院,武漢 430063;2.湖北工業大學太陽能高效利用及儲能運行控制湖北省重點實驗室,武漢 430063)
在當前新能源滲透率越來越高的新型電力系統中,負荷預測是確保其平穩高效運行的重要保證[1]。負荷預測方法按照預測的時間范圍來劃分[2],長期與中期預測通常是從幾個月到幾年,短期預測的預測范圍則是從幾小時到幾周[3]。HERNANDEZ 等[4]在對實際案例進行研究后發現,對于電網來講,短期負荷預測具有獨特的使用價值。短期負荷預測結果經常被用來協助制定一周內電力系統的機組啟停、機組最優組合、經濟調度、最優潮流及影響電力市場交易等。預測精度越高,越有利于提高發電設備的利用率、經濟調度的有效性和日常多個時間范圍內電力運行的可服務性[5]。
HOSSEN 等[6]將深度神經網絡(Deep Neural Network,DNN)應用到短期負荷預測中,相較于淺層人工神經網絡,DNN 雖在預測精度上有所提升,但仍需人工提取時序特征。長短期記憶(Long Short-Term Memory,LSTM)網絡是一種專門處理時間序列數據的循環神經網絡(Recurrent Neural Network,RNN),它解決了RNN 的梯度消失和爆炸以及長期記憶不足的問題[7]。而門控循環單元(GRU)是在LSTM 的基礎上進行改進優化的神經網絡[8]。與LSTM 相比,GRU 在具有同等準確率的情況下,擁有更低的復雜度及更快的收斂速度來捕獲不同時間步長的長短期依賴性關系[9]。
此外,在深度學習領域中,不同類型神經網絡的準確性和收斂性很大程度上依賴于超參數(如隱藏層的數量和每層神經元的個數)[10]。而超參數的設置在先前都是手工調試的,需不斷進行調整試錯,在調整試錯過程中比較依賴其調參的先驗知識,容易陷入局部最優解,很難獲得合適的超參數。文獻[11]分析認為,目前主要有3 種方法尋找最佳超參數。網格搜索(Grid Search,GS)通過引入最小代價函數或最高適應度函數的組合獲得超參數的最佳集合[12]。然而,GS 在運行時需要運用大量的算力才能獲得最佳的網絡架構。而隨后提出的隨機搜索(Random Search,RS)方法雖然可以避免運算量大的缺點,但其無法保證得到全局最優超參數[13]。另外,RS 在超參數域中進行的是盲目搜索,但這種方式效率較低,難以求解復雜問題。為了解決該問題,研究人員提出采用遺傳算法等元啟發式算法搜索超參數。因為GA 在運行過程中,首先保存了每個步驟中具有最佳結果的超參數組合,然后通過上一步的超參數來生成下一步中的新超參數集。可以看出,其搜索過程不是盲目的,找到最優結果的可能性比RS更高。文獻[14]對GS、RS 和GA 的精度和計算時間進行了比較研究,在CIFAR-10 分類數據集上的結果顯示,GA 算法明顯優于提到的其他算法。
GA 算法在運行早期容易產生超級個體,出現早熟收斂現象,從而導致算法過早地收斂于局部最優,而非全局最優[15]。在過去的幾年中,研究人員一直致力于改進GA 算法的性能,以提高該算法在處理不同優化問題時的有效性。研究人員已經證明了GA算法的效率直接取決于算子和策略參數的選擇[16]。關于變異算子,大多數研究都試圖確定最佳的變異種類或變異率。然而,更常見方法是動態調整變異,而不是固定變異率統一應用于整個種群[17]。BEHROOZI 等[18]提出一種基于教與學優化(Teaching Learning Based Optimization,TLBO)的新型變異算子,在解決早熟收斂問題的同時,還提高了GA 算法的性能。該方法采用一種高智能的變異算子,選定的基因將智能地突變,以使染色體接近更好的解決方案,而不是隨機變異。因此,為解決GA 算法的早熟收斂問題,可以從變異算子入手,通過改變變異為種群補充新的個體,增加種群的多樣性,使算法跳出局部最優。
本文提出一種基于TLBGA-GRU 神經網絡的短期負荷預測方法。采用灰色關聯分析法對原始數據進行分析,剔除冗余特征,將剩余的主要特征保留并輸入到GRU 神經網絡中。隨后通過TLBGA 算法對GRU 神經網絡進行超參數調優,在得到預測精度更高、性能更好的模型后,再將篩選的數據輸入到該模型,從而輸出負荷預測的結果。
經研究發現,由于RNN 網絡中存在循環單元結構,允許輸入特征持續存在,這也就使得RNN 具有一定短期記憶能力,因此RNN 網絡在處理時間序列數據方面具有一定的優勢。然而,RNN 還是存在階梯消失問題,因此隨著時間間隔的增加,RNN 會逐漸失去學習舊信息的能力。
LSTM 是一種特殊的循環神經網絡,其很好地解決了RNN 中梯度消失的問題。但是,在后續的研究中發現,LSTM 由于其內部參數與數據較多,比較復雜,會降低其訓練效果[19]。為了更好地解決這個問題,研究人員提出了GRU 神經網絡,其內部采用門控循環神經網絡結構,相比于LSTM,訓練參數較少,收斂速度更快[20]。圖1 所示為GRU 神經元內部結構,計算公式如式(1)所示。

圖1 GRU 神經元內部結構Fig.1 Internal structure of GRU neuron

在圖1 與式(1)中:Rt表示重置門;Zt則表示更新門;Xt與Qt分別表示t時刻的輸入與輸出向量;Ht和表 示t時刻的隱藏狀態與候選隱藏狀態[21];Wxz、Wxr、Whr、Whz、Wxh、Whh、Whq是權重參數;br、bz、bh、bq是偏差參數;⊙表示矩陣的數乘;1-表示該鏈路向前傳播的數據為1-Zt;σ表示的sigmoid 函數可以將元素的值映射到[0,1]范圍內,因此重置門Rt和更新門Zt中每個元素的值域都是[0,1][22]。
1.2.1 TLBGA 算法
自動尋找最優超參數的方法較多,如粒子群優化算法、蟻群算法、模擬退火算法以及遺傳算法。與遺傳算法相比,其他算法受初始值的影響較大,只能找到問題的局部最優解。遺傳算法是一種基于遺傳和變異的模擬生物進化機制的自適應優化算法,可以有效搜索多參數組合問題的目標函數值(充分接近最優值)[23]。與傳統算法相比,遺傳算法的優勢在于可以使用概率、啟發式規則進行最大搜索,從而比較適合大規模問題以及多維多模態問題的求解[24]。
原始的GA 算法存在早熟收斂問題,很容易由于種群缺少多樣性個體而陷入局部最優。為解決上述問題,本文在算法中加入一種基于TLBO 方法的新型變異算子,在解決早熟收斂問題的同時,還可以提高解的質量以及算法的收斂速度。這種算子可以讓選定的基因智能突變,以使染色體接近更好的解決方案,而不是隨機改變。因此,在每一代遺傳算法中,如果將基于適應度的最佳解決方案視為教師,則其他染色體的選定基因會因教師的相同基因而發生突變。基于TLBO 的智能變異算子運算公式如式(2)所示:

其中:Tf為教學因子,它是操作員調整以設置收斂速度的設定系數,此參數的值在0~1 之間隨機選擇;DGk,j表示第k個學習者的基因j的平均值與教師當中相同基因j的值之間的差值;表示第k個學習者的基因j的更新值。
TLBO的效果基于教師影響學生知識的教學過程。學生和教師是班級的兩個主要因素,該算法解釋了通過教師(稱為教師階段)和跟隨學生之間的討論(稱學生階段)進行學習的兩種模式。該算法的總體由班級的一組學生(即學習者)組成。為學習者提供的不同主題與優化問題的不同設計變量類似。班上最好的學生在每次迭代中成為老師,其他學生通過最好的學生的影響提高他們的體能。圖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)將需要尋優的超參數輸入GA,生成初始種群,并評估適應度;對適應度進行排序,選取適應度最高的個體作為教師。
2)進行選擇、交叉以及基于教學的變異,在TLBM 中,通過教師引導學生以及學生與學生直接討論,兩種方式引導突變。
3)評估子代種群個體適應度,并進行排序,選取排序后的前N個個體組成新種群,剩余個體舍棄。
4)判斷是否滿足收斂標準,若不滿足,則返回第2 步;若滿足,則到第5 步。
5)輸出最優解,得到最優超參數,結束。
為驗證TLBO 智能變異算子的有效性,本文將該算子與其他變異算子進行了比較,如經典變異遺傳算法(Classic Mutation Genetic Algorithm,CMGA)、交換變異遺傳算法(Swap Mutation Genetic Algorithm,SMGA)、轉位變異遺傳算法(Inversion Mutation Genetic Algorithm,IMGA)和爬行變異遺傳算法(Scramble Mutation Genetic Algorithm,ScMGA)。
如表1 所示,經過150 次迭代,SMGA、IMGA 和ScMGA 3 種算法得到的結果幾乎是相似的,而TLBGA 分別為2~5 個自變量的Sphere 函數找到了10-104、10-75、10-53和10-44大小的結果。因 此,可以很明顯地看出TLBGA 算法在尋優后得到的解比其他算法具有更高的質量。

表1 Sphere 函數150 次迭代的最佳結果Table 1 Optimal results of 150 iterations of Sphere function
1.2.2 超參數尋優
在機器學習中,超參數尋優的本質其實就是對損失函數進行最優化的過程,用算法去尋找損失曲面的全局最優解,從而避免陷入手工尋優中由于先驗知識導致的局部最優解[25]。
將Sphere 函數圖假定為損失曲面圖,如圖4 所示,損失曲面中不同的路徑代表著一組組不同的超參數組合,比如當選擇不同的激活函數時,其模型每一層的輸出也會不同,從而導致尋優路徑產生根本差異,尤其是在高維空間下。

圖4 損失曲面示意圖Fig.4 Schematic diagram of loss surface
本文用DNN 神經網絡舉例,其輸出計算如式(3)所示:

其中:X是包含訓練點位置的向量;Z1是第1 層的輸出;σj、ωj和bj分別是與第j層相關聯的激活函數、權重和偏置向量;U是輸出向量;下標M表示第M層,即輸出層。含有兩個隱藏層的DNN 模型結構如圖5 所示。

圖5 DNN 神經網絡結構Fig.5 Structure of DNN neural network
如果沒有激活函數,該模型就只是線性回歸模型,無法分析復雜的輸入數據。激活函數是一個線性或非線性函數,用作相鄰層之間的數學門,以便每層的輸出通過激活函數到達下一層。因此,超參數在很大程度上影響模型的收斂速度和精度。
1.2.3 基于TLBGA 優化超參數
使用TLBGA 算法在連續優化中尋找超參數時,必須考慮兩個先決條件:1)確定染色體;2)用于評估生成的解決方案的適應度函數[26]。在這種情況下,使用二進制數組對基因片段進行編碼。圖6 所示為基因片段圖解。

圖6 基因片段圖解Fig.6 Gene fragment diagram
第1位到第5位表示隱藏層中神經元個數,第6位到第9 位表示批樣本數量,剩下的位用來表示學習率。將交叉熵的倒數作為適應度函數,以實現目標最大化,如式(4)、式(5)所示:

其中:為實際的概率分布值;gi為預測概率分布值。
針對本文中的GRU 神經網絡模型,選擇了對模型性能影響較大的3 種超參數進行尋優,分別是隱藏層神經元個數、批樣本數量以及學習率。如其中的批樣本大小,當它過小時,代表輸入網絡的數據樣本數過小,從而不具代表性,導致網絡難以收斂;當它過大時,又會使梯度方向過于明確,容易陷入局部最優解,降低精度。表2 所示為本文GRU 網絡超參數的選擇范圍。

表2 GRU 網絡超參數選擇范圍Table 2 GRU network hyperparameter selection range
本文采用TLBGA 算法對GRU 神經網絡進行優化,將GRU 神經網絡的隱含層神經元個數、批樣本數量及學習率看作待優化值,以輸出誤差作為目標函數,利用迭代取得最優解。具體步驟如下:
1)特征工程階段。對歷史數據進行預處理,選取輸入特征,利用灰度關聯法對原始數據進行關聯度分析,剔除冗余特征,保留關聯度高于均值的特征并組成新的特征集。
2)問題與超參數確認階段。將需要尋優的部分輸入TLBGA 算法。首先對隱含層神經元個數、批樣本數量及學習率進行編碼,再利用TLBGA 算法對其進行迭代尋優,若滿足停止條件,就將其輸回GRU 模型中,進行超參數更新。
3)預測階段。將數據分為訓練集與測試集,利用訓練集對TLBGA-GRU 模型進行訓練,優化并更新網絡模型參數,使其在對測試集進行預測時擁有更好的效果,最后將篩選后的輸入數據輸入到訓練好的模型中進行預測,從而得到預測結果。
4)評價階段。通過RMSE、MAPE 和R23 種指標來判斷預測結果精度的高低,再經過對比研究得到模型的優劣。
電力負荷預測中的影響因素較多,例如天氣類型、風力、節假日以及溫度等。由于影響因素中存在許多相似或冗余的部分,這些多余的部分浪費大量算力,會使模型的預測精度下降。為了解決這一問題,本文采用灰色關聯度分析法對原始因素進行關聯度分析,得到各因素之間關聯度的大小后再進行篩選。計算公式如式(6)、式(7)所示:

其中:y0表示歷史負荷序列;yi表示第i類其他特征序列:表示均值化后的第i其他特征序列;ri表示第i類其他特征與歷史負荷的關聯度,i∈[1,m],k∈[1,n];m為其他特征個數;n為各特征序列的維度;ρ為分辨系數,通常取0.5。
為了精確地研究TLBGA-GRU 模型的優勢,采用平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)、均方根 誤差(Rooted Mean Squared Error,RMSE)和決定系數(R2)作為評價標準,表達式分別如式(8)、式(9)、式(10)所示:

其中:n表示預測樣本采樣點總個數;yi為第i個采樣點的實際負荷值;為第i個采樣點的預測負荷值。MAPE 與RMSE 的取值范圍在[0,+∞)之間,當預測負荷值趨近于實際負荷值時,MAPE 與RMSE 也越趨近于0。因此,當所得預測結果的MAPE 及RMSE越小時,則說明文中模型的預測效果越好。另外,R2越接近1,表示模型的擬合度越好。
在模型的訓練過程中,本文將TLBGA 算法的訓練種群大小T設為20,迭代次數為100,Ps為0.1,Pc為0.3,Pm為15,選用交叉熵的倒數作為適應度函數,GRU 網絡的層數d設為3,將Droput 設為0.4 可防止網絡過擬合。
利用式(4)對所有原始數據進行均值化處理,然后再用式(5)計算歷史其他特征因素與最大負荷數據的關聯度。表3 所示為計算的關聯度結果。

表3 輸入特征關聯度分析Table 3 Correlation degree analysis of input features
由表3 可知:關聯度平均值為0.880 971,本文選取關聯度高于平均值的特征組成新的特征集,具體分別為天氣類型、節假日類型、風力。最后,將新的特征矩陣輸入到神經網絡模型中進行預測,從而得到更精確的預測結果。
直接將篩選過后的歷史負荷數據、天氣類型、節假日類型及風力等特征同時作為GRU 神經網絡的輸入,會導致輸入數據的量綱無法統一,不利于模型參數的優化。為了解決此類問題,可以通過離差標準化將原始數據轉化為落在[0,1]之間的數據,將數據量綱歸一化,以便實現損失函數較快收斂,其表達式如式(11)所示:

其中:X為歸一化后得到的輸入數據;x為原始輸入數據。
為驗證所提負荷預測模型的精確性,本文采用歐洲某地區2017年7月6日—2018年7月6日共365日的電力負荷數據,每小時采樣一次,其中每天共有24條數據,總共8 760條數據。本文將此負荷數據劃分為兩個數據集,訓練集為前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 方法不能準確分析負荷波動規律,會導致精度嚴重下降,而GRU雖然波動較小,但是整體預測曲線偏右,擬合效果較差。相比之下,本文中TLBGA-GRU 模型能更準確地捕捉負荷波動規律,使預測值更貼近真實值,提高預測精度。

圖7 不同模型預測結果對比Fig.7 Comparison of prediction results of different models
本文選取美國PJM 電力市場提供的某地區的公開數據集進行負荷預測的訓練與測試,驗證本文所提出模型的有效性。本文數據集包含了該地區2014 年3 月31 日—2014 年4 月30 日接近1 個月的負荷數據,每15 分鐘采樣一次,其中每天共96 條數據,總共2 880 條數據。本文將前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 算法的早熟收斂問題,得到混合后的具有更好尋優能力的TLBGA 算法,并利用其對神經網絡中超參數進行尋優,更新優化神經網絡模型,克服手動尋優需要借助先驗知識的缺陷,從而提高模型的整體預測精度。實驗結果表明,該方法與BP 神經網絡、RNN 神經網絡、GRU 神經網絡相比具有更高的精度。由于本文模型在負荷預測中對最終結果產生影響的因素種類較多,因此下一步將對數據的特征工程進行改進,提取輸入特征,以提高預測模型的普適性及精度。