鄭敏嘉,盧 洵,程 鑫
(廣東電網發展研究院,廣東廣州 510080)
負荷預測是電網規劃的重要組成部分,目前負荷預測主要通過分析歷史數據、氣象數據等建立負荷預測模型,對未來負荷發展進行預測[1]。受經濟發展、產業結構、用電習慣、氣候條件等多種因素的綜合影響,電力負荷具有復雜性和隨機性的特點[2-3]。目前在負荷預測領域較為常用的方法有單耗法、回歸分析法、彈性系數法、負荷密度法、灰色預測法、神經網絡法等[4-7]。隨著大數據處理和云計算技術的發展,基于海量歷史數據和具有學習能力的模型被應用到負荷預測領域。文獻[8]介紹基于Hadoop大數據技術的模式匹配短期電力負荷預測方法;文獻[9]介紹將馬爾可夫鏈與灰色預測相結合的風電預測方法,均是將電力系統海量數據應用于電力預測的初步探索。
目前,在負荷預測方面馬爾可夫模型已得到廣泛應用。與馬爾可夫模型相比,隱馬爾可夫模型具有兩個優點,一是數學結構更復雜、參數選擇更靈活,在訓練模型時可根據數據的復雜程度匹配合適的模型復雜度,選取合適的參數數量和計算緯度,從而得到最優預測模型;二是隱馬爾可夫模型的訓練過程基于大量歷史數據,其訓練結果符合統計學規律,數據量越大則訓練出來的模型更符合客觀規律,預測結果更準確。
綜合上述兩項優點,認為采用HMM模型進行負荷預測是可行的。
1.1.1 馬爾可夫鏈
馬爾可夫鏈是指數學中具有馬爾可夫性質的離散事件隨機過程[10],具體描述一種具有無后效性的狀態序列S1S2S3…SN。馬爾可夫鏈的每一步狀態轉移過程是隨機的,且轉移概率只與當前狀態有關,統計上用一個N×N的狀態轉移概率矩陣A描述各狀態之間的轉移概率,矩陣內元素Aij表示從狀態i轉移至狀態j的概率。如圖1所示,假設馬爾可夫鏈共有S1、S2、S3三個狀態,且已知t時刻所處狀態為S2,那么t+1時刻的狀態為S1的概率是A21,狀態為S2的概率是A22,狀態為S3的概率是A23,A21+A22+A23=1。


圖1 馬爾可夫鏈狀態轉移概率示意圖
1.1.2 HMM模型
隱馬爾可夫模型(Hidden Markov Model,下文簡稱HMM模型)與馬爾可夫鏈的主要區別是,包含隱藏的未知參數且狀態序列不可直接觀測得到。隱馬爾可夫模型示意如圖2所示。

圖2 隱馬爾可夫鏈
隱馬爾可夫模型θ包含3個參數,狀態轉移概率矩陣A,發散概率矩陣B,初始狀態矩陣π。
隱馬爾可夫模型的狀態轉移概率由矩陣A決定。隱藏狀態序列可通過觀測序列Y=y1y2…yT及對應的矩陣B得到。假設HMM模型共有N種狀態,T個觀測值,那么B為一個N×T矩陣,Bi(yt)表示在時刻t狀態為Si且所得觀測值為yt的概率。

HMM模型在電力系統中被應用于系統狀態預測[11]以及短期負荷預測領域[12],并已取得較好的預測結果。該研究中,觀測向量為日負荷特性指標,觀測序列Y為逐年日負荷特性指標。根據統計學規律,合理假設觀測值y為隨機變量,且服從正態分布Y~N(μ,σ2),那么其概率密度函數可由下式表示。

概率分布函數可表示為:

