文/汪威為 陳超洋 陳祖國(guó) 盧明
負(fù)荷預(yù)測(cè)是電力系統(tǒng)經(jīng)濟(jì)調(diào)度中的一項(xiàng)重要內(nèi)容,是能量管理系統(tǒng)(EMS)的一個(gè)重要模塊。電力系統(tǒng)短期負(fù)荷預(yù)測(cè)是目前電網(wǎng)調(diào)度、制定發(fā)電計(jì)劃及電廠報(bào)價(jià)的主要依據(jù),對(duì)電力系統(tǒng)的運(yùn)行、控制等有著重要的影響。準(zhǔn)確的負(fù)荷預(yù)測(cè)對(duì)保持電網(wǎng)的安全穩(wěn)定運(yùn)行、降低發(fā)電成本、提高電力系統(tǒng)的經(jīng)濟(jì)效益和社會(huì)效益至關(guān)重要。本文針對(duì)電力系統(tǒng)短期負(fù)荷預(yù)測(cè)問(wèn)題,通過(guò)結(jié)合極限學(xué)習(xí)機(jī)和粒子群算法,設(shè)計(jì)了一種簡(jiǎn)單、高效的新型短期負(fù)荷預(yù)測(cè)算法。
極限學(xué)習(xí)機(jī)(ELM)是由Huang.G.B等提出的,具有收斂速度快、泛化能力強(qiáng)等優(yōu)點(diǎn),在高度非線性建模中得到了廣泛的應(yīng)用。ELM是一種新型的快速學(xué)習(xí)算法,對(duì)于單隱含層神經(jīng)網(wǎng)絡(luò),ELM可以隨機(jī)初始化輸入權(quán)值和偏置并得到相應(yīng)的輸出權(quán)值。對(duì)于一個(gè)單隱層神經(jīng)網(wǎng)絡(luò),假設(shè)有N個(gè)任意的樣本(xj,tj),其中:
對(duì)于一個(gè)有L個(gè)隱層節(jié)點(diǎn)的單隱層神經(jīng)網(wǎng)絡(luò)可以表示為:
為輸入權(quán)重,βi為輸出權(quán)重,bi是第i個(gè)隱層單元的偏置。(xj,tj)表示訓(xùn)練樣本。極限學(xué)習(xí)機(jī)能無(wú)限逼近學(xué)習(xí)樣本,即神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)是使得輸出的誤差最小,可以表示為:
即存在W,β和b使得:
可以用矩陣表示為:Hβ=T。其中,H是隱層節(jié)點(diǎn)的輸出,β為輸出權(quán)重,T為期望輸出。
這等價(jià)于最小化損失函數(shù):
由于極限學(xué)習(xí)機(jī)的隱含層節(jié)點(diǎn)輸入權(quán)值和閾值為隨機(jī)取值,為了克服取值隨機(jī)性帶來(lái)的誤差,提高模型的泛化能力,利用改進(jìn)的粒子群算法(PSO)對(duì)隱含層節(jié)點(diǎn)輸入權(quán)值和閾值進(jìn)行全局尋優(yōu)。
粒子群算法近年來(lái)受到了極大的關(guān)注和研究,并取得了豐碩的成果。不同于以往的研究,本文基于粒子群算法對(duì)極限學(xué)習(xí)機(jī)參數(shù)進(jìn)行優(yōu)化,結(jié)合兩者優(yōu)點(diǎn),并設(shè)計(jì)相應(yīng)的優(yōu)化算法,具體如下。
極限學(xué)習(xí)機(jī)的隱含層節(jié)點(diǎn)輸入權(quán)值和閾值為隨機(jī)取值,隨機(jī)取值可能使部分輸入值為0或近似為0,從而使部分隱含層節(jié)點(diǎn)失效,因此需使用參數(shù)設(shè)定其范圍,同時(shí)為了保證粒子的活性和跳出局部最優(yōu),對(duì)粒子群算法進(jìn)行改進(jìn)。首先確定粒子群算法參數(shù),包括種群大小、最大迭代次數(shù)、學(xué)習(xí)因子等;其次確定適應(yīng)度函數(shù),一般取訓(xùn)練樣本與模型擬合值的均方差為適應(yīng)度函數(shù);初始化種群,種群中的每一個(gè)粒子代表一個(gè)解,每個(gè)粒子包含輸入權(quán)值矩陣和閾值向量信息;然后更新種群,根據(jù)改進(jìn)后的粒子群算法對(duì)粒子位置和速度進(jìn)行更新,若粒子處于停滯狀態(tài),則對(duì)粒子位置和速度進(jìn)行初始化;然后再更新粒子歷史最優(yōu)值和全局最優(yōu)值;最后滿足迭代結(jié)束條件時(shí)停止迭代,輸出預(yù)測(cè)結(jié)果。模型總步驟如下:
表1:試驗(yàn)?zāi)P皖A(yù)測(cè)誤差對(duì)比
Step1: 初始化。初始化粒子群參數(shù),設(shè)定極限學(xué)習(xí)機(jī)學(xué)習(xí)參數(shù)。
Step2: 計(jì)算。根據(jù)粒子信息值,以及樣本數(shù)據(jù)進(jìn)行計(jì)算,經(jīng)極限學(xué)習(xí)機(jī)得預(yù)測(cè)值。依據(jù)得到的預(yù)測(cè)值,計(jì)算出適應(yīng)度值,同時(shí)記憶群體和個(gè)體各自所適應(yīng)的最佳位置和。
Step3: 算法優(yōu)化。將 Step2 中得到的適應(yīng)度值與全局最優(yōu)解比較,更新適應(yīng)度函數(shù)及其對(duì)應(yīng)的權(quán)值和閾值。
Step4: 迭代更新。將粒子群算法優(yōu)化的參數(shù)返回給極限學(xué)習(xí)機(jī)。
Step5: 判斷。判斷終止條件是否滿足,若滿足則直接終止循環(huán),否則返回 Step2。
選用2003年3月1日至2003年9月25日,共5000組數(shù)據(jù)進(jìn)行測(cè)試。PSO-ELM算法參數(shù),最大迭代次數(shù)為250,種群大小為120,輸入層節(jié)點(diǎn)數(shù)為2,隱含層節(jié)點(diǎn)數(shù)為5,輸出層節(jié)點(diǎn)數(shù)為1,權(quán)值范圍為0.3~0.9,慣性因子、學(xué)習(xí)因子分別為2.8和1.3。算法獨(dú)立運(yùn)行250次后的結(jié)果如圖1所示。
通過(guò)圖1及表1試驗(yàn)?zāi)P皖A(yù)測(cè)誤差對(duì)比,可知PSO-ELM優(yōu)化模型測(cè)試樣本的仿真誤差為:43933.2795,ELM模型測(cè)試樣本的仿真誤差為:128327.3217;PSO-ELM優(yōu)化模型的決定系數(shù)R2為0.8125,ELM模型的決定系數(shù)R2為0.27455 PSO-ELM優(yōu)化模型的預(yù)測(cè)效果要明顯優(yōu)于ELM原始模型的預(yù)測(cè)效果。
將極限學(xué)習(xí)機(jī)用戶電力負(fù)荷預(yù)測(cè)中,為客服極限學(xué)習(xí)機(jī)因隱含層輸入權(quán)值與閾值隨機(jī)取值帶來(lái)的誤差,利用改進(jìn)的粒子群算法對(duì)其進(jìn)行最優(yōu)尋值。最后的實(shí)例結(jié)果表明,PSOELM模型與算法不僅可行、有效,而且具有較強(qiáng)的學(xué)習(xí)能力。在驗(yàn)證優(yōu)化后的預(yù)測(cè)模型性能后,進(jìn)一步將其與常用的BP神經(jīng)網(wǎng)絡(luò)性能做分析比較。
Bp程序設(shè)計(jì)如下:
圖1:PSO-ELM模型誤差曲線
圖2:誤差比較
本例數(shù)據(jù)是每小時(shí)一組數(shù)據(jù),將每天24小時(shí)所測(cè)數(shù)據(jù)看做整體進(jìn)行數(shù)據(jù)的輸入,由于輸入包括時(shí)間、負(fù)荷以及溫度三個(gè)變量,所以輸入層節(jié)點(diǎn)數(shù)為:24*3=72個(gè)。想要的輸出是下一天的電力負(fù)荷,,所以輸出層節(jié)點(diǎn)數(shù)是1個(gè),隱藏層設(shè)計(jì)為二層,第一層3個(gè)節(jié)點(diǎn),第二層4個(gè)節(jié)點(diǎn).其余參數(shù)設(shè)計(jì)如下:最大訓(xùn)練次數(shù)為100,訓(xùn)練精度要求為0.0005。與BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果比較圖如圖2所示。
圖2為預(yù)測(cè)值與真實(shí)值的誤差曲線曲,可以體現(xiàn)真實(shí)值與預(yù)測(cè)值之間的誤差情況,通過(guò)對(duì)比可以看出,PSO-ELM預(yù)測(cè)值的誤差要明顯低于BP神經(jīng)網(wǎng)絡(luò)所預(yù)測(cè)的值,且PSOELM預(yù)測(cè)值誤差的波動(dòng)范圍較小,進(jìn)一步驗(yàn)證了PSO-ELM模型對(duì)電力負(fù)荷的預(yù)測(cè)性能。