王士彬,何 鑫,余成波,張 未,陳 佳
(1.國網(wǎng)重慶市電力公司市南供電分公司, 重慶 401336; 2.重慶理工大學(xué) 電氣與電子工程學(xué)院, 重慶 400054;3.重慶市能源互聯(lián)網(wǎng)工程技術(shù)研究中心,重慶 400054)
在電力系統(tǒng)中,電力負(fù)荷是重要的組成部分,更準(zhǔn)確的負(fù)荷預(yù)測結(jié)果能讓電網(wǎng)制定更靈活、經(jīng)濟(jì)的調(diào)度計劃[1],確保電力系統(tǒng)安全、穩(wěn)定地運行。因此,提高電力負(fù)荷預(yù)測準(zhǔn)確度意義重大。
電力負(fù)荷預(yù)測主要是通過對歷史負(fù)荷數(shù)據(jù)資料進(jìn)行統(tǒng)計分析,利用數(shù)學(xué)模型和統(tǒng)計方法,對未來某一時期內(nèi)電力系統(tǒng)各負(fù)荷點的用電情況進(jìn)行預(yù)測,短期負(fù)荷預(yù)測時間為1天到1個星期。目前,短期電力負(fù)荷預(yù)測的理論和方法展開了大量研究[2-4]。周莽等[5]對負(fù)荷數(shù)據(jù)及有關(guān)天氣、節(jié)假日信息進(jìn)行棧式自編碼,然后構(gòu)建門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)預(yù)測電力負(fù)荷,實例結(jié)果顯示這種包含更多信息的模型具有預(yù)測誤差更小、精度更高的特點。李坤奇等[6]對居民用電進(jìn)行短期預(yù)測時,考慮到了不同用戶的用電習(xí)慣,并構(gòu)建了由時間以及氣候信息組成的多特征時間序列數(shù)據(jù)集,使預(yù)測誤差大幅降低。張寧[7]用集成經(jīng)驗?zāi)J椒纸馑惴ò沿?fù)荷數(shù)據(jù)自適應(yīng)分解后,根據(jù)不同分量的特點建立極限學(xué)習(xí)機(jī)模型對電力負(fù)荷短期預(yù)測,經(jīng)實驗證明,相比于傳統(tǒng)極限學(xué)習(xí)機(jī)、支持向量機(jī)模型的平均絕對誤差降低約0.01。在負(fù)荷組成成分更復(fù)雜、短時間變化量更大的工業(yè)負(fù)荷使用單一預(yù)測算法結(jié)果精度往往較低,亓?xí)匝嗟萚8]對某鋼鐵工業(yè)地區(qū)負(fù)荷分解,再使用一種融合長短期記憶網(wǎng)絡(luò)和支持向量機(jī)不同優(yōu)點的改進(jìn)算法預(yù)測,比單獨采用長短期記憶網(wǎng)絡(luò)、支持向量機(jī)算法的模型準(zhǔn)確率分別提升了5.15%、6.43%。
可見,在負(fù)荷預(yù)測過程中使用有效的多特征變量、數(shù)據(jù)分解、模型融合等方法可以提高預(yù)測準(zhǔn)確度。為了減小負(fù)荷序列波動性影響、學(xué)習(xí)到更多有效特征信息、對多個算法取長補短,提出了一種VMD-Stacking集成學(xué)習(xí)的多特征變量短期負(fù)荷預(yù)測模型。
Konstantin Dragomiretskiy和Dominique Zosso在2014年提出了VMD算法[9],這種分解方法使用迭代搜索變分模型最優(yōu)解來確定每個子模態(tài)分量的中心頻率及帶寬,且每個模態(tài)在解調(diào)成基帶之后是平滑的。分解后的IMF分量能夠特征互異,避免模態(tài)混疊和端點效應(yīng),對采樣和噪聲有更強的魯棒性[10-11]。類似的,使用VMD分解電力負(fù)荷序列可以得到較為平穩(wěn)的子序列來提高負(fù)荷預(yù)測結(jié)果的準(zhǔn)確度。具體步驟為:
第1步:把電力負(fù)荷序列P(t)分解成預(yù)設(shè)的k個IMF分量,然后,對每個負(fù)荷子序列uk(t)做Hilbert變換,得到相應(yīng)的單邊頻譜:
(1)
式(1)中:δ(t)為狄拉克函數(shù),*為卷積運算符。
第2步:在每個uk(t)中加入預(yù)估的中心頻率ωk進(jìn)行修正,并將其頻譜移到基頻帶上,計算公式為
(2)
第3步:計算梯度的L2范數(shù)的平方,估計對應(yīng)負(fù)荷子序列uk(t)的基頻帶寬,為了使得其帶寬估計之和最小,構(gòu)建出帶約束條件的變分模型如下:
(3)
式(3)中: ?t為偏導(dǎo)運算符,‖‖2為L2范數(shù)。
第4步:為了簡化計算式(3)的約束變分問題,引入Lagrange乘子λ(t)和二次懲罰因子α,將其轉(zhuǎn)為無約束條件的變分模型:
模態(tài)變量計算為
(5)
中心頻率計算為
(6)
終止條件為
(7)
Stacking集成學(xué)習(xí)框架可以融合多個算法,使預(yù)測結(jié)果精度高于單一算法的性能[12-13]。圖1所示為該模型框架圖,分為兩層結(jié)構(gòu)設(shè)計。其中,第1層由一個或多個基學(xué)習(xí)器組成,因融合的學(xué)習(xí)器越多,模型越復(fù)雜,訓(xùn)練時間更長,本文中僅使用2個初級學(xué)習(xí)器;第2層采用一個簡單的算法作為元學(xué)習(xí)器,不僅強化了學(xué)習(xí)效果,而且不會造成預(yù)測模型過冗余復(fù)雜、過擬合現(xiàn)象。
圖1 Stacking集成學(xué)習(xí)模型框架
Stacking集成學(xué)習(xí)模型構(gòu)建的具體步驟如下:
第1步:基于交叉驗證的思想,將訓(xùn)練集劃分為5個大小相等的子集,再依次遍歷這5個子集,每次把當(dāng)前子集作為預(yù)測數(shù)據(jù),剩余的4個子集作為訓(xùn)練數(shù)據(jù),共遍歷5次,對應(yīng)第1~5折。
第2步:把每一折中用于訓(xùn)練的子集導(dǎo)入基學(xué)習(xí)器1訓(xùn)練,然后基于訓(xùn)練好的基學(xué)習(xí)器1對測試集和需要預(yù)測的子集進(jìn)行預(yù)測,經(jīng)過5折的訓(xùn)練與預(yù)測后,組合每折訓(xùn)練集的預(yù)測結(jié)果得到新訓(xùn)練集,每折測試集的預(yù)測結(jié)果取平均值得到新測試集。同理,對基學(xué)習(xí)器2重復(fù)這一步驟。
第3步:利用第一層輸出的新訓(xùn)練集訓(xùn)練元學(xué)習(xí)器,基于訓(xùn)練好的元學(xué)習(xí)器對新測試集預(yù)測,得到最終的預(yù)測結(jié)果。
選擇Stacking集成學(xué)習(xí)框架的基學(xué)習(xí)器方面,考慮到不同算法有不同的原理與特性,XGBoost和LightGBM都是通過優(yōu)化梯度提升樹算法而來[14-17],然而它們的決策樹生長策略不同。XGBoost采用帶深度限制的level-wise生長策略,不容易產(chǎn)生過擬合現(xiàn)象,但沒有對同一層葉子加以區(qū)分,造成訓(xùn)練時間和內(nèi)存消耗方面存在劣勢;LightGBM采用leaf-wise生長策略,速度和性能遠(yuǎn)優(yōu)于XGBoost,但需要加入一個最大深度限制,否則會產(chǎn)生過擬合。所以,將XGBoost和LightGBM作為基學(xué)習(xí)器,簡單的貝葉斯回歸算法作為元學(xué)習(xí)器,負(fù)荷預(yù)測結(jié)果準(zhǔn)確度會有不少提升。
VMD-Stacking集成學(xué)習(xí)模型具體流程如圖2所示,將劃分好的負(fù)荷序列經(jīng)過變分模態(tài)分解后得到IMF分量和RES分量(總有功功率減去各IMF分量值)導(dǎo)入Stacking集成學(xué)習(xí)模型得到各分量的預(yù)測值,重組預(yù)測值后得到預(yù)測結(jié)果,并設(shè)置多無特征算法組和有多有特征算法組作為對比評價。
圖2 預(yù)測模型流程
本次分析選擇某地區(qū)2018年1月—2021年8月的負(fù)荷總有功功率為實驗數(shù)據(jù),采樣間隔15 min,其中2020年8月以前的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),且按時間劃分為4個季度。使用不同的方法來預(yù)測剩下一年中每個季度所對應(yīng)春分、夏至、秋分、冬至、春節(jié)這5天的負(fù)荷情況,評估其預(yù)測結(jié)果來檢驗所提模型的有效性。
在使用VMD算法前需要確定分解模態(tài)數(shù)k,如果k值過大會出現(xiàn)模態(tài)混疊,相鄰模態(tài)分量接近中心頻率,產(chǎn)生額外的噪聲;k值過小會造成欠分解,有效信息被忽略掉,不利于提高預(yù)測結(jié)果準(zhǔn)確度。VMD算法中不同的k值對應(yīng)分解后子模態(tài)分量的中心頻率不同,可以用中心頻率觀察法[18]來確定k值。以負(fù)荷序列為分解對象,設(shè)定不同的值,得到各IMF分量對應(yīng)的中心頻率如表1所示。
表1 各IMF分量中心頻率
當(dāng)k>4后,最后一個IMF分量的中心頻率增量很小,若繼續(xù)增大k值分解會導(dǎo)致各分量中心頻率距離越接近,造成模態(tài)混疊。
綜上,取k=4對負(fù)荷序列進(jìn)行分解,結(jié)果如圖3所示。由于分解的是負(fù)荷序列,如果直接拋棄信息豐富的RES分量將會限制模型的預(yù)測準(zhǔn)確性[19],所以本次分解保留了RES分量。
從圖3負(fù)荷有功功率曲線可以看出該地區(qū)夏季用電量大,冬季臨近春節(jié)時的用電量小,有一定規(guī)律性。在日期的基礎(chǔ)上收集每天的溫度、天氣、農(nóng)歷和節(jié)假日情況等作為特征變量[20-21],但在預(yù)測過程中過多的無關(guān)變量反而會影響模型的訓(xùn)練效果。分別用LighGBM和XGBoost算法預(yù)測春分、夏至、秋分、冬至、春節(jié)這5天的負(fù)荷情況,得到每個特征的重要性占比平均值如圖4所示。可以看到,這2種算法對特征的重要性比值有所不同,LightGBM算法注重時間變化,XGBoost算法則更偏向溫度變化。在預(yù)測時去除各自重要性占比小于1%的特征。
圖3 變分模態(tài)分解結(jié)果
圖4 特征的重要性比值情況
將變分模態(tài)分解后的各分量及相關(guān)特征數(shù)據(jù)前80%劃為訓(xùn)練集,剩余的數(shù)據(jù)作為測試集導(dǎo)入Stacking集成學(xué)習(xí)模型。使用網(wǎng)格搜索法尋找各學(xué)習(xí)器最優(yōu)超參數(shù),并基于最優(yōu)模型預(yù)測負(fù)荷有功功率分量數(shù)據(jù)。最后,把各分量數(shù)據(jù)的預(yù)測值相加即得到預(yù)測結(jié)果。
評價回歸預(yù)測類模型以均方根誤差(root mean square error,RMSE)、平均絕對誤差(mean absolute error,MAE)、平均絕對百分比誤差(mean absolute percentage error,MAPE)作為評價指標(biāo),其計算方法如式(8)—式(10):
(8)
(9)
(10)
其中:ypred和yreal分別表示第s時刻的預(yù)測值和實際值,m為樣本總數(shù)量。
為了更充分體現(xiàn)所提出的短期負(fù)荷預(yù)測模型的優(yōu)越性,設(shè)置僅有時間特征和有多特征VMD的LightGBM、XGBoost、長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)、反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)和Stacking集成學(xué)習(xí)模型作為對比分析,各模型的評價指標(biāo)如表2所示。
對比結(jié)果發(fā)現(xiàn),多特征的VMD-Stacking集成學(xué)習(xí)預(yù)測模型的誤差較小。單一模型中LSTM模型結(jié)果出現(xiàn)了滯后性,即使加入了多特征變量和VMD后預(yù)測結(jié)果也較差;BPNN模型總體評價一般,偶爾預(yù)測誤差比其他模型更小;LightGBM和XGBoost預(yù)測誤差相差不大,融合后的Stacking集成學(xué)習(xí)模型誤差更小,尤其是加入了多特征變量后MAPE減少約0.68%。有無多特征變量的Stacking模型預(yù)測結(jié)果如圖5、圖6所示,可以看出,加入多特征變量后的VMD-Stacking集成學(xué)習(xí)模型在負(fù)荷變化點處預(yù)測得更準(zhǔn)確,趨勢更貼合實際值。
表2 模型預(yù)測結(jié)果評價指標(biāo)
圖5 春分、夏至、秋分、冬至預(yù)測結(jié)果
圖6 春節(jié)預(yù)測結(jié)果
本文中提出了一種VMD-Stacking集成學(xué)習(xí)的多特征變量短期負(fù)荷預(yù)測模型,在預(yù)測前使用VMD算法將負(fù)荷數(shù)據(jù)分解,然后加入對模型重要性較高的特征變量,再建立由LightGBM與XGBoost融合的Stacking集成學(xué)習(xí)預(yù)測模型,從多種角度來提高預(yù)測的準(zhǔn)確度,具體體現(xiàn)在:
1) 采用VMD算法分解歷史負(fù)荷序列,分解后子模態(tài)分量的周期性體現(xiàn)了出來,讓模型預(yù)測波動性較大的負(fù)荷時更容易;
2) 溫度、天氣、農(nóng)歷和節(jié)假日情況等影響負(fù)荷變化的關(guān)鍵因素有被考慮,模型的準(zhǔn)確度得以提高;
3) Stacking集成學(xué)習(xí)模型對各算法取長補短,泛化能力增強,預(yù)測的準(zhǔn)確度高于單一模型。
最后,由于融合越多算法的Stacking集成學(xué)習(xí)模型訓(xùn)練時間越長,文中僅融合了2種算法,未來的研究中可以考慮融合更多算法,或者使用分布式計算來減少模型訓(xùn)練時間、提高準(zhǔn)確度。