關(guān)書懷, 沈艷霞
(江南大學(xué) 物聯(lián)網(wǎng)技術(shù)應(yīng)用教育部工程研究中心,江蘇 無錫 214122)
電力負荷預(yù)測是電力系統(tǒng)經(jīng)濟運行的基礎(chǔ),對電力系統(tǒng)規(guī)劃以及降低電力生產(chǎn)成本意義重大[1]。目前,負荷預(yù)測可以分為三種類型,即短期預(yù)測、中等期限預(yù)測和長期預(yù)測[2]。與短期負荷預(yù)測不同,長期負荷預(yù)測更易受許多不確定因素影響,預(yù)測難度大[3,4]。針對長期負荷預(yù)測,國內(nèi)外學(xué)者已經(jīng)進行深入研究,預(yù)測方法主要包含參數(shù)方法如回歸預(yù)測、時間系列和灰色理論等[5]及人工智能方法。如文獻[6]應(yīng)用灰色理論建立預(yù)測模型,過程計算量較小且精度較準(zhǔn)確。人工智能方法包括神經(jīng)網(wǎng)絡(luò)(neural network,NN)和動態(tài)模糊綜合評價等[7]。其中神經(jīng)網(wǎng)絡(luò)作為一種最受歡迎的預(yù)測模型已被廣泛應(yīng)用于處理相對復(fù)雜的關(guān)系[8]。文獻[9]提出基于大數(shù)據(jù)和粒子群優(yōu)化(particle swarm optimization,PSO)反向傳播NN(back propagation NN,BPNN)短期電力負荷預(yù)測,建立針對海量電力數(shù)據(jù)的短期負荷預(yù)測模型,但計算量較為繁瑣。文獻[10]針對短期電力負荷預(yù)測問題,提出了一種基于PSO算法的BP-NN預(yù)測模型跳出局部最優(yōu),增強了粒子的全局尋優(yōu)能力,但預(yù)測模型的泛化能力不甚理想。相比于多層前饋網(wǎng)絡(luò)(multilayer feedforward network,MFN),徑向基函數(shù)(radial basis function,RBF)由于其學(xué)習(xí)規(guī)則簡單便于計算實現(xiàn),具有良好的泛化能力,能夠在一個緊湊集和任何精度下,逼近任何非線性函數(shù)[11]。文獻[12]提出基于RBF-NN分位數(shù)回歸概率密度預(yù)測方法,得出未來一天中任意時期負荷的概率密度函數(shù),獲得比點預(yù)測和區(qū)間預(yù)測更多的有用信息,實現(xiàn)了對未來負荷完整概率分布的預(yù)測,但該方法在RBF-NN易陷入局部最佳值這一問題上未得到充分解決。在預(yù)測模型初始化階段文獻[13,14]中采用了模糊聚類EM算法,卻加重了聚類過程的計算量并降低了聚類效率。文獻[15,16]中針對電力負荷預(yù)測結(jié)構(gòu)的參數(shù)尋優(yōu)采用蟻群優(yōu)化(ant colony optimization,ACO)算法,但存在搜索時間較長,易陷入局部解進而停滯。文獻[17]所采取的人工蜂群(artificial bee colony,ABC)算法雖有較快的收斂速度,但易陷入局部最優(yōu)值。
為了能夠有效地跳出模型訓(xùn)練過程中的局部最優(yōu)點,加速模型訓(xùn)練速度,本文使用K-means聚類算法將訓(xùn)練集聚類以加快模型結(jié)構(gòu)學(xué)習(xí),在模型的參數(shù)尋優(yōu)階段集成粒子群優(yōu)化算法,采用自適應(yīng)梯度下降策略二次訓(xùn)練模型,從而使模型跳出局部最優(yōu)解,提升預(yù)測精度以及泛化能力。通過仿真驗證所提出的預(yù)測模型精度及泛化能力優(yōu)于傳統(tǒng)的RBF,ACO-RBF,ABC-RBF-NN。
電力負荷預(yù)測的關(guān)鍵是負荷相關(guān)數(shù)據(jù)的分析,準(zhǔn)確地從中挖掘出負荷發(fā)展規(guī)律??紤]歷史負荷數(shù)據(jù)是眾多時間序列,通過負荷聚類將變化特性相似性高的負荷歸聚同類,將相異性強的負荷聚于不同類,將變化特性相似的負荷集聚研究不僅有利于挖掘類型負荷的增長規(guī)律,也有利于負荷影響因子相關(guān)性分析,進而通過建立準(zhǔn)確的預(yù)測模型,實現(xiàn)負荷的精確預(yù)測。
本文在電力負荷預(yù)測模型中集成了K-means聚類算法。在訓(xùn)練前,先將電力負荷數(shù)據(jù)訓(xùn)練集的所有特征歸一化到[-1,1],之后用K-means聚類算法將訓(xùn)練集聚類為 個集群,具體K-means聚類步驟如下:
1)確定聚類簇數(shù)目K以及訓(xùn)練集樣本數(shù)目M={M1,M2,…,Mk}。
2)隨機選定K個電力負荷數(shù)據(jù)樣本的特征作為高斯激活函數(shù)的初始中心位置。
3)計算電力負荷數(shù)據(jù)集中每個樣本到初始聚類中心的歐氏距離,并將樣本與距離最近的激活函數(shù)打上相同標(biāo)簽。
4)重新計算每個聚類簇負荷數(shù)據(jù)的各個特征平均值,以更新每個集群中心
(1)
式中Cj為第j類聚類簇的聚類中心,Nj為第j類聚類簇的樣本數(shù)目,Mj為第j類聚類簇的第j個樣本。
5)判斷電力負荷預(yù)測系統(tǒng)的迭代數(shù)目若未達到最大值,則重復(fù)步驟(3)和步驟(4),直到不再更改聚類簇的中心位置,否則迭代停止。其中每個簇的中心作為隸屬函數(shù)的中心,簇之間的最小距離作為隸屬函數(shù)的寬度。
基于RBF-NN的電力負荷預(yù)測模型如圖1所示,包括3層結(jié)構(gòu):輸入層、隱含層及歸一化層、輸出層。
圖1 RBF-NN電力負荷預(yù)測模型
輸入量為X=[x1x2…xn]T,其中n為輸入特征的維數(shù),xi表述樣本中的第i維特征,包含年、月、日、小時、星期、溫度等參量。
隱含層及歸一化層中神經(jīng)元激活函數(shù)由RBF構(gòu)成。隱含層的輸出為非線性激活函數(shù)xi,bj,cj構(gòu)成
(2)
式中bj為一個正的標(biāo)量,表示高斯函數(shù)的寬度;m為隱含層的節(jié)點數(shù)量。
第j個節(jié)點的激活強度為
wj=exp(-md2(j))
(3)
(4)
為了克服模型訓(xùn)練過程中的局部優(yōu)化問題,使得電力負荷預(yù)測值與期望值的差值盡可能縮小,可以根據(jù)模型的實際輸出和預(yù)測輸出之間的誤差優(yōu)化中心參數(shù)c和方差b的選取,提高模型的精度。為此本文在模型的參數(shù)尋優(yōu)階段集成了PSO算法。
PSO的過程是先隨機初始化一組粒子,然后通過迭代搜索最優(yōu)解。在每次迭代中,粒子都是通過對粒子的最優(yōu)解pbest和整個群的最優(yōu)解gbest兩種粒子的追蹤來更新它們的位置。設(shè)有n個粒子和D維搜索空間,則追蹤的數(shù)學(xué)表達式如下
Vid(t+1)=w0Vid(t)+c1r1(Pid-Xid(t))+
c2r2(Pgd-Xid(t))
(5)
Xid(t+1)=Xid(t)+Vid(t+1)
(6)
式中Xi=(Xi1,Xi2,…,Xid),Vi=(Vi1,Vi2,…,Vid)為粒子的當(dāng)前位置和當(dāng)前粒子的飛行速度。Pi=(Pi1,Pi2,…,Pid)為pbest,表示當(dāng)前粒子的最優(yōu)位置Pg=(Pg1,Pg2,…,Pgd)為gbest,表示整個粒子群的最優(yōu)位置。w為慣性因子,是一個非負數(shù)。c1,c2為學(xué)習(xí)率,r1,r2為兩個非負數(shù), 是隨機指定的,范圍是[0,1]。Vid∈[-Vmax,Vmax],Vmax為粒子速度的最大限定值。t為當(dāng)前算法的迭代次數(shù)。
采用PSO RBF-NN模型參數(shù)中心參數(shù)c和方差b的步驟如下:
步驟1 對RBF-NN神經(jīng)網(wǎng)絡(luò)模型初始化參數(shù)和權(quán)重。
步驟2 建立RBF-NN模型,根據(jù)輸出誤差指導(dǎo)學(xué)習(xí)過程,將訓(xùn)練所得電力負荷預(yù)測值與期望值之間的誤差作為粒子群的適應(yīng)度函數(shù)。
步驟3 更新參數(shù)和權(quán)重。然后更新粒子的速度和位置。
步驟4 確定粒子群的迭代次數(shù)是否達到最大。若是,則計算RBF-NN模型的最優(yōu)參數(shù)。如果沒有,回到步驟3。
步驟5 二次判斷,即確定RBF-NN梯度下降的迭代是否達到最大值。如果達到最大值,建模過程結(jié)束。否則,重復(fù)步驟5。
盡管使用了啟發(fā)式的PSO算法,但是粒子的尋優(yōu)過程還是有可能會由于動量不足而陷入局部最優(yōu)的困境,所以,在步驟5的梯度下降算法中引入自適應(yīng)學(xué)習(xí)率調(diào)整機制:
a.當(dāng)RMSE(t)≥RMSE(t-1)時,那么
γ(t+1)=jsγ(t),η(t+1)=0
(7)
γ(t+1)=zjγ(t),η(t+1)=η0
(8)
γ(t+1)=zjγ(t),η(t+1)=η(t)
(9)
式中t為迭代次數(shù),js和zj分別為減少和增加因子;δ為基于均方根誤差(root meas square error,RMSE)的相對指標(biāo)的閾值;因此,需要滿足如下條件(10)
0
(10)
為驗證以上模型預(yù)測精度的可靠性,本文選取澳大利亞電力公司公開的電力負荷數(shù)據(jù)集進行算例分析?;赑SO算法優(yōu)化RBF-NN的負荷預(yù)測流程圖如圖2所示。
圖2 電力負荷預(yù)測流程圖
圖3所示采用PSO算法優(yōu)化的RBF-NN模型的最小誤差演變曲線,模型適應(yīng)度函數(shù)在35次迭代更新后收斂。PSO-RBF-NN模型的負荷預(yù)測效果如圖4所示,相較于傳統(tǒng)RBF預(yù)測效果,PSO-RBF-NN模型在電力負荷一年中的預(yù)測效果更符合真實負荷。
圖3 采用PSO優(yōu)化的RBF-NN模型的最小誤差演變曲線
圖4為PSO-RBF和傳統(tǒng)RBF預(yù)測效果圖,可見PSO-RBF在任意時段的預(yù)測精度均有發(fā)幅度提升。
圖4 模型與傳統(tǒng)RBF-NN負荷預(yù)測性能比較
圖5為PSO-RBF和ABC-RBF預(yù)測效果圖,可見PSO-RBF在負荷峰值區(qū)域預(yù)測更加精準(zhǔn)。
圖5 模型與ABC-RBF-NN負荷預(yù)測性能比較
圖6為PSO-RBF和ACO-RBF預(yù)測效果圖,可見PSO-RBF預(yù)測精度不會隨時間增長而受影響。圖4~圖6中不同NN模型在訓(xùn)練前對數(shù)據(jù)集均進行K-means算法聚類,依從單一變量原則,證明PSO-RBF的預(yù)測精度。
圖6 模型與ACO-RBF負荷預(yù)測性能比較
表1為基于PSO優(yōu)化的預(yù)測模型與其他預(yù)測模型的標(biāo)準(zhǔn)誤差比較。 由表1可以看出, PSO-RBF的訓(xùn)練均方根誤差(標(biāo)準(zhǔn)誤差)為0.068,遠小于傳統(tǒng)RBF訓(xùn)練的標(biāo)準(zhǔn)誤差0.094,與基于ACO和ABC的RBF預(yù)測模型訓(xùn)練標(biāo)準(zhǔn)誤差值0.079和0.073相比較,預(yù)測精度更加準(zhǔn)確。PSO-RBF的網(wǎng)絡(luò)節(jié)點數(shù)相較其它網(wǎng)絡(luò)類型更少,故計算量更少。
表1 標(biāo)準(zhǔn)誤差比較
由仿真圖4~圖6以及表1可以看出,相較于RBF-NN,ABC-RBF,ACO-RBF,PSO-RBF-NN的預(yù)測結(jié)果更加貼近于真實負荷結(jié)果,證明了改進后的系統(tǒng)可以有效跳出因梯度下降而陷入的局部最優(yōu)解這一問題,從而具有更高的預(yù)測精度和泛化能力。
本文針對時間尺度較長這一前提,細化了訓(xùn)練模型的過程中建立新的模糊規(guī)則的情況。針對RBF預(yù)測模型因梯度下降進而陷入局部最優(yōu)解這一問題,采用PSO算法對模型參數(shù)尋優(yōu),使模型跳出局部最優(yōu)解,提高了影響因素與負荷水平的相關(guān)性。相對于傳統(tǒng)的長期負荷預(yù)測模型,建立了更加完善的預(yù)測模型,并通過實際負荷數(shù)據(jù)進行了驗證,結(jié)果表明:相比于傳統(tǒng)RBF-NN預(yù)測模型,本文所提出的預(yù)測模型具有更高的預(yù)測精度和泛化能力。