崔星,李晉國,張照貝,李麟容
(1.上海電力大學 計算機科學與技術學院, 上海 201300;2.梅州市職業技術學校 信息與電氣工程學院, 廣東 梅州 514017)
負荷預測指對歷史負荷進行數據挖掘并對未來負荷進行預測,是電力系統領域的重要研究問題之一[1]。電力系統負荷預測是電力系統部門進行輸電網絡擴展和規劃、電力調度和其他重要決策的要旨。精準的電力負荷預測有利于合理安排調度運行方式、機組使用計劃和交換用電方案。因此,負荷預測的高精度有利于電力計劃管理、降低發電成本、制定合理的電力建設計劃,提高電力系統的經濟效益和社會效益。
隨著智能電網的發展,分布式發電機、電動汽車和儲能類需求響應資源越來越多地進入智能電網的用電側,這將增加供方與需求方之間的實時交互性,其波動性對智能電網的穩定性有很大影響[2-3]。短期負荷預測在評估電網穩定性,實時功率以及優化電壓方面起著重要作用,這也使得負荷預測越來越受到重視。智能電網關鍵技術之一的儲能系統,存儲量的大小和釋放時間,同樣需要負荷預測技術的支撐[4-5]。目前,先進的計量設施能夠在很短的時間內獲得周期完整、復雜和長序列的負荷數據。在新的背景下,如何有效地利用負荷大數據,提高負荷預測的準確度,具有十分重要的意義。針對短期負荷預測,已有的傳統預測方法如線性回歸、時間序列等理論發展較為成熟。然而上述模型初始化難度較大、過程比較復雜、需要豐富的經驗和較高的技巧。且負荷預測的準確度對數據的完整性和多樣性同樣要求較高,諸多決定性因素 (如溫度、濕度)考慮不充分會使模型的預測效果大大降低。國內外文獻已經提出了各種基于統計學和深度學習的人工智能預測方法的模型,包括前饋神經網絡[6]、模糊神經模型[7]、支持向量機[8]和PSO-SVM組合模型[9-10]。文獻[11]采用多重組合模型C-PSO-SVM-ARMA運用到風功率預測也取得了不錯的效果。然而上述方法缺乏對時序數據時間相關性的考慮。而深度學習算法在處理非線性映射方面具有較大優勢,在電力負荷預測領域應用也更為廣泛。文獻[12]采用循環神經網絡(recurrent neural networks,RNN)并取得了較好的預測效果。但該類方法存在梯度下降和消失的問題。文獻[13-14]把LSTM運用到了負荷預測并極大提高了預測精度。文獻[15]采用PSO-LSTM用于非時序電價信號的短期預測,利用粒子群技術優化LSTM網絡輸入權重,然而未考慮粒子群自身的權重對全局最優解的影響。
與其他神經網絡模型類似,LSTM神經網絡模型中部分參數如時間窗大小、批處理數量、隱藏層單元數目等依賴于經驗值和多次實驗反復驗證結果,效率低下,隱藏層數和隱藏層單元數直接決定模型的擬合能力,時間窗大小和批處理大小影響模型的訓練過程和效果,不同參數訓練出模型的預測性能差異巨大,依靠經驗設定的參數會導致預測結果具有較大的不穩定性,降低了預測精度。針對LSTM模型存在的缺陷,提出如下改進方案:
1)提出非線性動態調整慣性權重的方法對PSO進行優化,提高了PSO算法種群的多樣性,避免陷入局部最優解;
2)利用優化后的PSO對LSTM進行優化,獲得最優超參數。利用得到的超參數構建模型并得到預測結果,大大提高了模型的預測精度;
3)進行了全面地可行性實驗研究,并與現有的各種預測方法進行比較,驗證了所提模型的有效性和優越性。
對于序列類型的數據,比如翻譯問題、預測時間序列數據等問題,可從樣本之間尋找一定的關聯,而傳統的神經網絡捕捉這些關聯的能力有明顯的劣勢。RNN(recurrent neural network)[16]與傳統人工神經網絡的區別在于,RNN隱藏層單元之間存在連接,從而在同一層中形成有向循環。通過這些連接,RNN可以提取時間特征,并得到記憶輸入序列、反應節點內部狀態的能力,因此性能要優于傳統神經網絡。基于時間展開的RNN結構如圖1所示。其中xt,ot分別為t時刻的輸入和輸出,st為隱藏層在t時的狀態。由其獨特的記憶單元和遞歸神經網絡結構,可以處理較長時間的數據作為輸入,并能反映時間序列的特性。

