曹赟,姚方,張功勛
(山西大學 電力與建筑學院,山西 太原 030013)
短期負荷預測一般指預測未來幾小時的電力負荷或未來幾日的電力負荷,可為電力規(guī)劃調(diào)度提供重要的理論依據(jù),關(guān)乎生產(chǎn)管理的合理性。目前,短期負荷預測主要通過分析歷史負荷數(shù)據(jù)建立負荷預測模型,對將來短期負荷進行預測,主要方法為數(shù)學分析方法和機器學習方法。傳統(tǒng)的負荷預測方法主要為數(shù)學分析方法,包括時間序列模型和回歸分析模型等。這些模型相對簡單,當負載序列穩(wěn)定性高時,性能良好,但僅使用歷史負荷值,在應對短期電力負荷復雜快速變化趨勢時,難以實現(xiàn)較高的預測精度[1]?;跈C器學習預測包括支持向量機[2]、深度學習[3-5]和提升算法等。深度學習在處理非線性、高維數(shù)據(jù)上有顯著優(yōu)勢,有卓越的自動特征提取能力。因此近年來長短期記憶網(wǎng)絡普遍應用到負荷預測中,文獻[4]對長短期記憶網(wǎng)絡(long short-term memory,LSTM)改進,使其對時變性、耦合性和多元性冷熱電負荷預測達到較好的預測結(jié)果,表明了LSTM網(wǎng)絡在負荷預測中的優(yōu)勢。文獻[6]中,負荷預測模型基于極限提升算法(XGboost) 運用在真實電網(wǎng)數(shù)據(jù)試驗中,證明提升算法模型在負荷預測方面具有有效性和優(yōu)越性。文獻[7]運用一種基于梯度提升決策樹的機器學習方法(Catboost算法),可以有效處理回歸預測問題,極度簡化了前期數(shù)據(jù)處理和特編碼方式轉(zhuǎn)化為數(shù)值型特征的步驟,并在負荷預測試驗中表現(xiàn)優(yōu)良,證明了該算法在負荷預測中的可行性。
單一的提升算法對時間序列負荷預測仍有局限性,為此本文將結(jié)合LSTM算法在處理時間序列負荷上的優(yōu)勢與Catboost算法的魯棒性結(jié)合,構(gòu)建了LSTM-Catboost組合模型。本文將某商業(yè)園區(qū)負荷數(shù)據(jù)、天氣數(shù)據(jù)和時刻數(shù)據(jù)分別輸入到LSTM網(wǎng)絡和Catboost模型,然后通過均方誤差倒數(shù)方法計算各方法的權(quán)重,得出最終預測結(jié)果,通過算例表明LSTM-Catboost組合模型比其他模型預測更準確。
循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)是一種具有內(nèi)存的網(wǎng)絡,在預測時間序列方面的工作效率很高。在RNN中,信息從每個神經(jīng)元流到其圖層中的其他神經(jīng)元。LSTM是RNN單元的一個擴展,它克服了RNN單元在對大型時間序列處理時所存在的梯度消失和梯度爆炸的缺點。
Catboost算法是集成學習領(lǐng)域中Boosting分支的代表,屬于梯度提升框架的一個高效實現(xiàn)形式。Catboost比傳統(tǒng)的梯度下降樹有更高預測精度、更低的過擬合和更短的訓練時間。Catboost提出了排序提升策略以解決標準梯度下降樹模型存在的梯度偏差和預測偏移問題,同時采用了完全對稱決策樹來提高模型的泛化能力與預測速度。CatBoost使用對稱二叉決策樹作為基本預測器,在選擇樹結(jié)構(gòu)時對樹葉值進行隨機排列估計,每次分裂節(jié)點均使用相同的策略,使其有較強的魯棒性。
負荷預測主要依據(jù)歷史數(shù)據(jù),首先對歷史數(shù)據(jù)進行選擇和填補。本文利用垂直數(shù)據(jù)的平均值來填補空缺數(shù)據(jù),而對于某列元素NAN值較多的情況,對列進行刪除,例如降雨量多數(shù)情況為0便不考慮本列對負荷的影響。
為提升損失函數(shù)的收斂速度,0均值標準化方法被采用。樣本歸一化后的值計算如式(1)所示。
(1)
1) 權(quán)重系數(shù)
組合預測模型是提升預測精度方法之一,其中最重要的一部分是確定權(quán)重系數(shù)。本文以LSTM、Catboost模型作為單個預測模型,并采用均方誤差倒數(shù)方法確定權(quán)重系數(shù),計算公式如式(2)所示。
(2)
式中:eMSEi為第i個模型的樣本均方誤差值。通過與其他參數(shù)倒數(shù)方法比較,此方法獲得的權(quán)重組合模型訓練精度最好。通過式(3)計算最終值。
(3)
2) 組合模型
LSTM-Catboost組合模型流程如圖1所示。
第一步,將負荷數(shù)據(jù)、溫度數(shù)據(jù)和時刻數(shù)據(jù)等進行預處理,對處理好的數(shù)據(jù)進行劃分,分為訓練集、驗證集和測試集。
第二步,將訓練集輸入LSTM網(wǎng)絡中進行訓練和手動調(diào)節(jié)超參數(shù)。將驗證集輸入到網(wǎng)絡,當訓練次數(shù)達到最大或者損失值達到最小時保存模型,確保LSTM模型達到良好的預測效果。因Catboost算法在超參數(shù)調(diào)優(yōu)方面具有優(yōu)勢,可將訓練集和驗證集同時輸入到算法中,保存訓練模型。
第三步,將測試集同時輸入兩模型中,得出結(jié)果,運用均方誤差倒數(shù)方法確定權(quán)重,將兩單一模型組合,獲得最終的預測結(jié)果。
圖1 LSTM-Catboost組合模型流程
樣本數(shù)據(jù)集為某商業(yè)園區(qū)每小時的負荷數(shù)據(jù)、對應的溫度數(shù)據(jù)和時刻數(shù)據(jù)。從2014年1月1日零時到2018年1月1日零時的負荷數(shù)據(jù),按照6.3∶2.7∶1 的比例劃分訓練集、驗證集和測試集。
本文負荷預測誤差比較運用平均絕對百分誤差(eMAPE)、均方誤差(eMSE)和均方根誤差(eRMSE),如式(4)~式(6)所示。
(4)
(5)
(6)
LSTM網(wǎng)絡通過一系列試驗和測試最終選取。LSTM堆疊層數(shù)兩層,隱藏層大小為128,損失值選取0.2,學習率為0.001,對整個訓練集訓練10次。Catboost算法的參數(shù)最終確定迭代次數(shù)為700,學習率為0.015,選取葉子數(shù)為4,深度為6。
然后對權(quán)重參數(shù)進行對比學習,采取三種方法進行對比,對比試驗結(jié)果如表1所示。
從表1可看出,均方誤差倒數(shù)法所得模型最優(yōu),因此使用均方誤差倒數(shù)法來計算最終預測結(jié)果。
表1 三種權(quán)重算法的結(jié)果比較
預測2017年12月29日24時至12月30日24時的負荷。將差分整合移動平均自回歸模型(autoregressive integratedm moving average model,ARIMA)時間序列預測結(jié)果和反向傳播算法(BP算法)的測試結(jié)果與本文模型的測試結(jié)果進行比較??梢钥闯霰疚哪P洼^傳統(tǒng)的負荷預測方法和單一深度學習算法預測精度明顯提升,如圖2所示。
圖2 本文算法預測結(jié)果與ARIMA算法和BP算法預測結(jié)果比較
將XGboost和梯度提升決策樹的測試結(jié)果與本文模型的測試結(jié)果進行比較,證明了本文模型的優(yōu)越性,本文模型較提升算法預測精度明顯提升,如圖3所示。
本文算法誤差指標與提升算法誤差指標對比如表2所示,可知本文算法預測精度高。
在對負荷預測要求不斷提升的前提下,為提高負荷預測精度,本文提出了一種基于LSTM 網(wǎng)絡和 Catboost 模型的雙模型組合預測方法,該方法結(jié)合了LSTM網(wǎng)絡的時序性和Catboost模型的魯棒性和通用性。與單一模型比較,本文方法具有更好的預測精度。本文方法可以對商業(yè)園區(qū)日負荷進行準確預測,從而對電力分配調(diào)度和電網(wǎng)布局進行有效指導。
圖3 本文算法預測結(jié)果與提升算法預測結(jié)果
表2 本文算法誤差指標與提升算法誤差指標對比