









摘" 要: 針對負荷數據波動性強、特征存在冗余而導致使用單一模型預測短期負荷時精度較低的問題,提出一種融合梯度提升樹(GBDT)、自適應噪聲完備集合經驗模態分解(CEEMDAN)、長短期記憶(LSTM)和極端梯度提升(XGBoost)的短期負荷預測組合方法。首先利用GBDT對負荷數據集進行特征選擇,篩選出重要特征;然后使用CEEMDAN將負荷序列分解后合并為低頻分量和高頻分量;再將低頻分量輸入到LSTM中進行預測,將高頻分量輸入到XGBoost中進行預測;最后,短期負荷的最終預測結果由兩個模型的預測結果進行疊加而成。與單一預測模型相比,所提方法在短期負荷方面具有更高的準確性。
關鍵詞: 長短期記憶; 極端梯度提升; 短期負荷預測; 自適應噪聲完備集合經驗模態分解; 梯度提升樹
中圖分類號:TM715" " " " " 文獻標識碼:A" " "文章編號:1006-8228(2023)12-49-06
Short-term load predicting based on LSTM-XGBoost and multi-model algorithm
Shao Bilin, Zhuang Xueli, Zeng Huibin
(School of Management, Xi'an University of Architecture and Technology, Xi'an, Shaanxi 710055, China)
Abstract: To address the problem of low accuracy in predicting short-term load using a single model due to the high volatility of load data and redundancy of features, a combined method for short-term load prediction is proposed that combines GBDT, CEEMDAN, LSTM, and XGBoost. Firstly, GBDT is used to feature select the load dataset to filter out important features. Next, the load sequence is decomposed and merged into low-frequency and high-frequency components using CEEMDAN. Then, the low-frequency components are input into LSTM and the high-frequency components are input into XGBoost for prediction. Finally, the final prediction results of short-term load are made by superposing the prediction results of the two models. Compared with the single prediction model, the proposed prediction method has higher accuracy in the short-term load.
Key words: long short-term memory (LSTM); extreme gradient boost (XGBoost); short-term load prediction; complete ensemble empirical mode decomposition with adaptive noise (CEEMDAN); gradient boosting decision tree (GBDT)
0 引言
我國“雙碳”政策的提出,促進了電能系統進一步發展。準確地預測短期電力負荷既有助于維持電網系統的長久穩定運行,還利于制訂電力調度策略以提高經濟效益[1]。現如今,國內外提出的短期負荷預測方法主要分為基于統計的傳統方法和基于機器學習的智能方法兩大類。傳統的數理統計法主要包括線性回歸法、自回歸(AR)模型等,這類方法的模型結構簡單,計算速度較快,但對于非線性負荷數據還難以獲得較高精度的預測結果。隨著科技的發展,將人工智能技術運用到短期負荷預測中成為了眾多學者的首選。其中最具代表性的方法包括循環神經網絡(RNN)、長短期記憶神經網絡(LSTM)以及極端梯度提升(XGBoost)等。這類方法能很好地處理特征眾多、樣本大的非線性數據,提高短期負荷預測精度[2]。LSTM解決了RNN梯度消失和爆炸的問題,可以在很大程度上改善時間序列數據的預測精度,但對模型的輸入數據要求較高[3]。以XGBoost為首的深度學習方法,具有較高的學習能力,在負荷預測領域表現非常好。
然而單獨使用這些方法時都有各自不足之處,負荷預測方法由單一模型轉變為組合模型能夠將模型各自的優點結合起來以取得更好的預測效果。由于負荷數據受氣候、節假日和歷史負荷等多方面的影響,導致特征存在冗雜,為進一步提高負荷預測精度,將特征選擇方法融入負荷預測中成為主流[4]。文獻[5]使用互信息(MI)選擇模型的輸入變量,能夠降低特征維度,提高預測模型效率。然而,目前大多數采用的這些特征選擇方法都是線性的,側重點在于計算速度,不具有較高的預測精度。梯度提升樹(GBDT)是一種集成算法,能夠作為非線性特征選擇方法對特征進行篩選,從而有效提高模型的預測精度與效率[6]。
此外,由于負荷序列數據具有較強的波動性和隨機性,有學者將分解的思想引入到負荷預測領域中,以進一步提高模型的預測速度和精度。文獻[7]將電力負荷由經驗模態分解(EMD)分解后再進行預測,實驗發現EMD出現了模態混疊現象導致預測精度低。文獻[8]為了提高負荷數據的平穩性,利用互補集合經驗模態分解(CEEMD)將風電功率的負荷數據分解為多個子序列。結果表明,使用分解方法使得風電功率預測結果的準確性顯著提高。然而,CEEMD雖僅用少量的平均次數就能快速達到消除殘余噪聲的效果,但存在產生不正確組件的傾向導致預測模型精度下降的問題。自適應噪聲完備集合經驗模態分解(CEEMDAN)通過更少的試驗次數引入額外的噪聲系數向量,這樣不僅解決了EMD模態混疊和CEEMD具有產生不正確組件傾向的問題,還減少負荷分解工作的內容[9]。
基于上述研究,本文提出了基于LSTM-XGBoost和多模型算法的短期負荷組合預測方法,融合了CEE-MDAN、GBDT、LSTM和XGBoost四種算法。首先使用GBDT算法根據特征的重要性評分篩選出重要特征以作為預測模型的輸入特征;然后,通過CEEMDAN對負荷數據進行分解重構為低頻和高頻分量兩種分量,不僅能夠有效降低負荷序列的波動性,還能減少計算成本;接著,將較平穩的低頻分量輸入到LSTM中進行預測,將波動性強的高頻分量輸入到XGBoost模型中進行預測;最后,短期負荷的最終預測結果由兩個模型的預測結果進行疊加而成。
1 相關理論原理
1.1 自適應噪聲完備集合經驗模態分解
CEEMDAN是在EMD、EEMD、CEEMD方法的基礎上進行改進的一種信號分解算法,它在分解過程中添加的是具有標準正態分布的自適應白噪聲,這種白噪聲會隨著分解過程而分解,對于復雜分量幾乎沒有影響。因此,CEEMDAN無需過多試驗次數即可達到較高的分解精度,不僅解決了EMD、EEMD的模態混疊問題,還兼顧了分解精度和計算成本。
1.2 梯度提升決策樹
梯度提升樹(gradient boosting decision tree,GBDT)是一種常用的集成算法,廣泛應用于分類、回歸和排序等任務中。使用GBDT進行特征選擇的核心就是計算并排序各個特征對于建立的K棵決策樹的分類性能所作出貢獻的程度,以此來評估每個特征的重要性。GBDT算法具體公式如下。
⑴ 初始化弱學習器[f0x]:
[f0x=argmini=1nL(yi,c)] ⑴
其中,[f0x]是一顆只有一個根節點的樹;[L(yi,c)]是損失函數;[yi∈Y?R],[Y]為負荷值;[c]是使損失函數最小化的常數;[i]是樣本數,[i(i=1,2,…N)]。
⑵ 計算第[m(m=1,2,…M)]次迭代樣本[i]的損失函數的負梯度,并將其作為殘差估計值[12]:
[rmi=-?L(yi,f(xi))?f(xi)fx=fm-1(x)]" ⑵
其中,[rmi]是殘差估計值;[xi∈X?Rn],[X]是輸入樣本空間,[xi]是特征值。
⑶ 計算回歸樹葉節點區域相對應的損失函數最小化時的最佳擬合值[10]:
[cmj=argminxi∈Rmjyi-fm-1(xi)] ⑶
其中,[cmj]是最佳擬合值;[Rmj,j=1,2,…,J]是[m]棵樹的節點區域。
⑷ 對學習器進行[m]次更新:
[fmx=fm-1x+m=1McmjIx∈Rmj]" ⑷
其中,[fmx]是更新[m]次的學習機;[I]為學習率。
⑸ 最終強學習器:
[fx=fMx=m=1Mj=1JcmjI(x∈Rmj]" ⑸
1.3 長短期記憶網絡
LSTM在RNN基礎上引入遺忘門、輸入門和輸出門結構,以解決梯度消失與爆炸,確保預測時間序列數據時所需的長期依賴性[11]。結構公式如下:
[ft=σWf?ht-1,xt+bf]" ⑹
[it=σWi?ht-1,xt+bi]" ⑺
[Ct=tanh (Wc?ht-1,xt)+bc]" ⑻
[Ot=σWo?ht-1,xt+bo]" ⑼
[ht=Ottanh (Ct)]" ⑽
[Ct=ftCt-1+itCt]" ⑾
其中,[ft]為遺忘門;[σ]為sigmoid激活函數;[Wf]和[bf]為遺忘門的權值和偏置;[ht-1]為[t-1]時刻的輸出;[xt]為[t]時刻的輸入;[it]為輸入門;[Wi]和[bi]為輸入門的權值和偏置;[Ct]為[t]時刻的暫停狀態;[tanh]為激活函數;[Wc]和[bc]為[Ct]的權值和偏置;[Ot]為輸出門;[Wo]和[bo]為輸出門的權值和偏置;[ht]為隱藏層輸出的信息。
1.4 極限梯度提升
XGBoost屬于基于樹的Boosting串行集成學習方法,是基于GBDT的一種改進算法,與其只使用一階導數信息不同,XGBoost采用了二階泰勒展開的損失函數,并將一個正則項添加到目標函數中,不僅能降低模型復雜度,還可以優化模型的計算精度[12]。XGBoost的目標函數如式⑿、式⒀所示。
[objθ=iRlyi,yi+k=1KΩ(fk)]" ⑿
其中,第一項為損失函數,是樣本訓練的總體誤差;[yi]和[yi]表示第[i]個點的負荷預測值和實際值;第二項為[k]棵樹的正則化項的總和。
[Ωfk=γT+λ12j=1Tωj2]" ⒀
其中,[λ]為控制葉子結點權重的分數;[ω]為葉子節點的分數;[γ]是懲罰函數系數,控制葉子結點的數量。
2 CEEMDAN-GBDT-LSTM-XGBoost的組合預測模型
針對負荷序列波動性強、復雜性高,負荷特征存在冗余,單一預測模型無法克服固有困難導致精度不高的問題,本文提出一種基于LSTM-XGBoost和多模型算法的短期負荷組合預測方法,該算法融合了CEEMDAN、GBDT、LSTM和XGBoost四種算法,預測流程如圖1所示。
⑴ 數據預處理。由于某些不可控因素會使手機的負荷數據存在異常,因此先要對原始數據集進行數據清洗、異常和缺失值處理數據標準化與歸一化等。
⑵ 特征選擇。利用GBDT對氣候、日期和歷史負荷等九種輸入特征進行降維處理,篩選出重要特征。
⑶ 負荷分解。使用CEEMDAN將經過預處理后的負荷數據分解為多個IMF分量,并根據過零率將這些IMF分量合并為低頻和高頻兩種分量。
⑷ 構建LSTM-XGBoost預測模型。將低頻分量和經特征選擇后的重要特征一同作為LSTM的輸入進行短期負荷預測;將高頻分量和經特征選擇后的重要特征一同作為XGBoost的輸入進行短期負荷預測。
⑸ 最后,短期負荷的最終預測結果由兩個模型的預測結果疊加而成。
3 實例分析
為了驗證CEEMDAN-GBDT-LSTM-XGBoost組合預測模型的可行性和有效性,選取國內某電力市場2012年至2015年數據作為數據集。該數據集包括采樣頻率為每小時一次的歷史負荷數據、氣象類五個因素和日期類三個因素。本文將數據集的前95%作為訓練集來構建本文的預測模型,剩余的數據作為測試集進行仿真實驗。
3.1 數據預處理
由于原始負荷數據規模較大,為了避免負荷與因素之間量綱不同而影響降維效果的問題,首先要將負荷數據做歸一化處理,公式如下:
[Z=x-xminxmax-xmin]" ⒁
其中,[Z]是歸一化后的數據值;[x]是原始負荷數據值;[xmin]是原數據中的最小值;[xmax]是原數據中的最大值。
3.2 評價指標
為客觀評估模型的預測性能,本文選擇將平均絕對百分比誤差(MAPE)和均方根誤差(RMSE)作為各個模型的評價指標,二者表達式如下:
[MAPE=1ni=1nyi-y*yi×100%]" ⒂
[RNSE=1ni=1nyi-y*2]" ⒃
其中,[n]為負荷預測樣本的總數量;[yi]為負荷的實際值;[y*]為負荷的預測值。
3.3 用CEEMDAN進行時間負荷序列分解
將原始負荷序列通過CEEMDAN算法進行分解得到九個IMF分量與一個視為誤差的殘余分量,對負荷數據的內部特征信息進行了深入挖掘。在表1中給出的CEEMDAN算法相關參數下,本文通過CEEMDAN對原始負荷進行了分解,并得到如圖2所示的結果。
為了避免對每個IMF都分別進行預測會導致預測精度不高且計算效率低的問題,采用過零率來劃分低頻與高頻分量,再對這兩種分量分別進行預測,過零率公式如下:
[L0=l0M]" ⒄
其中,[l0]為某分量過零的次數;[M]為樣本總量。
參考現有研究,大多數學者采用0.01來劃分低頻和高,由表2可知,IMF1、IMF2、IMF3、IMF4和IMF5的過零率小于0.01,因此將它們合并作為低頻分量,剩余的分量IMF6、IMF7、IMF8以及IMF9合并作為高頻分量,剔除RES[13]。
3.4 使用GBDT進行特征選擇
為了降低LSTM-XGBoost預測方法的特征冗余和模型的復雜程度,深層次挖掘特征的內部信息,使用GBDT算法挖掘出高相關地冗余的重要特征。通過直接將溫度、濕度、降雨量、歷史七天負荷數據、節假日、星期、月份等九個影響因素對負荷影響程度的大小進行排序,以篩選出影響程度最大的三個因素最為重要特征,并與歷史負荷同時作為LSTM-XGBoost預測模型的輸入。結果如表3所示。
表2為計算的特征重要性結果排序,反映了這些特征對負荷的影響程度。其中,預測前七天的歷史負荷數據的特征重要性值最高,這說明該特征最能反映外部特征對負荷變化的主要影響。氣象相關因素特征重要程度相對較高,其中溫度對負荷的貢獻程度最大,最高溫度比平均溫度和最低溫度具有更重要的影響,其次是降雨量。經過特征選擇后的特征重要性評分之和為55.99%,說明此方法在剔除了冗余特征的同時,還篩選出了極具代表性的重要特征。
3.5 預測結果分析及對比實驗研究
3.5.1 單一模型與組合模型對比
接下來用預處理后的負荷數據來驗證本文提出的CEEMDAN-GBDT-LSTM-XGBoost負荷預測組合模型的有效性,分別用LSTM、XGBoost和LSTM-XGBoost對同一組數據進行預測,結果如圖5和表3所示。
圖3和表3結果顯示XGBoost作為集成模型整體表現優于LSTM模型,預測結果更接近真實值,表明深度學習模型具有更好的預測性能;LSTM-XGBoost的MAPE和RMSE較于LSTM模型降低了56.91%和66.51%;較XGBoost模型降低了36.19%和50.07%。組合模型的預測結果精度較前二者都有所提高,表明LSTM-XGB-oost組合模型能夠針對負荷波動的周期性、非線性等特點結合LSTM與XGBoost各自的優勢,獲得到更優異的預測能力。綜上,LSTM-XGBoost組合模型的預測效果比單一的LSTM和單一的XGBoost都表現得更好。
3.5.2 特征處理前后
為了進一步驗證將特征選擇應用于短期負荷預測領域的有效性以及GBDT算法進行特征處理的優越性,本文把使用GBDT進行特征選擇后得到的重要特征和未經處理的特征分別作為LSTM-XGBoost模型的輸變量進行預測,結果如圖4和如表4所示。
從圖4可以看出使用了GBDT方法后的LSTM-XG-Boost模型預測曲線較未經特征處理的預測曲線更貼合真實值曲線。根據表4,通過GBDT進行特征選擇后的預測結果MAPE降低了37.966%,RMSE降低了51.90%,驗證了采用GBDT算法在負荷預測領域中進行特征選擇能夠提升模型學習效率,說明分解與特征選擇結合的方法能夠提高負荷預測精度。
3.5.3 不同分解方法對比
為了驗證CEEMDAN分解較其他分解方法更有優勢,本文還選取了EMD分解對負荷數據進行處理,利用EMD-GBDT-LSTM-XGBoost對同一天的負荷數據進行預測,預測結果如圖5和表5所示。相比未經分解的預測結果,使用負荷分解并對分量進行分類預測的結果精度都有所提高;對比基于EMD分解和基于CEEMDAN分解的預測結果,采用基于CEEMDAN分解方法進行預測的MAPE降低了47.85%,RMSE降低了41.58%,結果表明基于EMD分解的預測效果差于基于CEEMDAN分解,EMD分解存在的模態混疊問題會對負荷預測結果產生負面影響。綜合表明,分解預測的思想能夠有效地提高后續的預測精度,為最終獲得高精度預測結果奠定了基礎。CEEMDAN通過添加自適應白噪聲的方式進行處理,從而進一步提升了模型預測精度。
4 結論
本文針對短期負荷預測中存在特征冗余、負荷數據波動性強的問題,提出了基于LSTM-XGBoost和多模型算法的短期負荷組合預測方法,融合CEEMDAN、GBDT、LSTM和XGBoost四種算法,該預測方法具有以下優勢:
⑴ 通過CEEMDAN算法將原始負荷數據進行分解能降低其波動性,獲取到更多的負荷內部信息以提高負荷預測模型的精度。
⑵ 基于GBDT算法的特征選擇方法能夠有效分析特征對于負荷的影響程度大小,篩選出影響程度較高的特征來作為模型的輸入,不但可以減少模型中的特征冗余,還保證了模型的預測精度。
⑶ 結合LSTM和XGBoost對高低頻分量進行分別預測,不僅能夠有效提高預測效率,還可以發揮各自的優勢克服單一模型誤差大的缺陷。
參考文獻(References):
[1] 郭韶昕,陳祥,周楓.基于CEEMD-IDA-SVM的風電功率
短期預測[J].上海電機學院學報,2022,25(6):339-345.
[2] 高超,孫誼媊,趙洪峰,等.基于ICEEMDAN-ISSA-LSTM的
短期電力負荷預測[J/OL].中國測試:1-9[2023-06-24]
[3] 王子樂,王子謀,蔡瑩,等.基于長短期記憶神經網絡組合算法
的短期電力負荷預測[J].現代電力,2023,40(2):201-209.
[4] 常樂,汪慶年.基于優化聚類分解與XGBOOST的超短期
電力負荷預測[J].國外電子測量技術,2022,41(5):46-51.
[5] 徐巖,向益鋒,馬天祥.基于EMD-CNN-LSTM混合模型的
短期電力負荷預測[J].華北電力大學學報(自然科學版),2022,49(2):81-89.
[6] 鄭豪豐,楊國華,康文軍,等.基于多負荷特征和TCN-GRU
神經網絡的負荷預測[J].中國電力,2022,55(11):142-148.
[7] OmajiSamuel,Fahad A. Alzahrani,Raja Jalees Ul Hussen
Khan,etal.Towards Modified Entropy Mutual Information Feature Selection to Forecast Medium-Term Load Using a Deep Learning Model in Smart Homes[J]. Entropy,2020,22(1).
[8] 陳振宇,劉金波,李晨,等.基于LSTM與XGBoost組合模型的
超短期電力負荷預測[J].電網技術,2020,44(2):614-620.
[9] Hui Liu,Chao Chen. Data processing strategies in wind
energy forecasting models and applications: A comprehensive review[J].Applied Energy,2019,249.
[10] 張永真,呂學強,申閆春,等.基于SAO結構的中文專利實體
關系抽取[J].計算機工程與設計,2019,40(3):706-712.
[11] 賈銳軍,冉祥來,吳俊霖,等.基于XGBoost算法的機場旅客
流量預測[J].民航學報,2018,2(6):34-37,33.
[12] 張亞寧.基于LSTM模型的短期負荷預測[J].科技與創新,
2018(12):18-21.
[13] 武國良,祖光鑫,楊志軍,等.基于MLR和LSTM神經網絡的短期
負荷預測方法[J].黑龍江電力,2021,43(4):297-301.