吳 迪,馬文莉,楊利君
(河北工程大學 信息與電氣工程學院,河北 邯鄲 056038)
負荷預測是電力部門的重要工作之一[1]。早期短期負荷預測方法有指數平滑法[2]、卡爾曼濾波[3]和自回歸積分移動平均值[4]等。
近年來,隨著深度學習[5]的高速發展和廣泛應用,研究者們提出了RNN[6]和LSTM[7]等模型。文獻[8]提出了一種改進RNN和VAR的多變量時間序列預測方法。文獻[9]提出了結合指數平滑和RNN的雙層混合模型,有助于提升時間序列預測性能。
LSTM在RNN基礎上,引入遺忘門、輸入門和輸出門,更適合學習電力負荷數據的內部變化規律。文獻[10]采用貝葉斯優化調整LSTM網絡的超參數預測。文獻[11]通過分析電價及歷史負荷與當前時刻負荷相關性,提出了Attention-LSTM短期負荷預測模型。文獻[12]提出了級聯LSTM負荷預測模型,從負荷數據周期性和波動性兩方面深度預測。
目前,BiLSTM獲得廣泛應用。文獻[13]論證了BiLSTM模型能更好提取負荷數據的雙向時序特征。文獻[14]提出了Attention-BiLSTM-LSTM組合模型預測方法,僅橫向考慮負荷數據的時序性特征,沒有縱向考慮負荷數據的周期性特征,進而影響模型預測精度。
針對短期電力負荷預測精度不理想和負荷特征提取不全面的問題,提出一種二次指數平滑多目標組合模型電力負荷預測方法。采用BiLSTM和LSTM串行學習負荷數據的時序性和周期性特征,以獲取負荷目標預測值;將二次指數平滑法獲得的殘差項數據,利用LSTM模型進行訓練和迭代,以獲取殘差目標預測值;將負荷目標預測值與殘差目標預測值融合得到修正預測值,實現多目標負荷預測。
在短期電力負荷預測中,每天相同時刻電量負荷往往具有相似的變化趨勢,即電力負荷具有周期性變化特點,采用LSTM模型3個門結構的設計可以學習電力負荷時間序列中的長短期依賴信息,能更好的提取電力負荷周期性特征。LSTM網絡結構如圖1所示。

