關蕾
(西安職業技術學院, 建筑與軌道交通學院, 陜西, 西安 710000)
電力負荷預測在保證電力系統規劃與可靠、經濟運行等方面十分重要。輸電公司根據負荷預測結果可以合理地安排系統運行方式和制定發電計劃,以維持電網的安全、穩定和經濟運行[1-2]。電力負荷預測在綜合考慮地區生活水平以及電網運行特性等條件的基礎上,通過研究得到一個有效分析歷史負荷數據從而預測出未來某個時間段內電力負荷情況[3-4]。陳銳彬等證明了BP神經網絡算法比傳統的數理統計預測更實用。深度學習能夠使得對一個網絡的訓練取得更高的準確率,更精準地對時間序列數據進行預測,現已成為預測領域內的新課題[5-7]。
為了更好地預測用電負荷,本文提出了一種基于改進深度信念網絡(Deep Belief Network, DBN)的預測模型方法。首先對樣本集進行預處理,利用歸一化操作消除不同量綱間的影響,從而為模型提供更加可靠的數據。其次,利用遺傳算法(Genetic Algorithm, GA)選取DBN模型的初始權重,從而避免了隨機初始權重時造成模型參數對訓練精度的影響[8-11]。再次,利用數據集對改進的DBN模型訓練,得到用電負荷預測模型。最后,通過預測得到的負荷值來彌補未來時間序列中負荷值的缺失。仿真對比試驗驗證了提出的改進DBN模型的精確性。
深度學習的領軍人物Hinton于2006年提出了深度信念網絡的方法,與傳統BP神經網絡算法不同的是,深度信念網絡方法含有更多的隱藏層,每一層都表示數據的一種特征,把低層次的特征組合后可以抽取出更高層次的特征。深度信念網絡由多層受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)疊加而成,即RBM是構建DBN的基本組成單元。
受限玻爾茲曼機是一種僅由兩層的神經元結點構成的網絡模型,是一種概率模型。RBM由可見層和隱藏層構成。RBM中任意2個相連接的神經元之間都有一個權重w表示其連接強度,且每個神經元自身也有一個偏置系數a和b來表示其自身的權重,則RBM還存在能量值。圖1中,wij為層間的權重,ai為可見層偏置量,bj為隱藏層偏置量,θ=w,a,b為一個RBM的參數。RBM的網絡訓練過程就是不斷調整參數θ的過程,使樣本數據在參數θ下的概率達到最大。
DBN是一個由若干個RBM構成的模型。在訓練過程中,首先對第一個RBM進行訓練,用CD-1算法計算出第一個RBM的權重和偏移量,再令隱藏層神經元的計算輸出作為第二層RBM可見層的輸入數據來訓練第二個RBM。將2個RBM相連接。重復以上步驟多次,則構成了一個深度信念網絡的模型,這是一個典型的無監督訓練的過程。深度信念網絡模型如圖1所示。

圖1 深度信念網絡模型
首先通過樣本數據進入訓練一個單層網絡,計算單層網絡的每一個神經元,再計算下一層,直到計算出每一層的神經元。方向向上的權重學習用作“認知”,方向向下的權重學習用作“生成”,再使用Wake-Sleep算法,微調整個網絡所有權重。Wake-Sleep算法的原則是讓訓練網絡的每一次“認知”權重學習都與每一次的“生成”權重學習保持一致,以此保證最高的準確率。
遺傳算法是一種通過模擬自然進化過程搜索最優解的方法。首先,隨機初始化種群,將適應度值或迭代次數作為終止條件。遺傳算法需要對所有的解進行編碼,然后通過判斷是否達到終止條件,若未達到終止條件,就開始交叉、變異、感染,然后再次進行判斷是否達到終止條件,依次循環,直到達到終止條件。事實上,每一循環都淘汰掉性能不優的個體,這樣就意味著向更優解進化。遺傳算法流程圖如圖2所示。

圖2 遺傳算法流程圖
負荷預測模型從歷史負荷數據中產生對未來一段時間的預測值,選擇正確的預測模型對于預測效果影響較大。無論想要對哪種類型的電力負荷進行預測,也無論采用哪種方式對電力負荷進行預測,科學的負荷預測都必須綜合各方面因素來制定出正確合理的預測步驟。
為了解決傳統的人工神經網絡存在容易陷入局部極小值、訓練速度慢、需要信號指導網絡訓練等缺點,并且為了能夠使海量的數據信息得到充分的利用,使網絡能夠更加準確的進行負荷預測,本文提出了一種基于改進DBN的用電負荷預測模型方法,如圖3所示。

