楊 洋,栗風永
(上海電力大學計算機科學與技術學院,上海 200120)
短期電力負荷預測是電力系統負荷預測的重要組成部分,有助于電力企業制定完善的發電計劃,協助發電廠實現高效的削峰填谷[1,2]。已有的智能負荷預測模型參數大多是人為選擇,常常因為無法找到合適的參數而導致預測模型性能提升乏力。盡管現有的預測模型可以通過優化算法尋找到合適的參數,但傳統的優化算法在尋優過程中往往容易陷入局部最優化,導致最終的預測結果偏差較大。如果能夠改善優化算法的尋優過程,獲得全局最優的模型參數,則有助于提升負荷預測能力。
短期負荷預測發展至今已經提出了多種方法來提升預測精度,傳統的預測方法有回歸分析法、時間序列法以及灰色模型等。但是由于傳統方法的學習能力較低,處理非線性數據以及規律性較弱的數據時能力較差,使得預測精度相對較低。隨后以人工神經網絡(Artificial Neural Network,ANN)和支持向量機(Support Vector Machine,SVM)為代表的智能方法受到了廣泛使用[3],但這些方法的特征與參數需要人工設定,參數預測誤差較大,不適合長時間的負荷序列預測。文獻[4]通過使用變分模式分解處理數據,利用粒子群優化的深度信念網絡對短期電力負荷進行預測。文獻[5]使用了PSO和支持向量回歸(support vector regression,SVR)提升工業短期負荷預測的精度。文獻[6]引入PSO對加權小波支持向量機的參數進行優化來實施短期負荷預測。上述方法對數據進行了合理的預處理,但都未考慮標準PSO算法容易陷入局部最優的問題,導致模型優化出的參數都是局部最優值。近年來,從循環神經網絡(Recurrent Neural Network,RNN)的基礎上改良出來的LSTM模型解決了RNN在梯度問題上存在的梯度消失等問題,同時由于電力負荷自身具有隨機性與周期性,這使LSTM在負荷預測領域表現良好。文獻[7,8]使用LSTM對短期電力負荷進行預測,驗證了模型的有效性,但由于參數是人為選取的,無法最大化發揮模型的預測能力。
針對以上問題,本文設計一種基于高斯變異粒子群優化的長短時記憶神經網絡負荷預測模型。首先對負荷序列數據進行預處理,通過引入非線性慣性權重和自適應高斯變異提升PSO算法尋優能力。最終,通過參數優化后的LSTM模型對包含不同日期類型的大規模負荷數據進行預測對比分析后證明提出的模型具有更優的預測性能。
作為一種優秀的RNN改良模型,LSTM神經網絡基本結構包含了輸入門,遺忘門和輸出門[9],如圖1所示。
遺忘門通過單元輸入ht-1和xt,決定每個細胞單元丟棄與保留的信息,再由sigmoid函數和tanh函數依次改變輸入xt。

圖1 LSTM基本單元結構
ft=σ(Wf·[ht-1,xt]+bf)
(1)
it=σ(Wi·[ht-1,xt]+bi)
(2)
確定兩部分被存放在細胞狀態中的新信息,將細胞狀態為Ct-1的細胞單元更新為Ct。

(3)

(4)
最終通過sigmoid函數確定的輸出部分與tanh函數處理的Ct進行運算得到模型輸出。
ot=σ(Wo·[ht-1,xt]+bo)
(5)
ht=ot*tanh(Ct)
(6)
其中,σ為sigmoid激活函數,tanh為激活函數,ht-1和ht分別為單元輸入與輸出,xt也為單元輸入,Ct表示t時刻細胞單元的更新狀態,ft,it和ot分別為遺忘門,輸入門和輸出門的輸出,W為權重系數矩陣,b為偏置項。
PSO算法可以根據群組的適應度來移動群組中的粒子,達到尋找最優解的目的[10]。每個粒子由自身在搜索空間中的位置和速度指定,根據自身和鄰近粒子的經驗進行更新。

(7)

(8)

PSO算法的一個明顯弱點就是全局尋優能力以及粒子收斂速度有限,容易導致粒子在尋優過程中陷入局部最優解。為了解決這個問題,本文引入非線性慣性權重代替PSO算法中的固定慣性權重w。

(9)
其中wmax與wmin分別為最大與最小慣性權重,t為當前迭代次數,tmax為最大迭代次數。很顯然,初始迭代時設置較大的慣性權重,擴展了粒子搜尋能力,增大了前期的全局搜索能力。隨著迭代次數的增加,慣性權重減小,增加了局部搜索的精度,提升了粒子的收斂速度與尋優能力。
為了盡可能減少粒子陷入局部最優解的風險,本文進一步引入了高斯變異[11]對粒子進行自適應變異操作,在每次迭代后判斷是否執行變異操作,若執行則將粒子重置在原來位置的附近某一位置,若不執行則繼續按當前方向尋找最優解。