以日最小負荷率 β為例, β~[0.5,0.6]的概率可表示為Pr(0.5≤β≤0.6)=F(0 . 6)-F(0.5),如圖3所示。
初始狀態矩陣π描述了t=1時刻的狀態概率,π=(π1,π2,…,πN),且π1+π2+…+πN=1。
基于上述隱馬爾可夫模型的定義,在實際應用中構建模型時一般將其分解為3個基本問題:
(1)概率計算:已知觀察序列Y 和模型θ=(A,B,π),求由該模型得到觀測序列的概率Pr(Y|θ)。
(2)學習問題:已知觀測序列Y,求解觀測序列的概率Pr(Y|θ)最大的時候的模型參數A,B,π。
(3)預測及解碼問題:已知觀察序列Y和模型θ,求解觀察序列的隱藏狀態序列S=S1S2…ST。

圖3 累積分布函數
HMM模型第一個問題通常用前向-后向算法解決。將長度為T的觀測序列分為兩部分,用前向算法計算前半部分概率Pr(Y=y1y2…yt|θ),用后向算法計算后半部分的概率 Pr(Y=yt+1yt+2…yT|θ)。
1.2.1 前向算法
前向算法可由下式表示,αi(t)表示由已知模型θ得到觀測序列y1y2…yt且時刻t的狀態為Si的概率。

αi(1)表示由已知模型θ得到初始觀察值y1且初始狀態為Si的概率:

其中:πi為初始狀態等于i的概率,Bi(y1)為初始狀態為i且得到y1的概率。
前向算法t+1時刻的概率可由t時刻的概率遞推得到,αj(t +1)表示得到觀察序列y1y2…yt+1且第t+1時刻的觀察值為yt+1且為Sj的概率,見下式:

1.2.2 后向算法
后向算法的原理與前向算法類似, βi(t)表示由已知模型θ得到觀察序列yt+1yt+2…yT,且時刻t+1的狀態為Si的概率。已知 βi(T )=1,t時刻的概率可由t+1時刻遞推計算求得。其中ΣjN=1βj(t +1) aij表示t時刻狀態為Si的概率,bj(yt+1)表示t+1時刻由狀態Sj得到觀測值yt+1的概率。


結合前后向算法,可計算由模型θ得到觀察序列Y的概率。

HMM模型的第2個問題,模型訓練問題通常用Baum-Welch算法求解。通過前向后向算法可得到和, 下 面 引 入γ、ξ,對矩陣A、矩陣B的參數進行迭代更新,求解最優模型參數。γi(t)表示已知模型θ和觀測序列Y,在t時刻處于狀態Si的概率。

其中:αi(t)βi(t)為 概 率Pr(Y|St=Si,θ),為概率P(Y |θ)。r
ξij(t)表示t時刻由狀態Si轉移至t+1時刻的狀態Sj的概率。

通過計算γ、ξ可對隱馬爾可夫模型參數矩陣A、矩陣B進行迭代更新。

每一次迭代完成后將得到一個新模型θnew,由新模型得到觀察序列Y的概率需比舊模型的概率大,即表明新模型優于舊模型。重復迭代過程,直到新模型與舊模型的概率差值小于某一個很小的誤差值,或迭代次數達到上限,模型訓練結束,輸出的新模型θnew即為訓練的最優模型。
Viterbi算法和前向后向算法的目的本質上是一樣的,但計算速度快,因此通常用Viterbi算法解決HMM模型的第3個問題,預測及解碼問題。預測及解碼問題實際上是在訓練得到的最優模型上計算得到觀測序列Y的概率。通過Viterbi算法,可以得到各個時刻的狀態值。

Viterbi算法的初始化中δi(1)表示初始時刻處于狀態Si且得到觀測值y1的概率,Ψi(1)表示上一時刻的最有可能的狀態值,因此初始值可設為0。

t+1時刻的概率可通過遞推計算得到。其中δj(t +1)表示t+1時刻處于狀態Sj且得到觀測序列 y1y2…yt+1的概率,Ψj(t + 1)表示已知t+1時刻的狀態為Sj,t時刻最有可能的狀態值。