圖3 基于改進DBN的用電負荷預測模型方法
本文的數據來自2017年1月至3月的澳大利亞新南威爾士州用電量,數據每30分鐘采集一次。對于模型輸入特征的參數來說,如果特征數較少,模型不能夠很好地捕捉數據中隱藏的基本特征,從而使模型預測的精度有較大的降低。相對來說,如果輸入的特征數過多,但是由于數據量較少,從而導致模型會過度依賴于樣本集,從而使模型的泛化性能降低。所以,為了使本文的用電負荷預測模型能夠有較好的精度,從而將輸入的特征量確定為96,并利用移動的窗口量進行連續預測時間序列值。樣本集的建立過程如表1所示。

表1 樣本集的建立過程
通過數據預處理進行數據的清洗,為模型提供更加可靠的輸入數據,從而能夠獲得更為準確的用電負荷預測模型。由于神經網絡的輸出層激活函數的值域被限制在[0,1]區間內,故將樣本數據也要歸一化到[0,1]區間,如式(1):
(1)
其中,xmax表示樣本數據中的最大值,xmin表示樣本數據中的最小值。
將遺傳算法和吉布斯采樣相結合,對DBN進行預訓練獲得初始參數。DBN的預訓練是通過無監督學習算法來實現,即最底層RBM通過吉布斯—遺傳算法學習得到其權值矩陣W1,然后通過p(h1|v)得出隱含層h1,低層的輸出作為高層的輸入,重復利用該算法逐層訓練RBM,得到所有的網絡權值。Gibbs采樣算法雖然可以用來訓練RBM,但當特征較大時,訓練效率較低。經過反復演算驗證,對比散度算法(Contrastive Divergence,CD-k)與Gibbs采樣不同的是,當訓練樣本數據初始化為v0時,僅需要使用k步(通常k=1)Gibbs采樣就可得到比較好的近似效果。此后對比散度算法被廣泛應用到RBM的計算中。因此,可以獲得DBN網絡的整體訓練過程。
利用遺傳算法獲得DBN的參數,算法的主要步驟如下。
Step 1:初始化種群。將RBM的權值按照實數編碼方式進行編碼。
Step 2: 構造適應度函數如式(2),
(2)
Step 3:選擇操作,將優良個體i從中群眾選出遺傳到下一代的概率定義為式(3),
(3)
其中,c為種群總數目;Fi為個體i的適應度值。
Step 4:交叉操作,將配對個體通過交叉產生新個體遺傳到下一代,其操作為式(4),

(4)
其中,gk1j和gk2j分別為k1和k2個體在第j位的基因;r為[0,1]的隨機數。
Step 5:變異操作,將個體的某些基因以變異概率發生變異,其操作方法為式(5),

(5)
其中,gmax和gmin為基因gij的上、下界;r1和r2為隨機數,s為當前迭代次數,smax為最大進化次數。
Step 6:計算適應度函數值,若滿足結束條件,則根據為式(6),
Δa=a+α(vj-vj+1)
(6)
Δb=b+α(p(hi=1|vj)-p(hi+1=1|vj+1))
通過式(6)來修正RBM的權值和偏置系數,若不滿足則返回Step 3。
Step 7:從可見層開始對DBN逐層進行預訓練,直到全部預訓練完成。
本文的數據來自2017年1—3月的澳大利亞新南威爾士州用電量[15],數據每30分鐘進行一次采集,即一天24小時內獲得48個負荷樣本數據。在獲得數據樣本集后,根據前96個樣本數據來預測第97個樣本數據,以此來解決電力負荷預測問題。本文選取了1392個樣本,其中第1297至第1392個樣本作為測試集,其余樣本作為測試集。
搭建DBN網絡模型來預測短期電力負荷數據之前,首先要明確影響到模型效果的相關因素,確定好網絡層數以及網絡節點的個數。
Step 1: 網絡層數的構建。
從原理上來說,隱藏層數越大,神經網絡的處理能力越強。然而,隱藏層數過大會使得訓練時間長,容易陷入局部極小值,發生梯度彌散現象。

