胡乙丹,張俊芳
(南京理工大學 自動化學院,江蘇 南京 210018)
智能電網的理想場景是供應給目標區(qū)域的電量等于客戶的消費量,不僅能對電力資源進行合理分配從而產生巨大的經濟效益,而且能抵御引起大規(guī)模停電的諸多不確定因素,例如自然災害、季節(jié)性高峰、恐怖襲擊、城市動亂、戰(zhàn)爭等,因而也具有很高的社會價值[1]。
城市用電負荷的精準預測是實現智能電網的前提條件,其中中長期用電負荷預測對電力系統的運行和規(guī)劃非常重要[2]。城市中長期用電負荷預測是一個非線性時間序列趨勢預測問題,與諸多因素有關,例如一個國家的整體經濟發(fā)展速度、季節(jié)性氣象周期因素、節(jié)假日規(guī)劃以及各種不確定因素等。因此,如何準確刻畫影響城市中長期用電負荷的諸多因素是實現精準預測的關鍵。
現有城市中長期用電負荷預測方法主要分為兩大類,即經典的時間序列方法和新興的機器學習(Machine Learning,ML)方法[3]。時間序列方法的代表模型有自回歸積分移動平均(Autoregressive Integrated Moving Average,ARIMA)、指數平滑(Exponential Smoothing,ETS)和線性回歸,其優(yōu)勢在于模型相對簡單、穩(wěn)健、高效,且能很好地處理季節(jié)性時間序列[4]。ML 方法是當前的新興技術,具備強大的非線性表征學習能力和復雜數據挖掘能力,現已得到了廣泛應用[5-7]。
在所有ML 方法中,對于神經網絡(Neural Network,NN)的探索與應用最為廣泛,一些代表工作有:文獻[8]結合歷史需求和天氣因素學習負荷需求的變化規(guī)律;文獻[9-14]利用Kohonen NN、循環(huán)神經網絡(Recurrent Neural Network,RNN)以及其它基于NN 的變體實現準確的電力負荷預測。
最近,隨著深度學習(Deep Learning,DL)的快速發(fā)展,基于DL 的城市用電負荷預測得到了廣泛關注[15]。例如,節(jié)點之間的連接沿著時間序列形成一個有向圖的RNN,能夠利用其內部狀態(tài)(記憶)來處理輸入序列,從而表示時間動態(tài)行為。另外,最近研究表明,長短期記憶(Long Short-Term Memory,LSTM)網絡預測結果優(yōu)于大多數經典時間序列方法和ML 方法[16],現已有諸多將LSTM等DL 方法應用于負荷預測的成功案例[17-19]。例如,文獻[20]提出一種新穎的卷積網絡結合雙向LSTM 來實現短期負荷預測;文獻[21]提出一種用于學習深度序列預測的殘差循環(huán)高速網絡;文獻[22]提出N-BEATS 模型,具有可解釋性,且訓練速度快,無需修改即可應用于廣泛的目標領域;文獻[23]提出的DeepAR 模型基于對大量相關時間序列的自回歸RNN 訓練,實現準確的概率預測;文獻[24]提出將深度學習與狀態(tài)空間模型相結合,可保留狀態(tài)空間模型的所需屬性,如數據效率和可解釋性,同時具備從原始數據中學習復雜模式的能力。
此外,為了提高預測性能,ML 方法還與ETS 等其它方法混合使用[25-26]。例如由文獻[27]開發(fā)的模型是一種結合統計學和ML 的混合方法,將ETS 與LSTM 相結合,使得LSTM 模塊具備了諸如擴張、殘差連接和注意力機制等可提高其學習與泛化能力的機制[28-30],實現了精確的負荷預測。但是,由于城市中長期用電需求不僅受長期經濟趨勢和季節(jié)循環(huán)因素的影響,而且存在諸多不確定性和非線性問題,因而文獻[31]提出利用集成學習融合LSTM 和ETS,使預測模型具備較好的綜合性能。
然而,影響城市用電負荷需求的因素眾多,各因素對趨勢特性、季節(jié)特性等方面的影響各不相同。例如歷史用電負荷數據和經濟狀況可較好地反映趨勢特性,氣候和節(jié)假日等因素可很好地反映季節(jié)特性。因此,在開展城市用電負荷需求預測時,需要對各因素進行重要性分析,并對各方面特性進行針對性建模,才能準確刻畫諸多因素,實現精準預測。但是,現有方法并未針對上述問題進行建模解決。為此,本文參照文獻[31],通過引入特征選擇篩選出影響城市用電負荷趨勢特性和季節(jié)特性的重要特征,提出一種面向城市用電負荷預測的混合機器學習(Hybrid Machine Learning,HML)模型。該模型針對負荷的趨勢和季節(jié)特性篩選出重要特征,利用ETS 捕捉負荷時間序列的季節(jié)和趨勢分量,然后利用LSTM 和所篩選的特征對趨勢和季節(jié)分量進行非線性預測,最后利用集成學習實現各學習模塊性能的有效聚合。在實驗中,本文選擇中國兩個城市的月度用電量作為標準數據集,通過特征選擇篩選出節(jié)假日、天氣、濕度、風力、降雨、氣壓、云量、最高溫度、最低溫度等12 個重要特征進行建模。實驗結果表明,本文提出的HML 模型在月度用電量預測精度方面優(yōu)于現有最新的相關模型。
本文主要貢獻包括以下兩點:
(1)提出一種面向城市用電負荷預測的混合機器學習HML 模型,該模型同時具有經典時間序列方法的穩(wěn)健性和機器學習方法的強非線性學習能力兩個優(yōu)點,在城市月度用電量預測精度上優(yōu)于現有的最新模型。
(2)對所提出的HML 模型進行了詳細闡述和分析,并在真實數據集上進行了實證分析,證明了其有效性。
本文所提出的HML 模型是一個混合機器學習模型,可以有效結合特征選擇、ETS、LSTM 和集成學習的優(yōu)點。在特征選擇中,不僅會篩選與用電負荷預測相關的特征,而且將分別針對趨勢特性和季節(jié)周期特性進行針對性的特征選擇;在ETS 方法中,目的是為了將用電負荷時間序列拆解為趨勢分量和季節(jié)分量,在后續(xù)預測建模中將單獨針對單個分量進行預測;在LSTM 模型中,將分別針對趨勢特性和季節(jié)周期特性篩選的特征進行單獨預測,可分別提升單個分量的預測精度;最后基于集成學習的多樣性原則構造多個預測子模型,利用多個子模型的綜合預測能力減少隨機特性對預測結果的影響,提升模型預測的穩(wěn)定性。下文詳細闡述HML 模型。
本文所提出的預測模型結構如圖1所示。
Fig.1 Structure of HML model圖1 HML模型結構
HML 模型由以下部分組成:
(1)特征選擇。輸入與用電負荷相關的各種因素特征,通過特征選擇方法篩選出與季節(jié)因素和趨勢因素最相關的特征用于后續(xù)模型建模。
(2)ETS。一種乘法季節(jié)性分解模型,其可從時間序列中提取兩個分量趨勢和季節(jié)分量。ETS 加載一組時間序列(Y),分別計算每個序列的趨勢和季節(jié)分量,并返回趨勢分量集(L)和季節(jié)分量集(S)。
(3)預處理。趨勢和季節(jié)分量用于時間序列的去季節(jié)化和適應性規(guī)范化。預處理模塊的輸入包括時間序列集Y、趨勢分量集L和季節(jié)分量集S。預處理后的數據被劃分為輸入和輸出訓練數據,并最終返回訓練集ψ。
(4)LSTM。由4 層組成的殘差擴張LSTM 具有的重復特性使其能夠學習連續(xù)數據中的長期依賴關系。LSTM 在訓練集ψ 上進行交叉學習,其產生的全部時間序列預測將返回集合。
(5)后處理。對去季節(jié)化和歸一化的時間序列預測進行重新季節(jié)化和重新歸一化。后處理模塊的輸入包括預測集、趨勢分量集L和季節(jié)分量集S,輸出則為包含每個時間序列預測的集合。
(6)集成學習。對單個模型產生的預測進行平均,以進一步增強方法的魯棒性,減輕模型和參數的不確定性。集成學習模塊接收由單個模型生成的預測集(k和r與集合成員有關),對其進行聚合并返回所有時間序列的預測集Yavg。集成學習結合了訓練階段、數據子集和模型3 個層面的單個預測,以減少與隨機梯度下降的隨機性、數據和參數的不確定性相關的方差。
(7)隨機梯度下降(Stochastic Gradient Descent,SGD)。ETS 和LSTM 通過相同的整體優(yōu)化程序——SGD 算法來更新參數,其首要目標是使預測誤差最小化。
特征選擇也稱為特征子集選擇或屬性選擇,是從輸入的用電負荷眾多特征中篩選出最相關的有效特征,降低數據集維度,去掉不相關特征和冗余特征,提高學習算法的性能,是本文HML 模型的關鍵步驟。本文輸入眾多相關特征,如節(jié)假日、天氣、濕度、風力、降雨、氣壓、云量、最高溫度、最低溫度等,并采用相關性分析和冗余分析篩選出重要特征[32],具體流程如圖2所示。
首先,計算每個輸入特征x(i)與負荷時間序列y 之間的皮爾遜相關系數(Pearson Correlation Coefficient,PCC),假設總共有N個時間序列,PCC計算公式如下:
如果x(i)的PCC大于設定的閾值2,則為強相關特征,直接保留輸出;如果PCC小于設定的閾值1,則為不相關特征,將其拋棄;如果閾值1≤PCC≤閾值2,則為弱相關特征,進入冗余性分析。采用馬爾可夫毯分析方法分析x(i)是否為冗余特征,如果x(i)是冗余特征,則x(i)應滿足如下條件:
其中,MB(y)代表y 的一個馬爾可夫毯,ζ代表一個任意集合。對于冗余特征,則應該拋棄。
時間序列擁有復雜的性質,可利用各種分解方法分解出其中的重要分量[33]。本文所提出的HML 模型使用ETS作為預處理工具,從時間序列中提取趨勢分量和季節(jié)分量,然后使用這些分量對原始時間序列進行規(guī)范化和去季節(jié)化處理,預處理后的時間序列由LSTM 進行預測。季節(jié)性周期為12(適用于月度電力負荷數據)的ETS 模型更新公式具體如下:
其中,yt是時間點t的時間序列值,lt、st分別是趨勢分量和季節(jié)分量,α,β∈[0,1]是平滑系數。
趨勢分量方程顯示了經季節(jié)調整的觀測值與時間點t-1 趨勢分量之間的加權平均值。季節(jié)分量方程將時間點t+12 的季節(jié)分量表示為季節(jié)分量新估計值(yt/lt)和過去估計值(st)之間的加權平均值。通過SGD 調整ETS 模型參數、12 個初始季節(jié)分量、每個時間序列的兩個平滑系數以及LSTM 權重,獲得這些參數后,可以計算趨勢分量和季節(jié)分量,參與后續(xù)負荷時間序列預處理的去季節(jié)化和歸一化,以及最終負荷預測結果的計算。
計算每個時間序列所有點的趨勢分量和季節(jié)分量,然后在動態(tài)預處理期間將其用于去季節(jié)化和自適應歸一化。這是預測過程中最關鍵的因素,決定了預測模型性能。在每個訓練時段中,使用趨勢分量和季節(jié)分量的更新值對時間序列進行預處理。這些更新值由公式(3)計算得出,其中ETS參數在每個訓練輪次中由SGD 逐漸進行微調。
時間序列使用滾動窗口進行預處理,包括輸入和輸出窗口。兩個窗口的長度均為12,等于季節(jié)周期和預測范圍的長度。輸入窗口Δin包含12 個連續(xù)的時間序列元素,經過預處理后作為LSTM 的輸入(即輸入向量)。對應的輸出窗口Δout也包含12 個連續(xù)元素,經過預處理后作為LSTM 的輸出(即輸出向量)。通過將兩個窗口內的時間序列片段除以輸入窗口中趨勢分量的最后一個值,對其進行歸一化,然后除以相關的季節(jié)分量,通過此操作獲得接近1 的正輸入和輸出值。最后,使用一個壓縮函數log(.)限制異常值對預測的破壞性影響。預處理結果可表示如下:
其中,xt是第t個預處理的時間序列元素是輸入窗口Δin中趨勢分量的最后一個值,st是第t個季節(jié)分量。注意歸一化是自適應和局部的,“歸一化器”遵循系列值,即允許將輸入和輸出變量中序列(和st)的當前特征包括進來。
包含在連續(xù)輸入和輸出窗口中時間序列的預處理元素可由如下向量表示:
第一對輸入和輸出窗口:
第二對輸入和輸出窗口:
第N對輸入和輸出窗口:
這些表示輸入和輸出窗口中時間序列預處理元素的向量包含在第i個時間序列的訓練子集中:Φi=。所有M個時間序列的訓練子集被組合起來并形成訓練集Ψ={Φ1,Φ2,...,ΦM},用于LSTM的交叉學習。注意訓練集的動態(tài)特性,由于公式(4)中的趨勢和季節(jié)分量已更新,因此其在每個訓練輪次中都會更新。
LSTM 對預處理的時間序列值xt進行操作。在后處理步驟中,LSTM 生成的預測需按以下方式展開:
注意,公式(5)中的趨勢分量值和季節(jié)分量st是已知的,這是通過計算所必需的,其由公式(1)根據負荷時間序列的歷史值計算得到。
LSTM 是一種特殊的RNN,能夠學習序列數據中的長期相關性[34]。一個普通的LSTM 塊由一個能夠隨時間步更新而更新狀態(tài)的存儲單元和3 個稱為門的非線性調節(jié)器組成,其能控制塊內的信息流。一個典型的LSTM 塊如圖3 所示。在本文中,經過預處理后的LSTM 輸入并非標量,而是長度為12(即季節(jié)周期)的時間序列向量,其允許LSTM 直接暴露于即時的歷史序列。LSTM 輸出是一組長度為12 的完整預測序列的向量。同時,在輸入過程中,還將一起輸入對應時間序列長度的特征,例如將對應時間序列的氣溫或節(jié)假日天數作為特征一起輸入。確定x的輸出模式后,根據公式(3)計算月需求的預測值。
集成學習是一種應用廣泛的可提高單個弱學習器性能的方法。與單個學習器相比,集成學習方法以某種方式將多個學習算法結合起來產生一種共同的響應,以提高預測結果的準確性和穩(wěn)定性。集成學習的關鍵問題是確保學習器的差異性[35],對單學習器性能與差異性之間的正確權衡決定了集成學習的有效性。HML 預測模塊有以下3種差異性來源:一是使用SGD 的隨機訓練過程;二是類似于采樣數據集,即使用隨機抽取的訓練集子集來訓練每個學習器;三是使用不同的參數初始值訓練基學習器。因此,相對應地,由LSTM 模型生成的分量預測結果在以下3個級別上進行集成學習:
(1)訓練階段級。對L個最近訓練輪次產生的預測結果進行平均。
(2)數據子集級。對在訓練集子集上學習的K個預測模型所產生的預測結果進行平均。
(3)模型級。對數據子集級預測的R次獨立運行所產生的預測結果進行平均。
在第一層級別上進行平均計算具有平息噪聲SGD 優(yōu)化過程的效果。SGD 使用小批量的訓練樣本來估計實際梯度,梯度搜索計算所得的近似梯度在收斂曲線上表現為噪聲。當算法在局部最小值附近收斂時,對最近訓練輪次獲得的預測結果進行平均,可以減少隨機搜索的影響,形成更準確的預測。
在第二層級別上,在訓練集子集Ψ1,Ψ2,...,ΨK上學習的K個模型產生的預測將被平均。訓練集Ψ={Φ1,Φ2,...,ΦM}是由包含第i個時間序列訓練樣本的子集Φi構成的。要創(chuàng)建訓練Ψ 子集,首先需將一組M個時間序列隨機分成大小相似的K個子集:Θ1,Θ2,...,ΘK。第K個Ψ 子集包含所有時間序列的Φ 子集,但Θk中的Φ 子集除外,即Ψk=Ψ{Φi}i∈Θk。在K個模型中,每一個模型都在其訓練子集Ψk上學習,并為Ψk中包含的時間序列生成預測。然后,對K個模型池生成的預測結果進行平均。
在最后一層級別上,簡單地對K個模型R次獨立運行中產生的每個時間序列的預測進行平均,每次運行中訓練子集Ψk都會被重建。
注意學習器的差異性是決定集成學習性能[35]的一個關鍵屬性,在本文提出的方法中有各種方式實現學習器的差異性,包括:①數據不確定性:在小批量和訓練集的不同子集上學習;②參數不確定性:在每次運行中使用不同的模型參數初始值進行學習。
在最后兩個集成學習級別中,創(chuàng)建了K個訓練Ψ 子集。第k次運行中包含的第k個子集中的時間序列集合用表示,本例中模型生成的預測集合用表示。對于每個時間序列,R(K-1)預測取平均值。這兩種集成學習級別的聯合操作可表示為:
其中,K是模型池大小,R是運行次數,而表示第k次運行生成的預測y向量。
(1)數據集。本文選擇中國兩個城市的月度用電量作為基準數據集,分別命名為D1、D2。這兩個數據集還包括節(jié)假日、天氣、濕度、風力、降雨、氣壓、云量、最高溫度、最低溫度等12 個對應時間序列的特征。表1 總結了數據集的統計信息,其中本文使用過去12 個月的數據,即將從2021 年1—12 月的月度用電量作為測試集,其余數據作為訓練集。
Table 1 Statistics of the dataset表1 數據集統計數據
(2)評價指標。對于用電負荷預測,主要關注估計值與實際值的接近程度,因此通常選擇平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)和平均絕對誤差(Mean Absolute Error,MAE)作為評價指標。MAPE 和MAE 分別反映了預測誤差率與絕對預測誤差,由式(7)計算:
其中,Ri代表第i個月份的真實值,表示第i個月份的預測值,N代表預測的總共月數。
(3)標準對比模型。本文將所提出的HML 模型與7 個相關的最新模型進行對比實驗。這些對比模型具有不同特點,分為兩種類型,包括5 個ML 模型(GRNN[36]、MLP[37]、XGBoost[38]、SVR[39]和LSTM[40]),以及2 個混合模型(NBEATS[41]和APLF[42])。表2 簡要介紹了這些模型,其中所有模型的超參數都是在驗證集(部分訓練集)上調參所得。
Table 2 Descriptions of comparison models表2 對比模型描述
2.2.1 MAE比較結果
圖4 展示了所提出的HML 模型和兩類對比模型在兩個數據集上的MAE 比較結果。
Fig.4 MAE comparison results of HML and other methods圖4 HML與其他方法MAE比較結果
觀察圖4可以得到:
(1)總體上第3-6 月的誤差相對于第7-8 月的誤差要?。籄PLF 的預測誤差最大;MLP 和XGBoost 的波動很大,且準確率時而高,時而低。
(2)在所有的對比模型中,HML 表現最好,不僅取得了最低的MAE,而且在大多數情況下取得了最穩(wěn)定的預測結果。
(3)HML 比其它基于ML 的模型表現都好,驗證了融入傳統時間序列預測ETS 和集成學習可提升單一ML 方法的性能。
2.2.2 MAPE比較結果
MAPE 在D1 和D2 上的比較結果分別記錄在表3、表4中。
Table 4 Comparison results of MAPE on D2表4 MAPE在D2上的比較結果
為了更好地理解這些結果,對其進行了一些統計分析。首先,12 個月的平均MAPE 被記錄在倒數第四行;其次,每個模型在12 個月中預測輸/贏的比分在倒數第三行進行了總結,其中對某個月份預測精度比HML 高的預測結果追加以黑點“●”標記;再次,采用Friedman 檢驗來檢查多個模型在多個數據集上的表現,F-rank 值越小表示準確率越高,結果記錄在倒數第二行;最后,采用Wilcoxonsigned 檢驗HML 是否比每個對比模型的MAPE 明顯更低,其中顯著性差異水平小于0.05 的結果被加粗顯示,相關結果記錄在最后一行。
Table 3 Comparison results of MAPE on D1表3 MAPE在D1上的比較結果
從表3、表4可得出以下結論:
(1)在大多數情況下,HML 取得了比其他模型更低的MAPE,在D1、D2 上的平均MAPE 分別為0.92%±1.42%、0.94%±1.22%。在兩數據集的比較實驗中,HML 均只輸了12 個案例,贏了72 個案例,證明HML 比其他模型誤差更低,且更穩(wěn)定。
(2)與其他所有模型相比,RD-ETS+LSTM 在兩個數據集上取得了最低的F-rank 值,表明其在所有數據集上取得了最高的預測精度。
(3)除1 個案例外,其他的p值都小于0.05,表明HML在兩個數據集上比其他模型的預測精度明顯更高。注意,雖然只有一種情況的假設不被接受,但HML 仍然比其它對比模型的MAPE 低得多。
綜上所述,MAE 和MAPE 的比較結果驗證了本文所提出的HML 模型在月度用電負荷預測的準確性和穩(wěn)定性方面顯著優(yōu)于其他同類模型。
本文提出一種面向城市用電負荷預測的混合機器學習(HML)模型。該模型首先對影響城市用電負荷的各因素進行特征選擇,篩選出重要特征;其次利用指數平滑(ETS)捕捉用電負荷時間序列的季節(jié)分量和趨勢分量;然后利用長短期記憶(LSTM)網絡發(fā)掘用電負荷時間序列的非線性趨勢;最后利用集成學習實現各學習模塊性能的有效聚合。為了驗證HML 模型的有效性,選擇中國兩個城市的月度用電量作為標準數據集,并與最新的5 個機器學習(ML)模型和2 個混合模型進行了對比分析。實驗結果表明,HML 模型在預測精度方面顯著優(yōu)于對比模型。在未來研究中,計劃引入智能優(yōu)化算法如差分進化來優(yōu)化HML模型的特征選擇,進一步提升模型性能。