俞作良,王超,司曉峰,林波,竇常永
(國網甘肅省電力公司市場營銷事業部,甘肅蘭州 730000)
近年來,臺區需求響應與多能量控制技術的出現,給超短期負荷預測帶來了新的挑戰,一是要求時間短,二是要求系統服務質量更高。因此,對用戶進行超短期負荷進行預測是十分必要的。文獻[1]提出了基于混合神經網絡深度學習預測方法,該方法綜合考慮電力負荷影響因素,構造基于混合神經網絡的深度學習預測模型,得到超短期負荷預測結果。文獻[2]提出了基于改進煙花算法的負荷預測方法。對原有煙花算法的學習權重、門限進行調節,利用改進的煙花計算方法尋找最優解,即為負荷預測結果。盡管這兩種方法的預測效果都很好,但是沒有將負荷預測的所有影響因素考慮在內,導致預測精度不高,因此,該文采用雙層XGBoost 算法預測臺區用戶超短期負荷。
雙層XGBoost 算法在目標函數中引入了誤差函數和正則項,以獲取預測結果與實際結果的差異性,從而避免過度擬合[3]。基于雙層XGBoost 算法的預測模型如圖1 所示。

圖1 基于雙層XGBoost算法的預測模型
圖1 中的每棵決策樹可表示為:
式中,fk(ai)表示具有特征ai的k棵決策樹。由于無法用傳統方法直接對超短期負荷預測函數的參數進行優化[4-6],因此,在預測模型訓練過程中,將fk(ai)作為學習函數,確定已經學習過的決策樹,添加新的決策樹,使目標最小化,結果為:
式中,j表示迭代次數表示預測結果。在訓練過程中,每加入一棵決策樹就可獲取新的決策函數[7],以此最大限度減少誤差函數和正則項,使目標函數變得更為簡單,保證模型訓練結果與實際結果更接近[8-9]。
在預測過程中,常用的損失函數為均方誤差函數,具體可表示為:
式中,ω表示決策樹節點對應的權重;ε表示決策樹的懲罰系數。目標函數最小化的目的在于減少模型復雜性,使得算法學習更簡便,保證預測結果可靠性,同時降低預測誤差[11]。
雙層XGBoost 算法就是極限梯度學習算法,通過監督學習方式來減少訓練量。引入誤差函數目標和正則項,以求取模型最優解,提升預測精度。
由于使用傳統方法預測超短期負荷時,容易陷入局部最優,主要原因是預測周期特征量較為復雜導致出現動態誤差。為了解決該問題,引入雙層協同校正方法[12],將原始輸入數據作為特征量輸入模型中,選擇有效特征,包括時間、降水量、氣壓、相對濕度、溫度、風向等[13-14]。在超短期負荷預測過程中,有效篩選出負荷特征影響因素集。將雙層XGBoost算法劃分為基準層與實時層兩個部分,其過程如圖2所示。

圖2 雙層協同校正過程
基準層負責將用戶所提供的超短期負荷樣本輸入到預測模型中,分析負荷預測周期特征量,獲取基準層的預測結果;實時層負責對比基準層預測結果與實測值,獲取動態誤差[15]。通過迭代計算時間特征以及添加基準層預測結果,實時層輸出預測結果。在雙層協同結構中,基準層會先給出臺區用戶的超短期負荷預測結果,實時層根據基準層數據的偏差對預測結果進行校正,根據實際情況建立了最接近于臺區用戶的實際工作狀況的預測模型,從而使預測結果更可靠。
利用雙層XGBoost 算法對超短期負荷模型求解,求解過程如下:
步驟一:受到臺區用戶所采集到的特征維度的影響,有效數據也相對較少,因此需要將采集到的數據全部特征作為有效數據特征[16];
步驟二:在有效特征數據中存在一種特征表現為離散型的差異特性數據,將該部分也作為模型輸入值,其可接受數值的取值范圍為:
式中,q1、q3分別表示四份位數的第一位和第三位;λ表示異常值。
步驟三:盡管雙層XGBoost 方法能夠將少量的缺失值轉化成其他的特征,但是在數據缺失的情況下,直接利用現有數據進行預測是不可行的。為提高模型運行效率,需要對數據缺失值進行填充。由于負荷特性變化很大,所以由所有負荷組成的矩陣都呈現出低秩特性[17]。充分考慮了季節性氣候相關因子對超短期負荷的影響,將影響因素與影響結果的關系簡化為線性關系。充分考慮日負荷矩陣,從已知負荷向量中選取相似的負荷向量,共同構成一個低秩矩陣,如下所示:
式中,en表示n個日負荷向量。待負荷向量所在環境較為惡劣時,使用非線性差值方法填充缺失值。在時間預測序列中,用缺失值前后的非線性差值估算,公式為:
式中,e為缺失向量值;e0表示缺失前的向量值;e1表示缺失后的向量值。
步驟四:對填補的結果進行排序。在考慮到季節因素的情況下,將該月份的空值刪除后再進行填充,利用非線性插值方法來填補缺失部分,獲取填補完整的負荷預測集;
步驟五:將樣本數據輸入至預測模型中,該模型利用雙層XGBoost 算法進行分層求解,并對其進行校驗。對各參數進行進一步優化,通過檢驗集合來判定該模型的優劣,若判別良好,則繼續對其進行優化,直至獲得更好的結果;
步驟六:考慮復雜影響因子,將第一層XGBoost的特征值作為輸入,選取相應超參量,分析第二層XGBoost 的超短期負荷,將兩層結果匯總,即為超短期負荷預測結果。
實驗數據選取臺區電網所采集的2022 年1 月15日的真實數據,將其作為標準集,以驗證基于雙層XGBoost 算法的臺區用戶超短期負荷預測方法的可靠性。
使用Redis 分布式緩存平臺采集樣本數據,其結構如圖3 所示。

圖3 Redis分布式緩存平臺結構
將該數據作為訓練集訓練初始參數,預測模型學習速率0.01 bit/ms,樣本大小為60 bit,懲罰系數為0.1,正則化項為0。真實數據采集結果如表1 所示。

表1 真實數據采集結果
利用負荷預測數值和真實負荷數值之間的差值來計算預測準確率和均方根誤差,評價指標計算公式為:
分別使用文獻[1]方法、文獻[2]方法和該文方法進行實驗測試,預測準確率對比結果如圖4 所示。

圖4 三種方法預測準確率對比分析
由圖4 可知,文獻[1]方法、文獻[2]方法和該文方法所對應的準確率最高點坐標分別為[12,0.037,66.0]、[5,0.037,67.0]、[2,0.038,99.15],說明該文方法的預測準確率高達99.15%。
對表1 數據進行200 次迭代處理,三種方法的均方根誤差如圖5 所示。

圖5 三種方法的均方根誤差
由圖5 可知,文獻[1]方法、文獻[2]方法的均方根誤差分別在樣本為44 bit 和35 bit 時停留在0.46、0.25 不發生變化。使用該文方法在樣本為20 bit 時,停留在0.02 不再不發生變化,因此該文方法的均方根誤差較小。
文中設計了基于雙層XGBoost 算法的臺區用戶超短期負荷預測方法,并通過實驗驗證了該文方法的可靠性,即使用雙層XGBoost 算法無需對數據進行標準化處理,該方法可以有效地滿足臺區用戶超短期負荷預測的實際需求。
雖然所研究方法具有一定可靠性,但雙層XGBoost 算法在訓練學習過程中存在訓練數據需求量大、泛化能力不佳的問題。為使超短期負荷預測的效率達到最優,將進一步將雙層XGBoost 算法和訓練學習結合起來,從而提升預測質量與效率。