圖1 LSTM網絡結構
LSTM具體的更新方式如式(1)~式(4)所示。
遺忘門
ft=σ(Wf[ht-1,xt]+bf)
(1)
輸入門
{it=σ(Wi[ht-1,xt]+bi)t=tanh(Wc[ht-1,xt]+bc)ct=ft×ct-1+it×t
(2)
輸出門
ot=σ(Wo[ht-1,xt]+bo)
(3)
最終輸出
ht=ot×tanh(ct)
(4)
式(1)中:ft為遺忘門,Wf是遺忘門的權重矩陣 [ht-1,xt] 表示將兩個向量連接成一個更長的向量;bf是遺忘門的偏置項;σ是sigmoid函數。式(2)中:Wi是輸入門的權重矩陣;bi是輸入門的偏置項。ct為計算當前時刻的單元狀態,ct-1為上一次的單元狀態,it為輸入門。式(3)為計算輸出門輸出,式(4)最終得到LSTM輸出。
雖然LSTM適用于對時序數據建模,但無法實現從后向前的編碼。BiLSTM由雙向LSTM組合而成[15],能夠更好地捕獲負荷數據的雙向時序特征。
針對短期電力負荷預測精度不理想及負荷特征提取不全面的問題,本文提出一種二次指數平滑多目標組合模型ES-BiLSTM-LSTM,通過負荷目標預測值與殘差目標預測值,實現多目標預測。首先,通過BiLSTM和LSTM模型串行,提取負荷數據的時序特征和周期特征,輸出負荷目標預測值;其次,將二次指數平滑法獲得的殘差項,采用LSTM模型進行迭代訓練,提取殘差預測值的隨機波動性,得到殘差目標預測值;最后根據殘差項未取絕對值時的正負取值,將負荷目標預測值和殘差目標預測值融合,獲得修正負荷預測值。ES-BiLSTM-LSTM框架如圖2所示。

圖2 ES-BiLSTM-LSTM框架
如圖2所示,ES-BiLSTM-LSTM模型訓練過程分為4個階段,分別是數據集獲取階段、影響因素分析階段、多目標預測模型訓練階段和預測結果修正輸出階段。
針對短期負荷預測受外部環境,如溫度、濕度、降雨量等諸多因素影響的問題,本文充分考慮電力負荷數據的最高、最低、平均溫度、濕度和降雨量等影響因素,采用Pearson相關系數分析,選取相關性較大的影響因素作為最佳特征集。
Pearson相關系數[16],用來反映兩個變量之間的線性相關程度,如式(5)所示
ρX,Y=E(XY)-E(X)(Y)E(X)2-E2(X)-E(Y)2-E2(Y)
(5)
其中,ρX,Y表示變量X和Y的相關系數,E為數據樣本的數學期望。當變量X和變量Y線性不相關時,ρX,Y為0;當變量X,Y負相關時,ρX,Y為-1到0;當變量X,Y是正相關時,ρ為0到1;相關系數的絕對值越大,相關性越強。具體取值見表1。

表1 相關系數范圍
依據Pearson相關系數,選出與歷史負荷相關性強的影響因素組成最佳特征集S=[W1i,W2i,…,loadi], 其中,W1i,W2i,…表示經Pearson相關系數選取的與歷史負荷數據相關程度高的氣象特征變量;loadi表示日負荷量,i=1,2,…t為負荷值的個數。
2.2.1 負荷目標預測訓練
針對用戶用電行為周期性強,相同時刻電量負荷往往具有相似變化趨勢的問題,將最佳特征集及歷史負荷數據作為訓練集,輸入到BiLSTM模型。BiLSTM利用前向和后向兩個方向相反的LSTM模型,深層次地提取電力負荷數據集的雙向時序特征,增強了模型的表征能力。將BiLSTM模型提取的時序特征輸入到LSTM模型中,獲取時序數據內部的周期性變化趨勢,從而提高電力負荷預測精度。預測結果y={y1,y2,…,yt} 即為負荷目標預測值。周期性模型訓練流程如圖3所示。

圖3 周期性模型訓練流程
2.2.2 殘差目標預測值訓練
由于歷史負荷數據及影響因素具有明顯隱含周期性和趨勢性的變化,一次指數平滑可用于時間序列無明顯的趨勢變化,但對于趨勢變化明顯的歷史負荷數據,有很大的滯后性。二次指數平滑在一次指數平滑的基礎上再平滑,通過對具有線性趨勢的負荷數據進行訓練,挖掘負荷時間序列曲線的發展規律。本文采用二次指數平滑法平滑處理負荷數據得到預測值。
定義歷史負荷數據由t個時間步構成,即時間序列長度為t, 用電量負荷數據序列描述為x={x1,x2,…,xt}, 將該數據序列輸入到二次指數平滑模型,二次指數平滑方法公式如下
{St(1)=αxt+(1-α)St-1(1)St(2)=αSt(1)+(1-α)St-1(2)
(6)
在St(1)和St(2)已知的條件下,建立線性趨勢預測模型為
{Y^t+T=at+btTat=2St(1)-St(2)bt=α1-α(St(1)-St(2))
(7)
其中,St(1)和St(2)分別為一次指數平滑值和二次指數平滑值,α為平滑系數,反映不同歷史時刻數據在指數平滑中所占的權重,且α的值位于[0,1]之間。Y^t+T為第t+T期預測值,T為未來期數的預測。at和bt為模型參數,at為截距,bt為斜率。平滑系數可以通過實驗階段不斷調整,選取最佳的平滑系數。
為了提升預測精度,本文將利用二次指數平滑法獲得的負荷數據預測值,構成負荷預測序列z={z1,z2,…zt}; 與歷史負荷數據x={x1,x2,…,xt} 相減取絕對值,獲得殘差項。波動性模型訓練流程如圖4所示。

圖4 波動性模型訓練流程
由于負荷目標預測訓練階段,BiLSTM-LSTM模型提取的負荷特征能力有限,未考慮殘差序列對預測結果的影響,以及殘差序列之間也存在明顯的相關性特征,難以實現精準的預測。
因此,本文利用已存在的負荷目標預測值的誤差和殘差目標序列相關性的特點,對殘差序列利用LSTM模型,進行迭代和訓練,學習差值隨機性特征的變化規律,實現對負荷預測結果的誤差修正,提高預測精度。
本文通過負荷目標預測值和殘差目標預測值的處理,實現多目標預測。首先利用BiLSTM和LSTM模型串行獲得的負荷目標預測值;其次,采用二次指數平滑法和LSTM模型串行提取反歸一化后的殘差目標預測值;最后將負荷預測值與殘差預測值融合,得到修正預測值,反歸一化后即為本文預測結果。本文在提取負荷數據特征時,不僅橫向考慮了負荷預測周期特征,而且縱向考慮了負荷誤差波動特征,提高了預測精度。
由于殘差項的訓練是取絕對值進行訓練,本文采用兩種方式對負荷預測值與殘差預測值進行融合。一種是將負荷預測值與歷史負荷的差值為負時,負荷目標預測值與殘差目標預測值求和;另一種是差值為正時,負荷預測值與殘差預測值相減。
綜上,ES-BiLSTM-LSTM方法描述如下:
輸入:歷史日負荷數據x={x1,x2,…,xt}、 影響因素(相對濕度、降雨量、最高溫度、最低溫度、平均溫度)
輸出:每天的日總負荷量
步驟1 對影響因素做Pearson相關性分析,選出與電力負荷相關性較高的影響因素作為最佳特征集,與歷史日總負荷量作為訓練集S=[W1i,W2i,…,loadi];
步驟2 將訓練集數據S輸入到BiLSTM模型中學習負荷數據的時序特征,再輸入到LSTM模型學習時序數據的周期性變化規律;
步驟3 獲得BiLSTM-LSTM模型輸出的預測結果y={y1,y2,…,yt};
步驟4 將負荷數據輸入到二次指數平滑法的到平穩的負荷預測序列z={z1,z2,…zt}, 將預測值z與實際值x相減取絕對值,得到殘差項,輸入到LSTM模型學習殘差序列的波動性特征;
步驟5 獲得殘差項訓練后的誤差波動值r={r1,r2,…,rt};
步驟6 將步驟3獲得的y值與步驟5的r值,按照預測值z與實際值x相減的結果,差值為負時y與r相加,差值為正時y與r相減;
步驟7 取得最后修正后的負荷預測結果。
本文在64位Windows8版本系統的計算機上進行模型搭建與實驗。采用Py Charm 2021.2.1編譯器,使用Python3語言,Tensorflow2.6版本的深度學習框架進行實驗。
本文采用2016年第九屆電工屬性建模競賽試題的A組電力系統短期負荷數據集作為實驗數據。數據集為2012年1月1日至2015年1月10日共1100條負荷數據,包括了每天的負荷數據以及對應的影響因素數據(日最高溫度、日最低溫度、日平均溫度、日相對濕度以及日降雨量)。
數據集屬性見表2。

表2 數據集屬性
部分數據集屬性展示見表3。

表3 部分數據集展示

為了提升模型訓練的效果,本文對電力歷史負荷數據、日平均溫度和日最低溫度等進行歸一化處理,將原始數據壓縮到0-1之間,計算公式如下
Xi=X-xminxmax-xmin
(8)
其中,X為原始數據,xmax和xmin分別是原始數據中日負荷量(日平均溫度、濕度)的最大值和最小值。
本文選用平均絕對誤差(mean absolute error,MAE)、均方誤差(mean squared error,MSE)和均方根誤差(root mean squared error,RMSE)3項指標對模型的精度進行評估,計算公式如下:
MAE的計算公式如下
MAE=1N∑Nn=1|n-yn|
(9)
MSE的計算公式如下
MSE=1N∑Nn=1(n-yn)2
(10)
RMSE的計算公式如下
RMSE=∑Nn=1(n-yn)2N
(11)
式中:N表示為樣本的總個數;n和yn分別為預測第n個采樣點的實際值和預測值。其中,MAE、MSE和RMSE越小,負荷預測效果越好。
對電力負荷數據的影響因素做Pearson相關性分析,選取其中與電力負荷相關性呈強相關的影響因素作為預測模型的輸入參數。分析結果見表4。

表4 相關性分析
從表4分析結果中,選取了2個對電力負荷呈強相關的影響因素:最低溫度和平均溫度。因此實驗數據x包括:歷史負荷數據、最低溫度和平均溫度。
本文提出的模型在預測過程分為負荷目標預測值和殘差目標預測值,采用BiLSTM-LSTM模型學習負荷數據的周期性特征,獲取負荷目標預測值;采用二次指數平滑法-LSTM學習波動性特征,獲取殘差目標預測值,修正預測結果。
訓練過程中BiLSTM和LSTM模型的迭代次數選擇如圖5和圖6所示。

圖5 BiLSTM訓練過程

圖6 LSTM訓練過程
從圖5和圖6可知,BiLSTM和LSTM在前期的loss波動變化較大,后期趨于平穩。其中,BiLSTM在訓練周期達到60,模型收斂;LSTM在訓練周期達到200時收斂。
圖7為BiLSTM和LSTM模型串行在測試集上的預測效果,其中縱坐標表示預測負荷值歸一化后的結果。test表示負荷測試數據,pred表示BiLSTM-LSTM模型的預測結果。從圖7中可知,BiLSTM-LSTM模型對于電力負荷需求有著很好的預測效果,但是由于本文是預測日負荷量,數值較大,導致在一些峰值的預測結果上,有一些偏差,所以本文通過對負荷目標預測值與歷史負荷值的差值,即殘差項的訓練來修正預測結果。

圖7 負荷目標預測值與歷史負荷對比
圖8為二次指數平滑法-LSTM模型在測試集上的預測效果。圖8的縱坐標表示殘差目標預測值歸一化后的結果,其中test表示殘差項的測試數據,pred表示經過LSTM模型訓練得到的殘差項預測值。將通過二次指數平滑法獲得的負荷目標預測值與歷史負荷值相減取絕對值,得到了殘差項。并對其進行訓練和迭代,學習殘差項的波動性特征,獲取殘差目標預測值。經過LSTM模型的訓練,殘差項在個別峰值谷值出現大的偏差。在峰值點,預測偏差最大時,pred值為0.698,test值為0.56;在谷值時,pred值為0.304,test值為0.204。其余各點的殘差項預測結果和測試結果是貼近的。這表明模型能夠較好提取殘差數據的波動性特征。

圖8 殘差目標預測值訓練結果
由于日負荷預測,數值較大,BiLSTM-LSTM模型在預測峰值時出現偏差;而通過對殘差項的訓練,發現誤差之間的相關性,可以修正BiLSTM-LSTM模型預測帶來的偏差,獲得更好的預測結果。
實驗中殘差項取的是絕對值,將BiLSTM-LSTM模型的預測結果直接與殘差項相加,會產生很大偏差,所以本文在預測階段,將BiLSTM-LSTM模型的預測結果與殘差項,按殘差項未取絕對值之前的結果,正值相減,負值相加,獲得最終的預測結果。
圖9展示了負荷目標預測值與殘差目標預測值修正后的預測結果,橫坐標表示測試集天數,縱坐標表示反歸一化后的負荷值。從圖9可知,整體的預測效果,比單一BiLSTM-LSTM模型的預測效果更好。殘差項的修正過程,使得峰值預測結果的精度有了明顯的提高。從圖7和圖9實驗數據峰值的對比結果,可以得出通過對電力負荷數據周期性特征和波動性特征的學習,使得模型的峰值也能夠很好的擬合,組合模型的預測值也更符合真實負荷值。

圖9 二次指數平滑法多目標組合模型預測結果
為驗證本文提出的二次指數平滑多目標組合模型在電力負荷預測精度方面的優勢,與目前經常使用Attention-LSTM神經網絡、Attention-BiLSTM-LSTM神經網絡、級聯LSTM網絡模型進行對比。
(1)Attention-LSTM[11]:該模型利用最大信息系數法分析電價與負荷相關性,LSTM利用負荷時序特征,Attention進一步加權,輸出預測結果。
(2)Attention-BiLSTM-LSTM[14]:該模型將LSTM和BiLSTM串行,獲取負荷數據的雙向時序特征及其內部變化規律,并利用注意力機制計算隱層狀態不同權重,獲得預測結果。
(3)級聯LSTM[12]:該模型主要利用LSTM模型將負荷預測分為兩個階段,分別提取電力負荷的周期性和波動性特征。
預測模型對比實驗的MAE、MSE和RMSE結果見表5。

表5 不同模型在多種指標上的預測結果
表5可知,本文提出的方法在MAE、MSE和RMSE等評價指標都表現出較好的性能,分別為0.894,1.322,1.150,即具有最高預測精度。一方面從日負荷預測精度的角度分析,由評價指標可知本文模型預測結果有更高的預測精度,表明了本文方法的有效性和優勢。另一方面本文從電力負荷數據中提取時序特征,同時學習差值波動性特征,修正模型預測的誤差,獲得比較好的預測結果。
不同模型對驗證集進行日負荷預測的負荷曲線如圖10所示。

圖10 不同模型的電力負荷預測結果
從圖10可知,本文提出方法的預測結果pred更加貼近于真實的負荷曲線。體現在預測日總負荷的用電波峰和波谷的總體趨勢上,均取得了較好的預測效果。通過對負荷數據時序特征和波動特征的學習,更準確提取了負荷變化的規律。
本文提出了一種二次指數平滑多目標組合模型電力負荷預測方法,利用BiLSTM-LSTM模型提取時序數據的周期性特征,獲取負荷數據總體的預測趨勢;采用二次指數平滑法-LSTM學習殘差序列的隨機性特征,預測殘差序列內部的相關性規律,提高了ES-BiLSTM-LSTM模型的預測精度;將負荷預測值與殘差誤差值融合得到修正預測值,實現了多目標負荷預測。實驗結果表明,在2016年電工屬性建模競賽試題A組電力系統短期負荷數據集上,本文提出的預測方法,相較于Attention-BiLSTM-LSTM、級聯-LSTM、Attention-LSTM和模型,在預測誤差指標MAE、MSE和RMSE上均表現出更高的精度。