根據上述遞推方法,可以得到前T-1時刻的狀態序列St1St2…ST-1,根據T-1時刻的狀態值和狀態轉移矩陣A,可計算T時刻的狀態值ST。

該計算基于Matlab計算結果,以2011年~2016年的日最小負荷率作為模型訓練數據,預測2017年的日最小負荷率,通過與2017年的實際值對比,檢驗預測準確度。預測過程包括幾個步驟:
(1)用2011~2016夏季各典型日的日最小負荷率作為統計數據,假設其符合正態分布,用Matlab函數mean和var計算期望值 μ和方差σ2。
(2)設定HMM模型初始參數A,B,π。設定HMM模型隱藏狀態數N=3,觀測數列長度T=5,矩陣B初始值可由步驟(1)的 μ和σ2計算得到,概率分布可由Matlab函數normcdf求得,初始初始狀態矩陣π=(0.5,0.25,0.25)。

(3)訓練HMM模型。將2011~2016年數據按2011~2015、2012~2016分為兩組。第一組數據為Y1,根據初始模型參數求得α、β矩陣。
(4)計算γ、ξ矩陣。
(5)重新計算HMM模型參數矩陣A、矩陣B,并計算由新模型獲得Y1的概率
(7)在步驟(6)基礎上,用第2組數據Y2進行再次訓練,重復步驟(5)、(6),并輸出新模型。
(8)改變模型參數設定,分別考慮N=4,N=5的情況,對隱馬爾可夫模型進行訓練,選出最優隱藏狀態數N和最優模型θ。
(9)以2013~2016年的數據作為預測序列Yp,通過Viterbi算法求解隱藏狀態序列St1St2St3St4,根據St4及Anew的狀態轉移概率,預測St5的狀態值,該狀態值對應的 μ即是2017年的預測值。
受多種因素影響,2011~2016年期間廣東夏季典型日最小負荷率波動較大,不利于模型訓練,給預測增加了難度。由圖4可見,廣東夏季典型日最小負荷率在(0.55,0.65)之間波動。

圖4 2011~2016年廣東夏季典型日最小負荷率
隱藏狀態的數量應根據實際觀測數列長度進行選擇,通過模型訓練結果比較,隱藏狀態數為N=3時模型訓練效果最好,該例最終選取3個隱藏狀態的模型。
該算例經過12次迭代計算后,完成模型訓練。可見,由S1轉移至S2的概率為0.832,由S2轉移至S3的概率為0.758,保持S3狀態的概率為0.995,狀態轉移基本保持著向前傳遞的趨勢。

最優模型的 μnew、σnew輸出結果如圖5所示。其中μ1=0.606, μ2=0.59, μ3=0.649,基本符合圖4所示的日最小負荷率變化規律,=0.0098,=0.0095,=0.0088。

圖5 HMM模型參數 μnew及σnew
根據計算結果,St5的狀態值為S3,因此2017年的典型日最小負荷率預測值為 μ3,即0.649,該結果與2017年廣東實際日最小負荷率相差不大。
通過隱馬爾可夫模型進行負荷預測的計算,可以得到以下幾點結論:
(1)用隱馬爾可夫模型進行負荷預測是可行的。利用HMM模型進行負荷預測具有較高的準確率。
(2)HMM模型預測的優點是具有學習能力,可以根據歷年的數據對模型進行及時更新,提高預測準確率,方法的適應性較強。另外,根據實驗結果,隨著數據量的增加,HMM模型預測準確度也將提高,當用于訓練模型的數據量達到一定規模時,預測的準確度將得到顯著提升。
(3)HMM模型預測的缺點是對歷史數據的依賴程度較高,模型訓練的結果很大程度上取決于訓練數據的優劣,且該方法僅根據歷史數據進行建模,難以應對突變情況。
(4)若需對此方法進行完善,可考慮從數據篩選或數據特性挖掘方面入手,提高原始數據的質量,從而提高預測的準確性。