潘雪濤
(上海電力學(xué)院電力與自動化工程學(xué)院,上海 200090)
準(zhǔn)確的短期負(fù)荷預(yù)測是電力調(diào)度部門的重要工作之一.目前,短期負(fù)荷預(yù)測方法大致可分為傳統(tǒng)方法和智能方法兩大類.傳統(tǒng)的短期負(fù)荷預(yù)測方法以趨勢時間序列法、外推法、灰色模型法等為主,這些算法原理簡單、速度快,但難以表達(dá)負(fù)荷與其影響因素的非線性關(guān)系,從而限制了其在短期負(fù)荷預(yù)測中的應(yīng)用[1-3].智能方法主要包括專家系統(tǒng)、人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)等,其中,人工神經(jīng)網(wǎng)絡(luò)以其強(qiáng)大的自主學(xué)習(xí)能力、非線性處理能力等特性,較好地克服了傳統(tǒng)方法中的某些缺點(diǎn)[4,5],但在實(shí)際運(yùn)用中還存在著網(wǎng)絡(luò)結(jié)構(gòu)選擇困難、泛化能力較差、易陷入局部極小、收斂慢等缺陷[6,7].
本文進(jìn)行了改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法的研究,并利用基于Matlab語言的優(yōu)化計(jì)算程序,結(jié)合某電網(wǎng)負(fù)荷數(shù)據(jù)進(jìn)行短期電力負(fù)荷預(yù)測仿真,比較分析了改進(jìn)方法在計(jì)算速度與預(yù)測誤差方面的優(yōu)勢.
BP學(xué)習(xí)算法的前向網(wǎng)絡(luò)是當(dāng)前應(yīng)用最為廣泛的人工神經(jīng)網(wǎng)絡(luò)之一,可以解決神經(jīng)網(wǎng)絡(luò)面臨的許多問題.BP神經(jīng)網(wǎng)絡(luò)算法一般可描述為正向的信號輸入過程和誤差信號反向傳播過程.反向傳播算法通常采用梯度法修正權(quán)值,因此要求輸出函數(shù)可微,通??蛇x擇Sigmoid型函數(shù)作為激勵函數(shù).
給定任意一組輸入樣本數(shù)據(jù),采用BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,各層之間的映射關(guān)系存儲在連接權(quán)值和閾值上.網(wǎng)絡(luò)的實(shí)際輸出與期望輸出之間的差值即為誤差信號,誤差信號從輸出端開始逐層向前傳播,在誤差信號反向傳播的過程中,網(wǎng)絡(luò)的權(quán)值由誤差反饋進(jìn)行調(diào)節(jié).通過權(quán)值的不斷修正使網(wǎng)絡(luò)的實(shí)際輸出逐漸接近期望輸出.該算法類似梯度下降法,不同的是BP神經(jīng)網(wǎng)絡(luò)算法是將人為選取的一個常數(shù)作為學(xué)習(xí)率,這樣處理雖然便于簡化計(jì)算,但也帶來一些問題.如果步長較小,可能會造成計(jì)算效率低,收斂速度慢;如果步長較大,向前一步可能跨過了最優(yōu)點(diǎn),而后退一步又可能回到原點(diǎn),這樣就會產(chǎn)生振蕩現(xiàn)象.因此,BP網(wǎng)絡(luò)學(xué)習(xí)率的大小對學(xué)習(xí)算法具有重要影響[8,9].
基于上述問題,目前已有很多研究提出了有效的BP網(wǎng)絡(luò)算法的改進(jìn),主要有以下兩種.
(1)變步長法 該方法權(quán)值的修正方法為:
這里的權(quán)值修正方法與連續(xù)兩次迭代的梯度有關(guān).若連續(xù)兩次迭代的梯度方向相同,表明下降太慢,這時可將步長加倍;若連續(xù)兩次迭代的梯度方向相反,表明下降過頭,這時可將步長減半.該方法的不足之處是步長調(diào)整幅度太大容易引起振蕩.
(2)變尺度法 常規(guī)BP算法采用的是一階梯度法,因而其收斂速度較慢.若采用二階梯度法則收斂速度會有較大的提高,但二階梯度法計(jì)算很復(fù)雜.變尺度法是對二階梯度法的簡化計(jì)算,但其計(jì)算相對來說還是較為復(fù)雜[10-12].
本文采用變步長的改進(jìn)BP算法,采用批處理方式,即每一個樣本對網(wǎng)絡(luò)并不立即產(chǎn)生作用,而是等到一個訓(xùn)練周期的全部輸入樣本都依次輸入后,將全部誤差求和累加求出總的誤差,然后集中修改權(quán)值.置各權(quán)值或閾值的初始值為小的隨機(jī)數(shù)值,具體步驟如下.
(1)設(shè)置初始權(quán)值W(0)和V(0)為較小的隨機(jī)非零值,并輸入其他網(wǎng)絡(luò)參數(shù),誤差E置0,學(xué)習(xí)率η設(shè)為0~1內(nèi)的小數(shù),網(wǎng)絡(luò)訓(xùn)練后達(dá)到的精度Emin設(shè)為一小的正數(shù).
(2)提供訓(xùn)練樣本,輸入向量為X=(x1,x2,…,xn)T,期望輸出向量為 d=(d1,d2,…,dn)T,然后對每個輸入樣本進(jìn)行步驟(3)到步驟(5)的迭代.
(3)計(jì)算網(wǎng)絡(luò)的實(shí)際輸出及隱層單元的狀態(tài).
(4)分別計(jì)算輸出層和隱含層的訓(xùn)練誤差.
(5)保存當(dāng)前樣本的訓(xùn)練誤差Ek,到步驟(2)繼續(xù)迭代,直到本次樣本結(jié)束.
(6)計(jì)算樣本訓(xùn)練的總誤差,并加以判斷,若E(t)>E(t-1),則按η=η/2減小學(xué)習(xí)步長.根據(jù)總誤差E=∑kEk,修正BP網(wǎng)絡(luò)的權(quán)值,否則轉(zhuǎn)至步驟(7).
(7)按η=2η增加學(xué)習(xí)步長.
(8)根據(jù)總誤差E=∑kEk,計(jì)算 BP網(wǎng)絡(luò)的權(quán)值.
(9)判斷誤差是否滿足要求,不滿足轉(zhuǎn)至步驟(2),滿足則結(jié)束.
負(fù)荷曲線是與很多因素相關(guān)的一個非線性函數(shù).對于抽取和逼近這種非線性函數(shù),神經(jīng)網(wǎng)絡(luò)法是一種合適的方法.神經(jīng)網(wǎng)絡(luò)輸入變量的常見選擇方法有自相關(guān)系數(shù)法、正交最小二乘法、相空間重構(gòu)法等[13,14].文獻(xiàn)[3]分析了影響負(fù)荷各因素的相關(guān)特性,結(jié)果表明,預(yù)測日前一天、前兩天、前一周的同一時刻及前一天和前兩天預(yù)測時刻的前一個時刻、前兩個時刻的歷史負(fù)荷與預(yù)測負(fù)荷有較強(qiáng)的關(guān)聯(lián).
神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)在于其可以模擬多變量而不需要對輸入變量做復(fù)雜的相關(guān)假定.本文采用的是美國加州電力市場2000年4月30到2000年6月6日的日負(fù)荷小時值[7].
式中:Xmax,Xmin——訓(xùn)練樣本輸入變量的最大值和最小值;
Pi,Xi——輸入樣本歸一化前后的值.
為了避免出現(xiàn)神經(jīng)元飽和現(xiàn)象,需要在輸入層用式(4)將負(fù)荷數(shù)據(jù)換算成[0,1]區(qū)間的值,再在輸出層用式(5)換算回負(fù)荷數(shù)據(jù).
從理論上來說,根據(jù)多層感知器的特點(diǎn),增加隱層數(shù)以及每層節(jié)點(diǎn)數(shù)可以提高神經(jīng)網(wǎng)絡(luò)的非線性處理能力.但實(shí)際應(yīng)用中,并非隱層數(shù)越多或節(jié)點(diǎn)數(shù)越多,擬合優(yōu)度就越好,而往往是根據(jù)經(jīng)驗(yàn)在訓(xùn)練誤差與擬合誤差之間權(quán)衡.一般認(rèn)為,符合樣本特性的最簡單的網(wǎng)絡(luò)結(jié)構(gòu)預(yù)測效果最好[8,9].
本文采用單隱層BP網(wǎng)絡(luò),隱層節(jié)點(diǎn)數(shù)用試錯的辦法,由少到多訓(xùn)練并檢驗(yàn)網(wǎng)絡(luò)的性能.考慮到收斂速度,節(jié)點(diǎn)數(shù)選取由式(6)和Kolmogorov定理確定[11]:
式中:h——隱含層節(jié)點(diǎn)數(shù);
m——輸入層節(jié)點(diǎn)數(shù);
p——輸出層節(jié)點(diǎn)數(shù);
α——0~10之間的常數(shù).
經(jīng)過檢驗(yàn),本文采用的網(wǎng)絡(luò)結(jié)構(gòu):輸入節(jié)點(diǎn)個數(shù)為6;隱含層節(jié)點(diǎn)個數(shù)為10;輸出節(jié)點(diǎn)個數(shù)為1.
由于負(fù)荷預(yù)測是一種對未來負(fù)荷的估算,因此它與客觀實(shí)際存在著一定的差距,即預(yù)測誤差.計(jì)算誤差的方法很多[10-14],本文選用相對誤差(RE)來分析負(fù)荷預(yù)測誤差:——
式中:Xi, 第 i時刻的實(shí)際負(fù)荷值和預(yù)測值.
本文利用美國加州2000年的負(fù)荷數(shù)據(jù)進(jìn)行仿真預(yù)測[7].截取2000年4月30日到6月4日作為輸入數(shù)據(jù),以6月5日數(shù)據(jù)為期望輸出進(jìn)行訓(xùn)練,用Matlab 2009工具箱對6月6日24 h負(fù)荷值進(jìn)行預(yù)測.表1給出預(yù)測日相對誤差平均值,作為對比,將常規(guī)BP神經(jīng)網(wǎng)絡(luò)方法同時刻訓(xùn)練樣本集的相應(yīng)預(yù)測結(jié)果也列于表1.
表1 預(yù)測結(jié)果及誤差
仿真結(jié)果表明,常規(guī)BP神經(jīng)網(wǎng)絡(luò)方法預(yù)測的最大誤差為5.245%,平均絕對值相對誤差為2.273%;改進(jìn)BP神經(jīng)網(wǎng)絡(luò)方法預(yù)測的最大誤差和平均絕對值相對誤差分別為 5.925%和1.261%.由此可見,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)方法預(yù)測的平均相對誤差比常規(guī)方法降低了0.445%,其預(yù)測精度有所改進(jìn).而且對于每個點(diǎn)的預(yù)測模型,改進(jìn)BP算法訓(xùn)練周期在500以內(nèi),比常規(guī)BP算法訓(xùn)練速度快.
(1)改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法可以避免接近最優(yōu)點(diǎn)時產(chǎn)生波動和振蕩現(xiàn)象,負(fù)荷預(yù)測精度有所提高,這主要是因?yàn)閷W(xué)習(xí)速率可根據(jù)需要達(dá)到充分小.
(2)改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)算法速度快、精度高,可用于短期電力負(fù)荷預(yù)測,具有一定的實(shí)際應(yīng)用價值.
[1]甘文泉,胡保生.用自適應(yīng)神經(jīng)網(wǎng)絡(luò)進(jìn)行短期電力負(fù)荷預(yù)測[J].電網(wǎng)技術(shù),1997,21(3):28-31.
[2]羅治強(qiáng),張焰,朱杰.中壓配電網(wǎng)中長期負(fù)荷預(yù)測方法研究與應(yīng)用[J].華東電力,2003,31(1):9-12.
[3]CHOW T W S,LEUNG C T.Neural network based shortterm load forecasting using weather compensation[J].IEEE Transactions on Power Systems,1996,11(4):1 736-1 742.
[4]VOGL T P,MANGIS J K,RIGLER A K,et al.Accelerating the convergence of the back propagation method[J].Biological Cybernetics,1988,59:257-263.
[5]OSMAN Z H,AWAD M L,MAHMOUD T K.Neural network based approach for short-term load forecasting[C]//Power Systems Conference and Exposition,2009:1-8.
[6]周德強(qiáng),武本令.灰色BP神經(jīng)網(wǎng)絡(luò)模型的優(yōu)化及負(fù)荷預(yù)測[J].電力系統(tǒng)保護(hù)與控制,2011,39(21):65-69.
[7]敖磊.電力市場短期電價預(yù)測模型及研究[D].武漢:華中科技大學(xué),2006.
[8]MATLAB中文論壇.MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析[M].北京:北京航空航天大學(xué)出版社,2010:21-54.
[9]朱楷,王正林.精通MATLAB神經(jīng)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2010:193-224.
[10]白連平,陳秀真.提高BP網(wǎng)絡(luò)學(xué)習(xí)速度的自適應(yīng)算法[J].系統(tǒng)仿真學(xué)報,2001,8(13):97-98.
[11]李莉,孔哲峰,李鵬,等.專家系統(tǒng)與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的短期負(fù)荷預(yù)測[J].陜西電力,2009,37(1):22-27.
[12]LING S H,LEUNG F H F,LAM H K,et al.Short-term electric load forecasting based on neural fuzzy network[J].IEEE Transactions on Industrial Electronics,2003,50(6):1 305-1 316.
[13]SENJYU T,TAKARA,H,UEZATO,K,et al.One-hourahead load forecasting using neural network[J].IEEE Transactions on Power Systems,2002,17(1):113-118.
[14]SATISH B,SWARUP K S,SRINIVAS S,et al.Effect of temperature on short term load forecasting an integrated ANN[J].Electric Power Systems Research,2004,72(1):95-101.