楊德州,魏勇,李萬(wàn)偉,彭婧,李敏,李正輝,甄釗, 3,王飛
(1.國(guó)網(wǎng)甘肅省電力公司經(jīng)濟(jì)技術(shù)研究院,蘭州市 730050;2.華北電力大學(xué)電力工程系, 河北省保定市 071003;3.清華大學(xué)電機(jī)系,北京市 100084)
目前,我國(guó)的城市化進(jìn)程隨著經(jīng)濟(jì)社會(huì)發(fā)展水平的提高而快速推進(jìn),人口的聚集加大了城市資源的緊張程度。在這種情形下,大量的城市綜合體[1-3]應(yīng)運(yùn)而生。
城市綜合體是一種以建筑群為基礎(chǔ),在地理空間上融合了商業(yè)零售、辦公商務(wù)、娛樂(lè)休閑、酒店餐飲、居住物業(yè)五大核心功能,并在各部分之間建立互相依存的能動(dòng)關(guān)系,最終形成的一個(gè)多功能、高效率的“城中之城”。相較于單一功能建筑項(xiàng)目,大部分的城市綜合體都具有建筑面積大、負(fù)荷密度高的特點(diǎn)[4]。這使得城市綜合體成為城市電網(wǎng)中的一類(lèi)大型用電客戶(hù),因此,準(zhǔn)確地預(yù)測(cè)其用電量至關(guān)重要。對(duì)于城市綜合體本身而言,電量預(yù)測(cè)有助于綜合體用戶(hù)合理靈活地安排用能方式,達(dá)到節(jié)能減排的目的。例如,可以根據(jù)電量預(yù)測(cè)的結(jié)果分時(shí)段利用儲(chǔ)能和分布式光伏;此外,對(duì)于供電企業(yè)而言,準(zhǔn)確的電量預(yù)測(cè)有助于其制定靈活的檢修、調(diào)度和營(yíng)銷(xiāo)計(jì)劃,從而最終降低供電成本。
目前,國(guó)內(nèi)外學(xué)者已經(jīng)在月度用電量預(yù)測(cè)領(lǐng)域開(kāi)展了大量的研究工作。根據(jù)預(yù)測(cè)算法的不同,可將其分為2類(lèi):基于數(shù)學(xué)或統(tǒng)計(jì)學(xué)的預(yù)測(cè)方法[5-6](時(shí)間序列法、灰色預(yù)測(cè)法等)和人工智能預(yù)測(cè)方法[7-8](神經(jīng)網(wǎng)絡(luò)法、支持向量機(jī)回歸法、隨機(jī)森林法等)。
文獻(xiàn)[9]指出,第一類(lèi)方法往往從負(fù)荷時(shí)間序列的角度出發(fā),采用固定回歸函數(shù)組合來(lái)建立外推預(yù)測(cè)數(shù)學(xué)模型。這種方法的可解釋性往往較強(qiáng),但缺乏適應(yīng)性和準(zhǔn)確性。相反,第二類(lèi)方法雖然可解釋性較差,但是卻可以自組織地學(xué)習(xí)各輸入輸出間的關(guān)系,更適用于高維度、非線(xiàn)性的用電量預(yù)測(cè)問(wèn)題。為避免模型出現(xiàn)局部最優(yōu)的情況,文獻(xiàn)[10]構(gòu)建了一個(gè)基于混沌遺傳算法優(yōu)化的支持向量機(jī)(support vector machine, SVM)回歸預(yù)測(cè)模型。文獻(xiàn)[11]將月度用電量序列分解為趨勢(shì)和波動(dòng)序列,并使用兩個(gè)神經(jīng)網(wǎng)絡(luò)模型分別對(duì)其預(yù)測(cè)。值得注意的是,大部分已有的研究都存在以下不足:首先,這些方法通常直接對(duì)用電客戶(hù)整體的月度電量進(jìn)行預(yù)測(cè),而完全忽略了其內(nèi)部具體負(fù)荷成分的特點(diǎn);其次,這些方法通常利用歷史月度用電量數(shù)據(jù)訓(xùn)練月度用電量單步預(yù)測(cè)模型。該類(lèi)型數(shù)據(jù)的分辨率低,可采集的數(shù)據(jù)點(diǎn)數(shù)量往往較少,因此可構(gòu)建的模型訓(xùn)練樣本數(shù)量有限,這大大增加了預(yù)測(cè)模型過(guò)擬合的風(fēng)險(xiǎn),最終使得預(yù)測(cè)精度低下;這些方法大多采用單一的預(yù)測(cè)模型,在負(fù)荷變化特性復(fù)雜的情況下,其預(yù)測(cè)精度難以得到保證。
根據(jù)以上分析,本文提出一種基于多層分解-累加原理的城市綜合體月度用電量預(yù)測(cè)方法。首先,將城市綜合體內(nèi)部各負(fù)荷成分根據(jù)其建筑負(fù)荷特性分為商業(yè)負(fù)荷、居民住宅負(fù)荷和商務(wù)辦公負(fù)荷;然后,針對(duì)每一類(lèi)型的負(fù)荷搜集其歷史小時(shí)用電量數(shù)據(jù),并根據(jù)星期標(biāo)簽將數(shù)據(jù)分解成星期一到星期日的小時(shí)用電量序列;接著,使用改進(jìn)的經(jīng)驗(yàn)?zāi)B(tài)分解(improved empirical mode decomposition, IEMD),將用電量序列中的波動(dòng)特性與趨勢(shì)特性分離,并利用極端梯度提升(extreme gradient boosting, XGBoost)算法對(duì)分解后的各分量分別建立對(duì)應(yīng)的多步預(yù)測(cè)模型;最后,將預(yù)測(cè)結(jié)果逐層累加得到月度用電量預(yù)測(cè)結(jié)果。
負(fù)荷種類(lèi)的復(fù)雜多樣性是城市綜合體的一個(gè)顯著的特征。各建筑負(fù)荷的負(fù)荷密度、負(fù)荷率、負(fù)荷增長(zhǎng)率差異較大,對(duì)于溫度等外部因素的敏感性也不盡相同,因此10 kV線(xiàn)路上的負(fù)荷變化并不能完全反映城市綜合體的用電特性。為了提高電量預(yù)測(cè)精度,需要將綜合體內(nèi)部負(fù)荷根據(jù)其用電行為進(jìn)行劃分。一般來(lái)說(shuō),城市綜合體內(nèi)部通常包括五大類(lèi)典型負(fù)荷:商業(yè)零售、辦公商務(wù)、娛樂(lè)休閑、酒店餐飲和居住物業(yè)負(fù)荷。其中,商業(yè)零售、娛樂(lè)休閑和酒店餐飲負(fù)荷往往集中于同一棟建筑樓宇,難以解耦開(kāi)來(lái)。因此,本文將商業(yè)零售、娛樂(lè)休閑和酒店餐飲3類(lèi)負(fù)荷合并作商業(yè)負(fù)荷。本文將此步分解定義為第一層分解。此時(shí)城市綜合體內(nèi)部負(fù)荷將被分為三大類(lèi):
DCity=DCom+DRes+DBus
(1)
式中:DCity表示城市綜合體的總負(fù)荷;DCom表示商業(yè)負(fù)荷;DRes表示居民住宅負(fù)荷;DBus表示商務(wù)辦公負(fù)荷。
圖1展示了三大類(lèi)負(fù)荷的冬季典型日負(fù)荷曲線(xiàn)。從圖1中可以看出,居民住宅負(fù)荷的峰谷差相對(duì)較小,在13:00—15:00會(huì)有一段較大的跌落,并且通常情況下日峰值會(huì)出現(xiàn)在晚間;商務(wù)辦公負(fù)荷的日峰值一般出現(xiàn)在白天,且負(fù)荷的變化趨勢(shì)相對(duì)平穩(wěn);商業(yè)負(fù)荷的日峰值一般出現(xiàn)在傍晚,且負(fù)荷從09:00開(kāi)始激增,這與其營(yíng)業(yè)時(shí)間基本吻合。
圖1 三類(lèi)建筑負(fù)荷冬季典型日負(fù)荷曲線(xiàn)
(2)
考慮到用電行為的日歷效應(yīng),即不同星期中的同一工作日或周末休息日中的用電行為往往是相似的,本文將歷史小時(shí)用電量序列根據(jù)其周標(biāo)簽分為7個(gè)子序列:歷史星期一小時(shí)用電量序列到歷史星期日小時(shí)用電量序列。圖2為分解過(guò)程的示意圖,具體來(lái)說(shuō),將采集到歷史N2個(gè)小時(shí)的用電量數(shù)據(jù)記為:
圖2 歷史小時(shí)用電量序列分解示意圖
(3)
(4)
同理可得星期二至星期日的6個(gè)用電量序列,并將7個(gè)分解后的用電量序列記為:
(5)
此時(shí),一個(gè)月的用電量可以表示為:
(6)
使用歷史星期“i”的小時(shí)用電量對(duì)未來(lái)一個(gè)月星期“i”的每小時(shí)用電量進(jìn)行預(yù)測(cè),可以使總的預(yù)測(cè)步長(zhǎng)T分解為7部分,每部分分別為T(mén)i。該方法在減小預(yù)測(cè)步長(zhǎng)的同時(shí)可以保證各子序列的規(guī)律性,從而最終提高預(yù)測(cè)精度。本文將此步分解定義為第二層分解。
經(jīng)驗(yàn)?zāi)B(tài)分解(empirical mode decomposition, EMD)[12]是一種基于信號(hào)局部特征的自適應(yīng)無(wú)監(jiān)督特征提取方法,特別適用于非平穩(wěn)、非線(xiàn)性的用電量序列分析。該方法可以將一個(gè)非平穩(wěn)時(shí)間序列分解成一系列相互獨(dú)立的本征模函數(shù)(intrinsic mode functions, IMF)和一個(gè)殘差。其用于用電量序列分解時(shí)的具體步驟如下:
1)找到用電量序列D(t)的所有極大值和極小值點(diǎn),然后分別使用3次樣條曲線(xiàn)進(jìn)行擬合,得到D(t)的上包絡(luò)線(xiàn)和下包絡(luò)線(xiàn)。定義差值序列h1(t)為:
h1(t)=D(t)-m1(t)
(7)
式中:D(t)為用電量時(shí)間序列;m1(t)為上下包絡(luò)線(xiàn)的均值序列。
若h1(t)滿(mǎn)足以下約束,即:過(guò)零點(diǎn)數(shù)與極值點(diǎn)數(shù)相同;上下包絡(luò)線(xiàn)關(guān)于時(shí)間軸對(duì)稱(chēng),則認(rèn)為h1(t)是一個(gè)IMF,并將其重新記作c1(t);否則將以h1(t)為基礎(chǔ),重新執(zhí)行步驟1)。
2)將提取出的IMF從原始序列D(t)中減去,得到新的原始序列,并定義差值序列r1(t)為:
r1(t)=D(t)-c1(t)
(8)
3)重復(fù)步驟1)和步驟2)n次,直到rn(t)是一個(gè)單調(diào)函數(shù)。
通過(guò)EMD算法,可以在無(wú)任何信息損失的情況下,將原始用電量序列D(t)分解為一系列IMFs的和與一個(gè)殘差項(xiàng),其中IMFs體現(xiàn)了用電量序列的波動(dòng)性,而殘差項(xiàng)體現(xiàn)了用電量序列的趨勢(shì)性:
(9)
式中:ck(t)表示第k個(gè)IMF;rn(t)為殘差項(xiàng)。
盡管EMD有很多優(yōu)點(diǎn),但是在分解過(guò)程中容易產(chǎn)生端點(diǎn)效應(yīng),最終導(dǎo)致分解結(jié)果有所偏差。為了獲得更精確的分解結(jié)果,本文采用鏡像法[13]來(lái)抑制EMD的端點(diǎn)效應(yīng),得到IEMD算法。鏡像法的步驟可以簡(jiǎn)單地總結(jié)如下:
1)通過(guò)鏡像對(duì)稱(chēng)法,在D(t)前端添加局部最小值min(0)和局部最大值max(1)。
2)通過(guò)鏡像對(duì)稱(chēng)法,在D(t)后端添加局部最大值max(n+1)和局部最小值min(n)。
3)使用最新的max(n+1)和min(0)形成上包絡(luò)線(xiàn)和下包絡(luò)線(xiàn)。
4)后續(xù)的步驟同EMD算法相同。
(10)
部分歷史用電量分解結(jié)果如圖3所示,本文將此步分解定義為第三層分解。
圖3 改進(jìn)的EMD算法分解結(jié)果
Boosting算法是近年來(lái)數(shù)據(jù)挖掘領(lǐng)域中的一種流行且有效的集成學(xué)習(xí)算法。該算法通過(guò)對(duì)多個(gè)弱學(xué)習(xí)器進(jìn)行加權(quán),從而形成一個(gè)預(yù)測(cè)誤差更低的強(qiáng)學(xué)習(xí)器。梯度增強(qiáng)算法(gradient boosting, GB)是在Boosting的基礎(chǔ)上改進(jìn)的。其思想是在負(fù)梯度方向上減小損失函數(shù),從而對(duì)原有模型進(jìn)行優(yōu)化和更新。XGBoost則是由陳天奇[14]在2015年提出的一種基于GB的改進(jìn)算法。該算法在訓(xùn)練過(guò)程中采用自助抽樣法,而非直接利用所有特征來(lái)訓(xùn)練模型。因此,相對(duì)于其他算法,XGBoost能夠在保證模型擬合效果的同時(shí)避免過(guò)擬合情況的發(fā)生,從而保證更高的預(yù)測(cè)精度。該算法的具體步驟如下:
(11)
式中:K表示樹(shù)的數(shù)量;F表示回歸樹(shù)空間;fk表示一個(gè)回歸決策樹(shù)。
定義包含損失函數(shù)項(xiàng)和正則化項(xiàng)的目標(biāo)函數(shù)Lobj,如式(12)所示。其中正則化項(xiàng)是一個(gè)用來(lái)防止過(guò)擬合的懲罰函數(shù)。
(12)
式中:l(·)是一個(gè)可微函數(shù);Ω(·)是一個(gè)根據(jù)樹(shù)的復(fù)雜度定義的懲罰項(xiàng)。
(13)
考慮到優(yōu)化速度的問(wèn)題,使用式(13)的二階泰勒展開(kāi)式替代原目標(biāo)函數(shù),即:
(14)
(15)
式中:Ij={i|q(xi)=j}表示葉子j的實(shí)例;γ表示懲罰強(qiáng)度;Q表示葉子的數(shù)量;λ為預(yù)先設(shè)計(jì)的超參數(shù);J表示樹(shù)的葉節(jié)點(diǎn)數(shù)。
本文提出的基于多層分解-累加原理的城市綜合體月度用電量預(yù)測(cè)方法,旨在通過(guò)建立一個(gè)混合多步預(yù)測(cè)模型,來(lái)挖掘城市綜合體內(nèi)部各類(lèi)型負(fù)荷的信息,從而最終提高城市綜合體月度用電量預(yù)測(cè)精度。
基于多層分解-累加原理的預(yù)測(cè)模型方法具體可分為4步:
1)根據(jù)式(1),將城市綜合體內(nèi)各建筑負(fù)荷根據(jù)其負(fù)荷特性分為商業(yè)負(fù)荷、居民住宅負(fù)荷和商務(wù)辦公負(fù)荷;
2)以商業(yè)負(fù)荷為例,考慮到用電行為的日歷效應(yīng),根據(jù)式(4)、(5),將商業(yè)負(fù)荷的歷史小時(shí)用電量序列分解成歷史星期一小時(shí)用電量序列到歷史星期日小時(shí)用電量序列,從而在減小多步預(yù)測(cè)模型預(yù)測(cè)步長(zhǎng)的同時(shí)保證各子序列的規(guī)律性;
3)針對(duì)商業(yè)負(fù)荷的7個(gè)分解后的子序列,利用IEMD算法將用電量序列內(nèi)部復(fù)雜特征中的波動(dòng)特性和趨勢(shì)特性分解開(kāi)來(lái),得到如式(10)所示的分解結(jié)果,包括n個(gè)IMFs序列和一個(gè)殘差序列,然后分別使用XGBoost算法構(gòu)建與之適應(yīng)的預(yù)測(cè)模型。以歷史星期一小時(shí)用電量序列分解得到的殘差序列為例,XGBoost預(yù)測(cè)模型的輸入包含了待預(yù)測(cè)小時(shí)t的日歷標(biāo)簽以及其對(duì)應(yīng)的歷史同期日的殘差序列數(shù)據(jù),如下:
(16)
式中:Thour(t)表示待預(yù)測(cè)小時(shí)t對(duì)應(yīng)的具體小時(shí)時(shí)刻。
4)將以上n+1個(gè)XGBoost模型的預(yù)測(cè)結(jié)果相加,得到商業(yè)負(fù)荷未來(lái)一個(gè)月星期一的用電量預(yù)測(cè)結(jié)果。同理可得到星期二到星期日的小時(shí)用電量預(yù)測(cè)結(jié)果。將7個(gè)預(yù)測(cè)結(jié)果累加,得到商業(yè)負(fù)荷的月度用電量預(yù)測(cè)結(jié)果。同理,可得居民住宅負(fù)荷和商務(wù)辦公負(fù)荷的月度用電量預(yù)測(cè)結(jié)果。最后,將3類(lèi)負(fù)荷的預(yù)測(cè)結(jié)果相加,得到城市綜合體總的月度用電量預(yù)測(cè)結(jié)果。
所提出的基于多層分解-累加原理的預(yù)測(cè)模型框架如圖4所示。
圖4 基于多層分解-累加原理的預(yù)測(cè)模型
選擇某城市綜合體作為研究對(duì)象,搜集其中各類(lèi)型負(fù)荷2017年1月1日至2019年12月31日共36個(gè)月的歷史小時(shí)用電量數(shù)據(jù)。
本文選擇均方根誤差(root mean squard error, RMSE)、平均絕對(duì)誤差(mean absolute error, MAE)和平均絕對(duì)百分比誤差(mean absolute percentage error, MAPE)作為預(yù)測(cè)結(jié)果的評(píng)價(jià)指標(biāo),具體定義如下:
(17)
(18)
(19)
從式(17)—(19)中可以看出,指標(biāo)計(jì)算結(jié)果越小,表明模型的預(yù)測(cè)精度越高。
以某城市綜合體2019年7月至12月的月度用電量作為待預(yù)測(cè)目標(biāo),本文將傳統(tǒng)的城市綜合體月度用電量預(yù)測(cè)方法與本文提出的預(yù)測(cè)方法進(jìn)行對(duì)比,具體如下。
方法一:此方法為傳統(tǒng)的城市綜合體用電量單步預(yù)測(cè)方法,即直接利用城市綜合體2017年1月至2019年6月的月度用電量數(shù)據(jù)訓(xùn)練單步預(yù)測(cè)模型,對(duì)2019年7月至12月的月度用電量進(jìn)行預(yù)測(cè)。模型的輸入包含了待預(yù)測(cè)月的日歷標(biāo)簽以及其前6個(gè)月的歷史月度用電量數(shù)據(jù):
(20)
式中:TMonth表示待預(yù)測(cè)月的月份。
方法二:此方法為本文所提出的基于多層分解-累加原理的綜合體用電量預(yù)測(cè)方法,即首先將城市綜合體2017年1月至2019年6月的小時(shí)用電量數(shù)據(jù)根據(jù)建筑負(fù)荷功能分為商業(yè)負(fù)荷、居民住宅負(fù)荷和商務(wù)辦公負(fù)荷3類(lèi)用電量序列,然后再分別按其星期標(biāo)簽分為7部分,接著分別使用IEMD分解算法進(jìn)行分解,最后建立XGBoost多步預(yù)測(cè)模型進(jìn)行預(yù)測(cè)并累加得到月度用電量預(yù)測(cè)結(jié)果。模型的輸入見(jiàn)式(16),XGBoost模型的各項(xiàng)參數(shù)如表1所示。
表1 XGBoost算法參數(shù)
值得注意的是,以上2種方法均可以結(jié)合不同的預(yù)測(cè)算法得到最終的預(yù)測(cè)模型。為了全面驗(yàn)證所提出方法的有效性,在2個(gè)個(gè)算例仿真中均使用了BP(back propagation)神經(jīng)網(wǎng)絡(luò)和SVM兩種基礎(chǔ)預(yù)測(cè)算法作為XGBoost的對(duì)比算法。其中,BP神經(jīng)網(wǎng)絡(luò)算法權(quán)值和閾值初始化是隨機(jī)的,因此每次訓(xùn)練模型后都會(huì)得到不同的預(yù)測(cè)結(jié)果。為了消除預(yù)測(cè)結(jié)果波動(dòng)帶來(lái)的影響,本文重復(fù)使用BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)100次,并選取100次預(yù)測(cè)結(jié)果的中位數(shù)作為最終預(yù)測(cè)結(jié)果。
表2記錄了2種方法預(yù)測(cè)結(jié)果對(duì)應(yīng)的評(píng)價(jià)指標(biāo)計(jì)算值。表3記錄了2種方法與不同的預(yù)測(cè)算法結(jié)合時(shí)的預(yù)測(cè)結(jié)果數(shù)值和曲線(xiàn)。
表2 預(yù)測(cè)結(jié)果評(píng)價(jià)指標(biāo)
表3 城市綜合體月度用電量預(yù)測(cè)結(jié)果
從表2—3中可以看出,方法一的預(yù)測(cè)精度普遍較低。使用BP神經(jīng)網(wǎng)絡(luò)算法時(shí)得到的預(yù)測(cè)結(jié)果最差,其MAPE值達(dá)到了4.3%。SVM算法本身更加適應(yīng)于小樣本學(xué)習(xí),因此預(yù)測(cè)精度相對(duì)BP神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō)有一定的提升,但其預(yù)測(cè)值同樣存在較大的波動(dòng)。XGBoost算法可以有效地防止過(guò)擬合情況的出現(xiàn),具有較強(qiáng)的泛化能力。因此在結(jié)合方法一時(shí)仍然可以提供一定的預(yù)測(cè)精度。
方法二考慮了城市綜合體內(nèi)部各建筑負(fù)荷的特點(diǎn),同時(shí)利用高分辨率的歷史小時(shí)用電量數(shù)據(jù)來(lái)訓(xùn)練月度用電量多步預(yù)測(cè)模型。此方法增加了模型的訓(xùn)練樣本,因此在結(jié)合3種預(yù)測(cè)算法時(shí)得到預(yù)測(cè)精度均有提升。結(jié)果表明,XGBoost算法可以提供最佳預(yù)測(cè)精度,而B(niǎo)P神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)精度的提升最大,MAPE值從4.3%降低到了2.8%,預(yù)測(cè)精度相對(duì)提升了34.9%。SVM與XGBoost算法的預(yù)測(cè)精度則分別相對(duì)提升了25%和18.2%。由此可見(jiàn),本文提出的方法可以實(shí)現(xiàn)對(duì)城市綜合體月度用電量的準(zhǔn)確預(yù)測(cè),此外還適用于分布式光伏容量估計(jì)和功率預(yù)測(cè)[15-16]、個(gè)體/集群負(fù)荷聚合商基線(xiàn)估計(jì)及其可調(diào)度容量預(yù)測(cè)估計(jì)[17-19]。
本文提出了一種基于多層分解-累加原理的城市綜合體月度用電量預(yù)測(cè)方法。算例分析以某城市綜合體2019年7月至12月的月度用電量作為待預(yù)測(cè)目標(biāo),將傳統(tǒng)的城市綜合體月度用電量單步預(yù)測(cè)方法與本文提出的方法進(jìn)行了比較。結(jié)果表明,高分辨率歷史小時(shí)數(shù)據(jù)為預(yù)測(cè)模型提供了更多的訓(xùn)練樣本,從而有效地提升了預(yù)測(cè)精度;IEMD與XGBoost算法的結(jié)合可以很好地捕捉用電量序列的變化規(guī)律,從而提供較高精度的預(yù)測(cè)結(jié)果。