圖1 標準RNN結構圖
然而輸入數據的持續時間過長,網絡很難將信息從較早的時間步傳到后面的時間步。因此,嘗試處理數據量較大的預測時,RNN存在會遺漏開頭重要信息的問題[17]。RNN存在的另一類基本問題是梯度消失和梯度爆炸。梯度消失是所有基于梯度的學習算法在訓練網絡過程中不可避免的問題。在基于梯度的學習算法中,每次的迭代過程中通過獲取誤差相對于其權重的偏導來更新權重。在某些情況下,經過足夠的迭代后,梯度會變得太小,以至于阻止權重更新,也會導致訓練時由于梯度消失而完全停止。造成的結果是網絡加深時,學習的速率低下或無法學習,這種現象稱為“飽和態”。
為了克服RNN梯度消失的問題,Hochreiter和Schmidhuber提出了長短期記憶(Long Short-Term Memory,LSTM)神經網絡單元來替代RNN單元。LSTM通過長短期存儲技術“門”邏輯控制決定數據是更新還是丟棄,讓LSTM神經網絡可以記住較為長期的信息,從而解決了梯度消失的問題。基于在這些方面的優異表現,應用其對時間序列進行研究受到廣泛關注,由于其包含時間記憶單元,因此適用于電力短期負荷預測等場景[18]。LSTM的結構中包含一個記憶單元狀態(Cell)和三個門,即更新門Γi、遺忘門Γf、輸出門Γo。通過Cell和三個門結構可以避免傳統循環神經網絡的梯度消失問題,能有效反應歷史信息對當前狀態的影響。
標準LSTM結構如圖2所示,網絡由多個同結構單元格(Cell)構成,包含三個輸入分別為:xt、ht-1、Ct-1,輸出分別是ht、Ct、xt代表t時刻的輸入序列特征,ht-1表示上一輪的狀態量輸出,Ct-1表示上一輪全局一個信息的載體;ht表示本輪的狀態量輸出,Ct表示本輪全局的一個信息載體。LSTM的每個單元可以用下列式子來表示:
Γf=σ(Wf[ht-1,xt]+bf)
(1)
Γi=σ(Wi[ht-1,xt]+bi)
(2)
(3)
(4)
Γo=σ(Wo[ht-1xt]+bo)
(5)
ht=Γo*tanh(Ct)
(6)
式中Wf,Wi,Wo分別為對應門的加權矩陣;bf,bi,bo分別為對應門的轉置矩陣;σ,tanh分別為sigmoid函數和tanh函數,*為矩陣對應元素相乘。LSTM的關鍵在于如何控制長期狀態C,遺忘門決定上一時刻的Cell狀態Ct-1有多少保存到當前Cell狀態Ct。更新門決定當前LSTM的輸入xt有多少保存到當前Cell狀態Ct。最后由輸出門控制Cell狀態Ct有多少輸出到LSTM的當前狀態值ht。

圖2 標準LSTM結構圖
粒子群算法(particle swarm optimization, PSO),是J.Kennedy和R.C.Eberhart等人從動物群體的群居特性中得到啟發的優化算法[19]。PSO算法中將每個個體稱為一個粒子,它的位置代表優化問題在搜索空間中的候選解。解的適應度值由優化問題的適應度函數決定。粒子從隨機解出發,通過不斷迭代改變方向和距離,從當前搜索到的最優解尋找全局最優解,并通過適應度來評價解的質量。粒子的速度決定了它飛行的方向和距離,每個粒子在解空間中單獨搜尋最優解,并將其作為個體最優解Pbest,將所有粒子的最優解作為整個粒子群的全局最優解Gbest。每一次迭代過程中,粒子信息被整合在一起,以調整粒子在每個維度的速度,從而計算出粒子的新位置。優化問題空間的不同維度之間的唯一聯系就是引入目標函數。第i個粒子在D維搜索空間中的位置表示為Xi= (xi1,xi2,…,xiD),它經歷過的最好位置(適應度值)記為Pi= (pi1,pi2,…,piD),將粒子i的速度用Vi= (vi1,vi2,…,viD)表示,對每一代,它的第d+1維(1≤d+1≤D)根據如下方程變化:
(7)
(8)

