劉成龍, 高 旭, 曹 明
(1. 國網河北省電力有限公司,河北 石家莊 050000; 2. 國網河北省電力有限公司信息通信分公司,河北 石家莊 050000)
負荷預測在電力系統能量管理和調度中起著重要的作用。而準確的負荷預測有助于電力系統運維人員及時做出機組組合決策和安排設備檢修,降低發電成本,同時對電力系統的可靠性評估也具有重要意義[1-2]。此外,負荷預測還可用于負荷切換、需求側管理、識別和預測能源消耗模式等諸多方面,以支持電力公司未來的系統運行[3]。
短期負荷預測方法主要根據電力系統的歷史數據來確定未來的電力負荷。目前研究來看,許多預測模型可用于負荷預測,包括多元線性回歸模型[4]、灰色預測模型[5]、支持向量機模型[6]和長短期記憶模型[7]等。文獻[4]考慮了溫度近因效應,利用多元線性回歸模型實現負荷預測,該預測模型結構簡單,計算速度快。文獻[5]對傳統灰色關聯分析方法進行了綜合化改進,進而獲取具有高相似度的訓練數據集,并利用蝙蝠算法優化神經網絡參數實現短期負荷預測。文獻[6]采用長短期記憶神經網絡進行超短期負荷預測,其中預測模型的最優超參數主要通過隨機搜索的方法進行確定。文獻[7]利用投影原理和灰色關聯分析提取相似日集合,再利用隨機森林算法進行電力系統短期負荷預測。
負荷序列受到環境中溫度、濕度以及日類型等諸多因素的影響而不斷波動,因此直觀上難以獲取負荷數據的內在特征[8]。目前研究中關于提取數據特征的方法包括小波變換[9]、經驗模態分解(empirical mode decomposition, EMD)[10]和變分模態分解[11]等。其中VMD方法是Dominique Zosso等人針對EMD方法的不足于2014年首次提出的,該方法對采樣和噪聲具有很強的魯棒性[12]。VMD方法自適應地確定相關頻帶,同時估計相應的模式,從而適當地平衡了它們之間的誤差。本文首先采用VMD方法對短期負荷原始數據進行分解處理,分析不同模態函數分量的具體變化特征,再分別對模態函數分量進行預測和重構。由于RF算法在處理高維數據時具有較小的泛化誤差,因此在諸多領域得以應用[13]。但RF回歸模型中的決策樹棵樹和分裂特征數的具體值關系到模型預測的準確度,因此在對原始負荷分解后得出的模態函數分量進行預測時,本文采用BA算法對RF回歸模型中的兩個重要參數進行尋優確定,從而獲得BA-RF最佳預測模型,最后對不同模態函數分量的預測結果進行累加得到最終短期負荷預測結果,即形成了VMD-BARF方法實現短期負荷預測。
為了獲取電力負荷歷史數據VMD分解后各個模態函數分量的帶寬,需要經過如下步驟:1) 通過希爾伯特變換計算與每個模態函數分量相關的分析信號,以獲得單邊頻譜;2)將各模態函數分量的頻譜移到對應的基頻帶;3) 通過解調信號的高斯平滑度估計帶寬。由此產生的約束變分問題如下式所示:
式中:uk(t)——電力負荷歷史數據的模態函數分量,MW;
{uk}——各模態函數分量的集合;
wk——電力負荷歷史數據的第k階模態函數分量的中心頻率,Hz;
{wk}——中心頻率集合;
f(t)——電力負荷歷史數據,MW;
δ(t)——狄拉克函數。
引入拉格朗日乘子和二次懲罰因子到上述公式得到如下形式:
式中:λ——拉格朗日乘子;
α——二次懲罰因子。
各模態函數分量的估算公式與中心頻率的計算公式如下所示:
1995年Breiman等人針對數據挖掘中回歸預測和特征分類的問題提出了RF算法。該算法是由分類回歸樹 (classification and regression tree, CART)和Bagging相結合的一種綜合算法。RF算法的基本單元是決策樹,通過多棵決策樹的組合可以有效提高分類和預測的準確性,其中每棵樹所對應數據集的產生和特征子集的選擇具有隨機性[14]。該算法先是利用Bagging算法生成決策樹的訓練集,再選擇CART決策樹的特征子集。
1.2.1 CART 決策樹
1984年,Breiman L等人提出了CART決策樹的概念,該方法是一種二分遞歸分割技術,在除葉節點的其他任一節點將當前數據樣本集進行二分割。CART決策樹是以基尼指數作為屬性選擇量度,其理論計算公式如下所示:
式中:GD——基尼指數;
pi——i類元素出現的概率;
D——數據集;
m——數據集中所包括的類別。
若數據集D以屬性A進行二元劃分,則對應的基尼指數如下所示:
整棵決策樹的生長分裂過程是以在屬性A最小基尼指數的子集D1和D2作為相應的分裂子集。
1.2.2 Bagging 算法
1994年,Breiman L將Bagging算法引入到CART決策樹中,以解決其預測準確度較低的問題。Bagging算法通過對樣本數據集進行部分隨機抽取以生成決策樹。該方法能夠有效提高泛化能力。RF回歸模型預測功能的實現框圖如圖1所示。
圖1 RF回歸模型預測功能的實現框圖
1995年Breiman蝙蝠算法的設計原理來源于蝙蝠的回聲定位行為,由Yang教授于2010年提出的一種啟發式智能優化算法。該算法自提出以來,被廣泛應用于多個領域,可解決能源調度和最佳路徑規劃問題、函數優化求解問題、特征分類問題、視覺追蹤問題等;并通過與隨機森林算法、長短期記憶算法、BP神經網絡等人工智能算法相結合,用于解決分類預測和數據挖掘問題。
與其他啟發式智能優化算法相比,蝙蝠算法的參數可以動態地進行控制,也能在全局搜索和局部搜索之間進行切換,因此具有搜索效率高、魯棒性好等優點。BA算法中有3個關鍵參數:蝙蝠的搜索脈沖響度A、脈沖頻率f和脈沖頻度R。該算法基于3個規則假設:
1) 蝙蝠使用回聲定位行為來感知距離,且能夠分辨出獵物和障礙物的區別。
2) 蝙蝠在位置Xi,以速度Vi進行隨機飛行,通過對脈沖頻率和脈沖響度進行調節來實現對獵物的搜索。此外,蝙蝠能夠根據獵物和自身的距離調整所發射的脈沖頻率,并在接近獵物時調節脈沖頻度。
3) 脈沖響度從最大值A0逐漸降低至最小值Amin。在d維搜索空間中,第i只蝙蝠在t時刻的位置為,速度為,且蝙蝠種群中的最優位置為X*,則在t+1時刻對于全局搜索的情況,第i只蝙蝠的位置和速度被更新為:
式中:β——[0,1]區間服從均勻分布的隨機數;
fi——第i只蝙蝠的頻率,在[fi, fi]區間內隨機均勻產生。
對于局部搜索的情況,需要從當前的最優解集中,隨機挑選出一個優良個體,則每只蝙蝠的新位置附近隨機產生,更新公式為:
式中:ε——[–1,1]區間的隨機變量;
A(t)——全部蝙蝠在t時刻的平均脈沖響度。
在迭代過程中,脈沖響度A(t)和脈沖頻度R需要進行實時更新,以確保算法在全局搜索和局部搜索間達到良好的平衡。更新公式為:
其中 α、λ 均為常數,0<α<1,λ>0。
蝙蝠算法流程圖如圖2所示。
圖2 蝙蝠算法流程圖
Spark是由加州大學伯克利分校的AMP實驗室于2009年研發的一款基于內存的分布式計算框架。Spark在MapReduce的基礎上進行了大量改進和優化,性能得到大幅提升。彈性分布式數據集(RDD)是Spark中的核心概念,它是一種分布于各個計算節點、存儲于內存中的只讀型數據集。用戶將外部數據加載到內存中生成RDD;再經過一系列轉換操作,每次轉換都會生成一個新的RDD;最后執行動作操作,對RDD進行計算并返回結果,從而實現應用程序的功能。因此,本文的算法程序均在Spark平臺下運行,以提高計算效率。
目前能夠對算法預測效果進行評價的指標較多,主要包括平均絕對誤差、均方根誤差、平均絕對誤差和擬合優度等。本文僅以平均絕對誤差作為短期負荷預測效果的評價指標,其計算公式如下所示:
式中:MAE——平均絕對誤差,MW;
RMSE——均方根誤差,MW;
MAPE——平均絕對百分比誤差,%;
n——負荷數據集點數;
yi——原始負荷數據,MW;
短期負荷預測流程如圖3所示。從圖中可以看出,VMD-BA-RF方法首先對短期負荷數據進行VMD分解處理,獲得5個模態函數分量,然后將具有相同特征的模態函數分量進行合并獲得3個模態函數重構分量,再利用BA-RF模型分別對3個模態函數分量進行預測,最后重構出負荷預測結果。
圖3 短期負荷預測流程
實 驗 使 用 的 處 理 器 為 Intel(R) Core(TM) i5-10210U CPU@1.60 GHz,內存大小為 15.8 GB。RF模型參數中決策樹棵樹和分裂特征數的取值范圍均設置為[1, 1000]。本算例采用2014年某地區01-13至01-19之間的短期負荷數據進行算法驗證,該樣本數據中每隔15 min進行一次負荷數據點采集,一周內共計采樣672個數據點,所對應的實際負荷數據曲線如圖4所示。從圖中難以發現實際負荷數據所具有的內在特征,不同日類型所對應的負荷峰值與谷值均不相同。
圖4 一周內的電力負荷序列
以前6天576個數據點作為訓練數據集,后1天96個數據點作為測試數據集。為了獲取特征互異的幾組模態函數分量,首先采用VMD方法對原始數據集進行分解處理。當模態函數分量為7個時,其對應的中心頻率分布如圖5所示,從圖中可以看出 IMF1~IMF3的中心頻率相差較大,而IMF4~IMF7的中心頻率相差較小,因此VMD分解層數可在4~7層之間進行選擇。本文的VMD分解層數取5層,實際負荷數據被分解后的5個模態函數分量如圖6所示。從圖中可以看出,分量IMF1振幅最大但不具有周期性,分量IMF2和IMF3振幅接近且具有周期性,分量IMF4和IMF5振幅較小且具有周期性。由于不同模態分量進行任意組合后并不會與原始負荷數據產生差異,因此為了降低負荷預測算法的建模任務,可以將具有近似特征的模態函數分量進行合并,最后形成3組重構序列,如圖7所示。
圖5 不同模態分量的中心頻率分布
圖6 模態函數分量
圖7 重構后的模態函數分量
由于RF模型的預測準確度受到決策樹棵樹和分裂特征數的影響,因此本節采用BA算法優化RF模型,從而獲取最佳模型參數。其中優化迭代次數設置為100次,種群規模設置為20。在對模態函數分量R1、R2、R3進行預測的過程中,以平均絕對誤差最小作為優化目標,利用BA算法獲取最佳決策樹棵樹和分裂特征數,R1、R2、R3所對應的優化過程迭代曲線如圖8所示,優化結果如表1所示。表2為不同模態分量R1、R2和R3對應的優化運行時間,對比正常運行環境和Spark平臺環境下BARF模型實際優化時間可以看出,在Spark平臺環境下BA算法優化RF模型的實際運行時間明顯小于正常運行環境下的實際運行時間。
表1 不同模態分量對應的優化結果
表2 不同模態分量對應的優化運行時間
圖8 目標函數迭代曲線圖
利用VMD-BA-RF方法分別對實際分量R1、R2和R3進行預測,其結果如圖9~圖11所示。從圖中可以看出,VMD-BA-RF方法對各模態函數分量均具有較好的預測效果。
圖9 模態函數分量R1的預測結果
圖10 模態函數分量R2的預測結果
圖11 模態函數分量R3的預測結果
將VMD-BA-RF方法所預測的3個模態函數分量進行重構得到最終的短期負荷預測結果。為了體現VMD-BA-RF方法在短期負荷預測方面的優越性,將RF方法、BA-RF方法、VMD-RF方法和VMD-BA-RF方法的短期負荷預測結果進行對比,4種方法的預測結果如圖12所示。其中RF方法存在模型參數難以確定的問題, BA-RF方法實現了模型參數的最優選取,VMD-RF方法分解出原始數據的模態特征,實現分量預測,而VMD-BA-VMD方法具有模型參數尋優和模態分解的功能。從圖12中可以看出,相比于傳統RF方法、VMD-RF方法和BA-RF方法,本文所提方法擬合度較高,優勢明顯。表3為4種預測方法對應的性能指標,其中VMD-BA-RF方法的 MAE為 31.99 MW,RMSE為53.28 MW,MAPE為0.60%,所提方法的這3項指標在所有方法中均是最小值。因此,4種預測方法性能指標的對比結果表明本文所提VMD-BA-RF方法的預測準確度最高。
圖12 4種方法的預測結果
表3 4種預測方法對應的性能指標
本文提出了一種基于VMD和BA優化RF參數的短期電力負荷預測方法,得到如下兩個結論:
1)通過VMD方法對負荷序列進行分解處理可以獲得具有不同特征的模態函數分量,將具有相近振幅的模態函數分量進行合并,進而為RF模型提供特征互異的訓練數據和預測數據。算例結果表明VMD-RF方法的預測準確度高于傳統RF方法。
2)采用BA算法確定RF模型中最佳決策樹棵樹和分裂特征數,可以進一步提高短期負荷預測的準確度。因此,用VMD方法和BA算法共同改進RF模型,可以得到短期負荷預測的最佳預測效果。