(10)
GV(x)=x×(1+N(0,1))
(11)
其中,r和N(0,1)是[0,1]之間的隨機數,x為原始參數值,GV(x)為變異后的值。當式(10)成立時,可執行式(11)對粒子進行高斯變異操作。多次迭代后式(10)成立的幾率逐漸減小,粒子發生變異的幾率也逐漸降低。
自適應高斯變異操作可在初始階段使粒子以較大概率發生變異,擴大粒子在解空間中的搜尋范圍,保證了粒子群的多樣性,避免粒子過早收斂而陷入局部最優,增加了尋找最優解的能力。
基于GPSO-LSTM模型的負荷預測流程如圖2所示。該模型考慮到了電力負荷數據的隨機性與周期性,結合時間相關性較強的LSTM進行預測,使用提出的GPSO算法對LSTM的參數進行優化。具體步驟如下:
1)輸入負荷數據,對原始數據中的異常值進行清洗并對缺失值重新填充。將處理后的數據隨機劃分為訓練集和測試集。
2)初始化GPSO參數,隨機生成粒子的初始位置與速度。建立初始LSTM預測模型,設置所需尋優參數(訓練次數k,學習率α,兩個隱含層神經元個數h1,h2)以及各參數的尋優范圍。
3)利用均方誤差(MSE) 計算每個粒子的適應度值,確定每個粒子初始的個體最優位置Pbest,將適應度最佳的粒子的位置作為全局最優位置gbest。

(12)

4)根據式(7)和(8)更新粒子的速度和位置,然后根據式(10)和(11)對粒子執行自適應高斯變異操作,計算粒子新的適應度值并更新粒子群的個體最優位置與全局最優位置。
5)達到最大迭代次數后,輸出最優參數應用于LSTM模型進行負荷數據預測,輸出最終的預測值。

圖2 GPSO-LSTM模型預測流程圖
本文使用的數據集為中國南方某地區2012-2014年的電力負荷數據。該數據集每隔15分鐘采集一次,一天96條數據,共計包含104609條數據,其中日期類型包括年、月、日、小時(1-96),天氣類型數據包括日平均溫度、相對濕度、降雨量、日最低溫度、日最高溫度。數據集的各項特征與描述如表1所示。

表1 數據集中不同特征屬性及描述
由于智能電表在采集和傳輸數據的過程中易產生缺失值和異常值,提出的算法在初始階段對異常數據進行清洗并利用隨機森林(Random Forest,RF)算法[12]對缺失值填充。相比傳統的均值填充,插值法等方法,隨機森林方法能夠保證負荷數據在填充前后維持近似的分布模型,因此插值后可進一步提升數據之間的相關性。同時為了避免數據之間差異過大,方便LSTM模型的求解,算法對歷史負荷、平均溫度,降雨量和相對濕度進行歸一化處理。歸一化的公式如下

(13)
其中,xmax與xmin分別為數據的最大值與最小值,x與x*分別為歸一化處理前后的數據。
為了在不同模型間進行公平對比,本文采用平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)與均方根誤差(Root Mean Square Error,RMSE)作為提出模型與已有模型的評價指標。很顯然,MAPE和RMSE的值越小代表模型的預測精度越高。
(14)

(15)
由于城市電力負荷數據的分布具有一定的周期性,為了使預測結果更加精準,本文選擇與負荷數據具有近似周期分布的特征來構建學習模型。圖3給出不同特征與負荷特征的周期性分布對比,其中圖3 (a)是負荷數據,圖3(b)、圖3(c)、圖3(d)、圖3 (e),圖3 (f)分別表示了平局溫度、最高溫度、最低溫度、降雨量和濕度的周期性分布。從圖中可以看出數據集的各項特征中,溫度、降雨量和濕度都與負荷數據的分布極為近似,因此本文實驗選擇日平均溫度、日最低溫度、日最高溫度,降雨量和相對濕度五個屬性構建模型學習的特征集。
1)實驗參數選擇
標準PSO算法的慣性權重通常設置為0.8,而提出的GPSO模型中重新設計了非線性自適應慣性權重。為了給出合理的權重參數,算法固定最大權重wmax=0.9和最小權重
wmin=0.1,并從該區間搜索最佳權重組合。

圖3 負荷及氣象因素歷史數據歸一化曲線
實驗對比了四組不同的最大和最小的權重組合,(wmax,wmin)={(0.9,0.7),(0.9,0.5),(0.9,0.3),(0.9,0.1)}。在這些實驗中,PSO算法與GPSO算法粒子個數N設置為5,最大迭代次數t為100,學習因子c1=c2=1.5。同時將LSTM的兩個隱藏層的神經元個數h1,h2的取值范圍設置為[1,200],訓練次數k的取值范圍為[100,500],學習率α的取值范圍為[0.001,0.01],圖4為適應度值取對數的實驗結果。
可以看出GPSO模型使用非線性慣性權重,在優化時較PSO模型收斂速度更快,提升了GPSO的全局搜索能力。隨著迭代次數的增加,當(wmax,wmin)=(0.9,0.1)時,可以獲得較其它權重組合更好的適應度值,提高了GPSO的局部搜索能力。結合高斯變異,能最大限度降低粒子搜索陷入局部最優的風險。在后續的實驗中,GPSO模型將固定參數(wmax,wmin)=(0.9,0.1)。