Step 2:RBM節點數的確定。
利用DBN深度信念網絡對電力負荷數據進行預測,前文已經提到輸入神經元個數為96個,即用前96個數據預測第97個數據。
Step 3:模型微調。
為了更加清晰明了地顯示出DBN網絡的訓練效果和預測效果,首先分別畫出RBM的重構誤差曲線,再用共軛梯度的方法對參數進行調優之后分別畫了訓練數據的預測誤差曲線和測試數據的預測誤差曲線。最后再分別對訓練樣本和測試樣本畫了預測值和真實值的對比曲線。
為了對基于改進DBN的用電負荷預測模型進行對比,并能夠反映出深層網絡對特征信息的利用程度,首先進行基于BP網絡的用電負荷模型的仿真分析,然后再對改進DBN模型進行仿真分析,從而通過對比分析來獲得最優模型性能。
3.3.1 基于BP網絡的用電負荷模型仿真
從原理上來說,隱藏層數越大,神經網絡的處理能力越強,然而,前文提到,隱藏層數過大會使得訓練時間長,容易陷入局部極小值,發生梯度彌散現象。本文的BP網絡采用3層網絡。
隨著BP神經網絡的不斷完善,研究人員已經計算出比較合適的隱藏節點數經驗式如式(7):
(7)
其中,h為隱藏節點數,m為輸入層節點數,n為輸出層節點數,a是[1,10]之間的常數。
本文中,輸入層節點數取96,輸出層節點數取1,a取5,隱藏層節點數為15。由于本次研究中的負荷數據為時間序列,故在進行網絡訓練之前需要將時間序列轉換為樣本集。本次研究中激勵函數選擇sigmoid函數。對于BP網絡,選擇不同數目的訓練樣本有不同的結果,結果如表2所示。

表2 不同訓練樣本下的訓練結果
從表2中可以看出,訓練樣本數的多少對訓練效果有一定的影響。以300個訓練樣本數為例對BP神經網絡訓練效果的分析,迭代10 000次后,總訓練時間為21秒,梯度也滿足精度要求。網絡訓練完成后,用訓練好的網絡對測試樣本進行預測,得到圖4(a),可以看出,實際值和預測值有一定誤差,在用電量上升階段誤差尤為明顯,可見BP網絡有待改善。測試集的相對誤差如圖4(b)所示。

(a)
對1000個測試樣本進行預測的相對誤差在[-0.35,0.68]之間,表明網絡能夠對電力負荷進行預測,但是效果不是很好。對比訓練樣本和測試樣本的兩組曲線,可知該BP神經網絡的泛化能力還有待改善。
3.3.2 基于改進DBN的用電負荷模型的仿真
訓練DBN時有許多預置參數對模型性能有很大的影響,在前面進行訓練、測試的時候都是將他們隨機置一個值。通過GA對它進行優化,將誤差作為適應度函數,尋找使誤差最小的初始參數。最終可以得到權重的學習速率為0.0635,可視節點的偏置學習速率為0.6862,隱含節點的偏置學習速率為0.2366,將其用于模型訓練中。在本節中,采用96-100-50-25-1的結構建立DBN數學模型,需要4層RBM受限玻爾茲曼機,對每一個RBM進行迭代訓練,得到每一層RBM的重構誤差,如圖5所示。

圖5 各層RBM的重構誤差
由圖5可知,隨著迭代次數的增加,每一層RBM的重構誤差都在減小。迭代了50次后,每一層RBM的重構誤差均下降到0.02左右。在沒有進行整體微調的情況下得到的重構誤差已經可以與BP神經網絡相比較。對樣本數據進行迭代尋優,得到樣本數據的預測誤差圖如圖6所示。
由圖6可以看出,在用共軛梯度的方法進行了20次參數調優之后,訓練樣本數據的預測誤差已經下降到了0.003左右,測試樣本的預測誤差也已經下降到了0.005以下。利用模型對訓練集、測試集進行負荷預測,改進DBN模型預測結果如圖7所示。

圖6 樣本數據預測誤差圖

(a) 訓練樣本
相比于BP神經網絡方法對短期電力負荷數據進行預測,采用的DBN深度信念網絡中更加明顯地可以看出:測試集的預測值和實際值幾乎達到重合,DBN模型比BP網絡模型的泛化能力更強。預測結果比較如表3所示。

表3 預測結果指標
相較于上一節BP神經網絡0.001以上的均方誤差和20 s以上的運算時間,可以看出改進的DBN深度信念網絡模型具有更快的運算速度以及更小的預測誤差。
本文分別使用BP網絡和改進的DBN網絡對澳大利亞新南威爾士州的電力負荷進行了短期預測。對比預測結果,BP神經網絡的運算時間是21 s,改進的DBN網絡的運算時間是11.34 s;BP網絡預測出的數據均方差為0.1左右;而改進的DBN網絡預測出的數據均方差為0.002左右。綜上所述,改進的DBN網絡的預測時間和預測精度都高于BP神經網絡。且經過多次試驗,改進的DBN網絡的測試集預測誤差都在0.002左右,說明改進的DBN網絡對短期電力負荷預測具有較高的穩定性,這是由改進的DBN網絡的訓練機制決定的。由于深度學習和傳統淺層神經網絡每次運算都能得到不同的結果,難免會導致網絡的不穩定性,因此未來的研究中需要進一步研究更強的算法解決這一問題,使網絡更加穩定。