傳統PSO算法中,慣性權重隨著迭代次數的增加沿直線遞減,使得其在迭代初期具有較強的全局搜索能力,后期具有較強的局部搜索能力,但存在過早收斂的傾向。因此文中提出利用非線性變化慣性權重的方法來防止PSO過早陷入局部最優。NIWPSO(nonlinear inertia weight in particle swarm optimization)[20]根據調整ω使算法能靈活地調整全局尋優能力與局部尋優能力,并提高LSTM參數尋優的準確性。NIWPSO算法在初始搜索階段,慣性權重系數非線性減小,使算法在該階段具有較強的全局搜索能力,能盡快進入局部搜索,后期緩慢搜索,因此我們選擇凹函數的遞減策略。更新公式如下:
(9)
式中ωmax和ωmin分別為慣性權重的最大值和最小值;t為當前迭代次數,tmax為最大迭代次數;k為控制因子,控制ω曲線的平滑度。上述改進粒子群優化算法中控制因子k取0.6。變量迭代次數前的系數1.5是為了保證ω的值介于0.3~0.7之間,即ω從最初的0.7非線性動態遞減至最后的0.3。為了在初始搜索階段獲得粒子的多樣性,可以參照遺傳算法的“變異”操作,可以對粒子的一維進行變異,以一定的概率調整其位置,進入其他區域繼續搜索。這樣可以有效地擴大搜索范圍,得到算法的全局最優解。這是自適變異粒子群算法的基本思想,其公式如下:
p(i,k)=5×rand,x>0.95
(10)
其中,p(i,k)表示群體中i粒子的k維突變操作,當0~1之間的隨機數x>0.95時會發生變化,rand為[0,1]范圍內變換的隨機數。
電力負荷作為一種時間序列數據,在短期內具有高度的波動性和隨機性。文章以在時間序列預測中表現優異的LSTM模型為基礎,構建針對電力負荷數據的預測模型。LSTM模型中某些超參數的取值間接決定著模型網絡結構并影響預測精度,在實際應用中,這些參數都是依靠經驗來確定,隨機性較大,模型的預測效果也大打折扣。為了使模型網絡結構與電力負荷數據特征相匹配,將非線性動態慣性權重改進粒子群算法(NIWPSO)使得LSTM模型能夠根據電力負荷數據的特性,快速、精準地確定最優超參數實現LSTM模型網絡結構與電力負荷數據特征的有效結合。該模型將LSTM的批處理大小、時間窗大小、隱藏層單元數作為NIWPSO的優化對象。將輸入數據與目標數據之間的初始誤差作為粒子群算法的適應度值,根據條件判斷粒子群的性能。適應度函數公式如下:
(11)

Step 1:將LSTM模型中的時間窗大小、批處理數量、隱藏層單元數目作為優化對象,隨機生成一組待優化參數作為粒子初始化坐標;
Step 2:將預測結果的平均絕對百分比誤差作為適應度值,根據式(11)計算適應度值;
Step 3:將每個粒子的個體最優解Pbest設置為粒子的當前位置,并計算每個粒子的適應度值。其中適應度值最大的粒子的個體最優解是當前種群Gbest的最優解;
Step 4:將每個粒子的適應度值與Pbest進行比較,并保留更好的Pbest。同理,將每個粒子的適合度值與Gbest進行比較,并保留更好的Gbest;
Step 5:根據式(7)和式(8)更新粒子的位置和速度;
Step 6:若滿足終止條件,利用得到的最優粒子構建LSTM網絡模型;
Step 7:將測試集輸入構建好的LSTM模型進行預測,輸出電力負荷預測值。
NIWPSO-LSTM算法流程如圖3所示。