圖4 不同自適應慣性權重參數組合下的GPSO與PSO適應度曲線
2)GPSO算法驗證
本實驗將GPSO與標準PSO、鯨魚優化算法(WhaleOptimization Algorithm,WOA)、遺傳算法(GeneticAlgorithm,GA)、灰狼優化算法(GreyWolfOptimization,GWO)在三個基準函數上進行性能測試,驗證GPSO的有效性,使用的基準函數如表2所示。其中F1為單模態測試函數,F2為多模態測試函數,F3為固定維數的多模態基準函數,使用的基準函數如表2所示。通用算法參數設置為:種群數為10,迭代次數為100。

表2 測試函數
不同種類的測試函數搜索困難不同,單模態測試函數可以用來評估函數的收斂與開發能力,多模態測試函數可以用來評估算法的全局與局部搜索能力。圖5可以看出無論是單模態還是多模態函數,GPSO在搜索精度與收斂速度上都優于其余算法,驗證了GPSO具有更好的尋優能力。

圖5 不同基準函數下的各尋優算法適應度曲線
由于實驗數據跨度為3年(2012-2014),本實驗將預處理后的數據按年份分為3份,每次選取其中2年的數據為訓練集,剩余1年的數據為測試集,整體實驗需重復3輪,測試結果取三輪實驗結果的平均值。為了展示提出的GPSO-LSTM預測模型的性能,選取3種已有的負荷預測模型,反向傳播神經網絡(Back Propagation Neural Network,BPNN)[13],長短期記憶神經網絡(LSTM)[14],粒子群優化的LSTM(PSO-LSTM)[15]進行對比。實驗共設計了3種不同日期類型場景的仿真分析,分別為工作日、休息日(均選取預測結果中的7天取均值)和節假日(2014年國慶假期7天取均值),預測結果如圖6所示。
由圖6(a)和圖6(b)可以看出,BPNN模型在工作日的凌晨與深夜,休息日的白天預測誤差較大,這是因為BPNN在訓練中容易陷入局部極值,處理大規模輸入數據時泛化能力較差,同時該時間段用電不規律也有一定的影響。而LSTM模型參數由人為指定,因此泛化能力相比PSO-LSTM模型明顯偏弱。本文提出的GPSO-LSTM預測模型在標準PSO中引入高斯變異,使得粒子尋優能力得到明顯提升,增強了LSTM預測模型的穩定性與魯棒性,進而提高了模型的泛化能力。整體上,在工作日與休息日的預測結果對比中,本文所提方法都優于其它模型。
此外,需要注意到圖6(c)中各個模型對節假日的預測精度較正常日都有所下降,這是由于歷史負荷數據中節假日數據較少,導致模型整體訓練不足,但相對于其它三種已有的預測模型,GPSO-LSTM預測模型在節假日也具有相對更好的預測能力。事實上,如果增加異常日的歷史數據,提出的模型也可以完成更高的預測精度。
為了給出精確的預測對比,表3和表4列出了3種日期類型的具體預測誤差值。從表中可以看出,BPNN模型與LSTM模型泛化能力不足,預測結果較差,相比于提出的模型在工作日的MAPE值分別高了2.45%和2.04%,而PSO-LSTM由于尋找參數時容易陷入局部最優,導致工作日的MAPE值高了1%左右。整體來看,在不同日期中,本文方法平均預測準確率要提升1.4%以上。同時,由于提出的模型具備更強的泛化能力與魯棒性,相比于其它預測模型,更適合于具有隨機性與周期性變化的電力負荷預測。

圖6 不同日期場景的預測對比,(a)工作日,(b)休息日,(c)節假日

表3 4種不同預測模型平均絕對百分比誤差(MAPE)

表4 4種不同預測模均方根誤差(RMSE)
本文提出一種基于高斯變異粒子群優化的長短時記憶神經網絡負荷預測模型,可以有效解決現有短時預測方法精度不高及電網負荷數據不確定性變化的問題。提出的方法在對大規模負荷數據預處理的基礎上,通過引入非線性慣性權重與自適應高斯變異操作,對標準PSO算法的粒子尋優結構進行調整,顯著增強了PSO算法對模型參數的全局尋優能力,有效避免了PSO算法在尋優過程中容易陷入局部最優的弊端。大規模測試結果表明,本文提出的方法能夠快速尋找到LSTM預測模型的最優化參數,使其預測能力顯著優于已有的預測方法。