圖3 NIWPSO-LSTM流程圖
提出的改進粒子群優化的LSTM網絡,計算機配置為:處理器為IntelCore i7-7800X、顯卡為RTX2080Ti、固態硬盤容量大小1 TB、內存為64 GB。實驗環境使用Keras搭建神經網絡。實驗樣本為2016全球能源預測大賽2009年1月1日~2012年10月1日負荷數據和氣象數據,采樣間隔為1 h。將負荷數據和氣象數據中70%作為訓練數據、 20%作為驗證數據、10%作為測試數據。
1)異常數據處理。
采用線性插值法來填充缺失數據和替換異常數據。已知t時間和t+iΔt時間的負荷值為Lt和Lt+iΔt,如果中間時間t+jΔt的負荷數據丟失,則此時t+jΔt的負荷值可為:
(12)
2)數據歸一化。
考慮到神經網絡對數據的要求,對數據進行歸一化后最優解的尋優過程明顯會變得平緩,更容易正確地收斂到最優解,便于后續負荷數據的趨勢分析。公式如下:
(13)
式中xR為歸一化后的值;x為負荷數據原始值;xmax和xmin分別代表同一天的最大負荷值和最小負荷值。
NIWPSO-LSTM模型結構由輸入層、兩層LSTM層、輸出層組成,模型訓練過程采用Adam算法訓練LSTM內置參數。該模型將時間窗口大小、批處理大小、訓練次數和隱藏層單元個數設置為LSTM網絡模型超參數。為了減少人為因素對模型的影響,實驗根據數據具體情況,對超參數的取值范圍設置如下:指定時間窗口大小取值范圍[1,300],批處理大小取值范圍[1,300],隱藏層單元個數取值范圍[10,32]。查看數據以獲取常規設置參數并進行收斂測試后,確定NIWPSO參數如下:種群大小為20,算法迭代次數為30,學習因子c1,c2均設置為2,慣性權重初始值ω為0.7。NIWPSO-LSTM訓練次數由模型誤差損失情況直接確定,模型迭代次數由誤差損失情況直接確定,當模型迭代到600次時誤差損失函數達到收斂狀態。因此模型的訓練次數設為600。
選取平均絕對百分誤差(MAPE)以及決定系數(R2)來衡量模型的準確性和模型擬合好壞程度;MAPE數值越小代表模型的預測結果與實際值的誤差越小、模型越優;R2越接近1,代表擬合優度越大,模型預測效果越好。其公式如下:
(14)
(15)

為驗證所提方案的精度,分別使用RNN模型、LSTM模型、PSO-LSTM及NIWPSO-LSTM模型在相同數據集上對一周的負荷進行預測。NIWPSO模型所得LSTM最優超參數:時間窗口大小為57,批處理大小為37,第一層隱藏層單元個數為15,第二層隱藏層單元個數為19。利用得到的以上參數建立LSTM預測模型,使用MAPE和R2來評價各模型的預測效果如表1所示。由表1可知,基于改進的粒子群算法優化LSTM網絡的MAPE值遠小于RNN模型、LSTM模型和PSO-LSTM模型,且R2值更接近于1,在預測精度與模型穩定性方面比RNN模型和LSTM模型更具優勢。

表1 各模型預測168 h實驗結果對比
為進一步分析提出方案的準確性,對實驗結果中某一天24 h負荷進行算例分析。從表2可以看到基于改進粒子群算法優化的LSTM網絡的MAPE值,遠小于其他標準網絡的值,盡管某些點的預測效果要略遜于其他模型,但整體具有較高的預測精度與穩定性。這證實了相比人為控制超參數,使用算法調整超參數對于深度學習網絡進行負荷預測也是非常重要。

表2 各模型24 h預測誤差對比
由圖4可知,波動幅度與實際值相似,在高峰預測也取得了良好的準確性。且相較于其他標準網絡,模型擬合程度更好。由于解的多樣性,改進的粒子群算法相較于傳統粒子群算法能得到更好的全局最優解,由此構建性能更優的基于LSTM的模型。雖然在模型訓練的過程中NIWPSO收斂速度較慢、較難收斂到局部最優解,但是一旦模型訓練完畢,最終預測得到的負荷結果要明顯優于未優化的神經網絡,也證實了所提出的NIWPSO-LSTM具有更高的預測精度。

圖4 各模型預測曲線圖
建立了一種基于非線性動態調整慣性權重粒子群算法優化LSTM網絡的短期負荷預測方法,NIWPSO減少了人為因素對LSTM的影響,提高模型捕獲電力負荷數據特征的能力。實驗結果表明,與RNN、LSTM和PSO-LSTM網絡相比,所提出的模型具有更高的預測精度,為短期電力負荷預測提供了新的思路。未來可考慮對該方法進行改進,實現并行運算,以減少其訓練及預測時間。