周紅標,王樂,卜峰,應根旺
(淮陰工學院 自動化學院,江蘇 淮安223003)
電力系統(tǒng)短期負荷預測主要是預測未來幾小時、一天或幾天的負荷,對機組優(yōu)化組合、安全調度、故障檢修和電網商業(yè)化運作具有重要的指導意義。由于電力負荷數據主要依賴于生產生活的規(guī)律性變化,并受氣象、節(jié)假日等影響,往往是具有周期性、隨機性等特點的復雜非線性時間序列。傳統(tǒng)的負荷預測完全憑調度員主觀判斷,后來發(fā)展了時間序列法、回歸分析法[1-2]。隨著人工智能技術的發(fā)展,小波理論、神經網絡、支持向量機等智能算法被引入短期電力負荷預測當中[3]。由于線性回歸模型難以擬合非平穩(wěn)負荷時間序列,前饋型BP神經網絡又存在訓練耗時長、易陷入局部解等缺陷,一些學者嘗試建立反饋型神經網絡預測模型,如Elman、回聲狀態(tài)神經網絡等[4]。
回聲狀態(tài)神經網絡(Echo State Network,ESN)是Jaeger和Haas于2001年提出的一種新型遞歸神經網絡,并于2004年在Science上發(fā)表了相關研究成果[5]。ESN的核心是隱含層內大量以完全隨機和稀疏方式互連的神經元構成的動態(tài)神經元池(Dynamic Neurons Reservoir,DNR)。ESN的輸入、內部和遞歸連接權重均在學習之前確定,在整個訓練過程中保持不變,即ESN只需訓練輸出權重,大大簡化了訓練過程;同時,采用凸優(yōu)化學習算法,有效解決了陷入局部最優(yōu)解的問題,引起了越來越多研究者的興趣和重視,已成為時間序列預測領域的研究熱點之一[6]。文獻[7]利用傳統(tǒng)ESN對短期電力負荷進行預測,結果表明ESN預測效果優(yōu)于前饋神經網絡。文獻[8]利用相空間理論構建模塊化回聲狀態(tài)網絡(modular echo state network,MESN)對大客戶實時電力數據進行預測,結果表明MESN的預測效果優(yōu)于RBF、LS-SVM神經網絡。文獻[9]利用小波對混沌時間序中的噪聲進行降噪處理,然后建立ESN預測模型,結果表明所建模型在單步和5步時間序列預測上取得較好精度。文獻[10]采用小波回聲狀態(tài)網(wavelet echo state network,WESN)搭建了北美某電廠的電力負荷預測模型,結果顯示WESN在1小時和1天內的短期負荷預測上取得較好預測效果。
盡管ESN在許多應用中取得了不錯的效果,但它自身存在難以克服的缺陷,尤其狀態(tài)矩陣的病態(tài)解問題,影響模型的泛化能力和預測精度,這困擾了包括Jaeger在內的許多專家學者。針對這一問題,陸續(xù)提出了正則化[11]、嶺回歸[12]、奇異值分解[13]、稀疏貝葉斯[14]等方法(核心思想是引入噪聲項)來解決病態(tài)矩陣問題,但是改善的效果并不明顯,反而增加了算法學習的復雜度。近兩三年,有學者引入因子分析和小波分析,構建因子回聲狀態(tài)網[15]和小波回聲狀態(tài)網[16]對時間序列進行動態(tài)分析,預測效果得到明顯改善。文章考慮小波變換不能對低頻空間繼續(xù)分解的缺陷,而小波包變換具有對高頻和低頻空間同時細分的優(yōu)勢,提出小波包回聲狀態(tài)網模型(wavelet packet echo state network,WPESN),同時,考慮采用粒子群算法優(yōu)化ESN儲備池參數。PSOWPESN通過小波包分解將時間序列分解成一系列的高頻分量和低頻分量,然后同時輸入到各自PSO優(yōu)化的ESN模型中。這不僅能夠降低問題的學習難度,提高網絡的預測精度,而且更為重要的是能夠通過高頻分量的正則化作用來緩解傳統(tǒng)ESN中普遍存在的病態(tài)解問題。因此,文章以某市61天的電力負荷數據為對象,建立PSO-WPESN短期電力負荷預測模型,并通過仿真測試與BP、Elman、傳統(tǒng)ESN等模型比較,驗證了該模型的有效性。
回聲狀態(tài)網是一種新型的遞歸神經網絡,包括輸入層、動態(tài)神經元池和輸出層,其中動態(tài)神經元池是網絡結構的核心,它是由以完全隨機和稀疏方式連接的成百上千個神經元構成,這也是網絡具備記憶能力的關鍵。ESN網絡結構如圖1所示[15-16]。
圖1 回聲狀態(tài)網結構圖Fig.1 Echo state network structure diagram
設網絡輸入為 u(n)=[u1(n),…,uK(n)]T,狀態(tài)為 x(n)=[x1(n),…,xN(n)]T,輸出為 y(n)=[y1(n),…,yL(n)]T,其中 K為輸入維數,N為內部神經元個數,L為輸出維數。則:
式中Win,W,Wb分別為輸入、內部狀態(tài)、輸出到內部狀態(tài)的連接權值矩陣;Wo為內部狀態(tài)到輸出的連接權值矩陣;f=(f1,…,fN)為內部神經元激活函數,一般取為sigmoid函數;fo是輸出函數,一般取為線性函數。ESN的Win、W和Wb都是隨機生成的,且一經生成在學習過程中就不再改變,在儲備池網絡的訓練過程中只需調整Wo的值即可[17]。
ESN學習算法如下(令L=1):設訓練樣本個數為 Ns,期望輸出為 Y*=[d1,…,dNs]T。則有:
式中 X+=(XTX)-1X為 X的 Moore_Penrose逆,X為訓練過程中內部神經元狀態(tài)序列矩陣。其基本思想是首先通過輸入信號激發(fā)儲備池網絡的狀態(tài)響應信號,即“回聲信號”,然后由“回聲信號”的線性組合逼近期望輸出信號[18]。
在多分辨分析小波理論的基礎上,將尺度函數φ(t)記為 u0(t),小波函數 φ(t)記為 u1(t),于是有二尺度方程:
定義的函數集合{un(t)}n∈Z稱為由u0(t)=φ(t)所確定的小波包,其中 h(k)、g(k)是共軛濾波器系數。
設x(t)為 L2(R)空間函數,對其離散采樣序列{x(p)}p=1,2,…,N’,小波包分解算法為:
由式(4)可知,小波包分解過程實質就是通過一組低、高通組合的共軛正交濾波器h、g,將信號x(p)分解到不同的頻帶上[19]。
小波包的空間劃分是同時對尺度空間和細節(jié)空間進行再分解,提高了頻率分辨率,克服了小波不能對低頻空間進行分解的局限,能夠獲得更豐富的頻域局部化信息,尤其適合動態(tài)時間序列數據的預處理。
WPESN基本思想是通過小波包分解將時間序列分解成低頻分量和高頻分量,其中低頻分量可以很好地反應時間序列的趨勢信息,而高頻分量可以有效緩解傳統(tǒng)ESN模型中存在的病態(tài)解問題。假設進行小波包三層分解的話,可以得到低頻和高頻總共八個分量,將其輸入到ESN中激發(fā)出狀態(tài)響應信號,最后通過各狀態(tài)響應信號間的線性組合逼近期望輸出。WPESN的網絡結構如圖2所示。
圖2 WPESN網結構圖Fig.2 WPESN network structure diagram
從圖2可知,PSO-WPESN的預測步驟可描述如下[16,20]:
Step1:對原始時間序列進行小波包分解,得到高、低頻系數各e個,然后對各系數進行重構,得到數據集(ESN)i(i=D1,D2,…,De,C1,C2,…,Ce);
Step2:對(ESN)i劃分訓練數據集和測試數據集,并進一步細分輸入和輸出;為避免數據過大造成神經網絡輸出飽和,對訓練集輸入輸出數據、測試集輸入數據進行歸一化處理,歸一化公式為:
式中xi和yi分別為原始數據和歸一化后數據;xmax和xmin分別為數據的最大值和最小值;
Step3:對(PSO)i進行參數設置,如迭代次數、種群規(guī)模、速度更新參數等;對(ESN)i預測模型待優(yōu)化參數包括儲備池神經元規(guī)模(N)i,譜半徑(SR)i,稀疏度(SD)i,輸入單元尺度(IS)i、輸入單元位移(ID)i,輸出單元尺度(TS)i,輸出單元位移(TD)i等進行初始值產生和范圍設定。對上述參數取值進行多次試驗嘗試,以確定適應不同數據集的較好參數;
Step4:根據(PSO)i中初始值建立 ESN模型,處理(ESN)i的訓練數據,計算種群內所有粒子適應度,尋找個體極值和群體極值,適應度計算公式為:
Step5:對粒子更新自身的速度和位置,更新公式為:
式中ω為慣性權重;c1和c2為加速度因子;r1和r2為[0,1]區(qū)間的隨機數;
Step6:個體極值更新。對每個粒子,將其適應度值gbest與個體極值進行比較,若比gbest更優(yōu),則重新記gbest位置;
Step7:群體極值更新。當前粒子群每個粒子的歷史最優(yōu)位置的適應度值gbest再與粒子群最優(yōu)位置的適應度值 zbest進行比較,若 gbest的位置優(yōu)于zbest,則記 gbest為 zbest;
Step8:重復Step5至Step7,直至滿足迭代次數,最終得到整個粒子群的最優(yōu)位置pbest;
Step9:根據(PSO)i得到的最優(yōu)解 pbest建立(ESN)I模型,將(ESN)i數據集中訓練集輸入、測試集輸入送入預測模型,得到訓練集和測試集預測輸出反歸一化后的和,反歸一化公式為:
Step10:重復Step2至Step8,完成小波包重構后的個時間序列數據的PSO-ESN建模和預測,得到(i=D1,D2,…,De,C1,C2,…,Xe);
文章連續(xù)采集了某市2個月的電力負荷數據,每隔15分鐘采樣一次,每天可采集96個點的數據,共計5 856點,如圖3所示。
圖3 某市61天負荷數據Fig.3 Historical load data
為了評價所建PSO-WPESN模型的有效性,將其與BP、WNN、Elman、傳統(tǒng) ESN等神經網絡的預測效果進行對比,并選擇歸一化均方根誤差(Normalized rootmean square error,NRMSE)、均方誤差 (Mean square error,MSE)和平均絕對百分比誤差(Mean absolute percentage error,MAPE)作為判斷預測效果的依據,計算公式為:
式中 T為預測樣本點的總數;y(t)為預測值;yd(t)為期望值。
對61天共采集到的5 856點數據,每6天的數據作為輸入,第7天的數據作為輸出,這樣就得到了55個樣本。前54個樣本作為訓練集,第55個樣本作為測試集(第54天到第60天的數據作為測試集輸入,第61天的數據為測試集輸出)。首先建立常規(guī)的BP和Elman神經網絡觀察預測情況。BP和EL-man預測結果如圖4所示。
由于每6天有576個點的數據,第61天有96個點的數據,即輸入為576點,輸出為96點,故建立的網絡結構為576-n-96。模型隱含層傳遞函數選用sigmoid函數,訓練函數采用traingdx。對n取不同值時的預測誤差進行分析,運行10次求取平均值,BP的n=8時平均總誤差為4.75×104MW,Elman的n=55時平均總誤差為3.045×104MW。進一步嘗試改變數據序列結構和擴展BP網絡為雙隱含層,對誤差數據統(tǒng)計發(fā)現,平均總誤差都在3 MW~7×104MW之間,誤差比較大,難以滿足電力負荷精準預測的需求。
圖4 BP和Elman預測結果(每6天預測第7天)Fig.4 Forecasting results based on BP and Elman
對結果進行分析,多輸出預測精度不高的原因在于網絡結構過于復雜,泛化能力大幅降低。因此研究改變樣本數據構成,嘗試單點輸出預測。對于5 856點數據,每10個點作為輸入,緊隨的第11點作為輸出,這樣就得到5 846個樣本。前5 750個樣本作為訓練集,后96個樣本作為測試集,能夠完成第61天的電力負荷逐點預測要求。
由于每個樣本輸入為10個數據點,輸出為1個數據點,故以下建立的各模型網絡結構都為10-n-1。對n取不同值時的預測誤差進行分析,運行10次求取平均值,BP的n=8時平均總誤差為3.126×103MW,Elman的n=30時平均總誤差為10.121×103MW,WNN的 n=15時平均總誤差為6.073×103MW。各模型預測精度得到大幅提高,尤其是BP神經網絡預測效果最好。預測結果和誤差百分比如圖5和圖6所示,其中誤差百分比采用的公式為÷y。
圖5 BP、Elman、WNN預測結果Fig.5 Forecasting results based on BP,Elman and WNN
圖6 BP、Elman、WNN預測誤差百分比Fig.6 Forecasting error percentage of BP,Elman,WNN
進一步,利用文章建立的PSO-WPESN模型對負荷數據進行處理,并與 GA-BP、常規(guī) ESN、PSO-ESN等模型相比較。GA-BP中遺傳操作的參數選取為:種群規(guī)模為20,迭代次數為20,交叉概率0.2,變異概率0.1。傳統(tǒng)ESN的儲備池節(jié)點數取為350,譜半徑取為0.65,稀疏度取為0.03,輸入單元尺度取為0.15,輸入單元位移取為0,輸出單元尺度取為17.15,輸出單元位移取為-0.1。PSO-ESN中粒子群參數選取為:速度更新參數c1、c2都取為1.3,迭代次數取為20,種群規(guī)模取為20,個體中儲備池神經元個數、譜半徑、稀疏度、尺度因子(輸入、輸出)、位移因子(輸入、輸出)等依次取10-1 000、0.1-0.9、0.01-1、-2-2(經過多次嘗試,輸出尺度因子取為0-50時精度普遍較高)、-1-1。PSO-WPESN中采用db9小波、3層分解,其他參數設置與上述模型一致。
為了能夠對預測結果進行清晰比較,這里的ESN、PSO-ESN在學習和預測過程中丟棄了數據序列的初始10個點。適應度進化情況如圖7所示,可見經過PSO優(yōu)化的平均適應度值和最優(yōu)適應度值的進化情況明顯優(yōu)于GA。由于PSO-WPESN是對小波包分解和重構后的8個系數進行的建模仿真,這里并沒有給出其適應度變化曲線。
圖7 GABP、PSOESN適應度進化情況Fig.7 Fitness of GABP and PSOESN
上述模型的預測結果如圖8所示,粗略地看,各模型的預測效果都比較好。但是通過第32點的局部放大圖可以看出PSO-WPESN與實際值幾乎重疊,預測效果最好,PSO-ESN其次,而ESN和GA-BP精度較差。圖9所示為第11-25點的局部圖,可以清晰地看到,PSO-WPESN的預測效果要優(yōu)于 GA-BP和ESN,而PSO-ESN效果較差。這是由于PSO-ESN過學習導致輸出矩陣Wo過大,從而造成早期階段的個別點預測精度急劇下降,這種情況從第25個點后才得到有效抑制。
圖8 PSO-WPESN等模型預測結果Fig.8 Forecasting results based on PSO-WPESN
圖9 第11-25點的預測結果Fig.9 Forecasting results of 11-25 data points
圖10 PSO-WPESN等模型預測誤差百分比Fig.10 Forecasting error percentage of PSO-WPESN
圖11 第11-25點的預測誤差百分比(取絕對值)Fig.11 Forecasting error percentage of 11-25 data points
上述模型的預測誤差百分比如圖10所示,可以看出,GA-BP模型誤差百分比在-2%~6.5%之間,ESN模型誤差百分比在-2.5%~5.5%之間,PSOESN模型誤差百分比在-2.5%~3%之間,而PSOWPESN模型誤差百分比僅在-0.1%~0.1%之間。圖11顯示的是第11-25點誤差百分比絕對值,可以清晰看到,PSO-WPESN的誤差百分比絕對值要遠小于其他模型。這說明通過采用小波包分解,WPESN能夠有效消除病態(tài)解。可見,正是由于小波包的多分辨率分析特性,通過高、低頻等頻率劃分,降低了模型學習難度,利用高頻分量的正則化作用有效克服了傳統(tǒng)ESN普遍存在的不適定問題,表明了小波包對提高預測精度的可行性。
表1列出了各模型訓練集、測試集的NRMSE、MSE、MAPE和測試集的總誤差以及建模耗時。
表1 各模型預測結果(取10次平均值)Tab.1 Forecasting results of each model(average of 10 times)
從表1不難看出,PSO-WPESN算法給出了最佳的預測精度,對于訓練集,NRMSE、MSE、MAPE分別為0.001、0.76、0.019,對于測試集,NRMSE、MSE、MAPE分別為0.001、1.08、0.021;測試集總誤差分別為0.07×103MW,預測精度和泛化能力得到明顯提高,當然,由于嵌套PSO優(yōu)化,CPU耗時達到9 766 s。在實際應用中可以通過減少訓練數據集規(guī)模以及改變數據集生成方式來減少學習時間,以適應電力負荷快速精確的預測需求。
文章針對前饋BP和遞歸Elman等網絡在時間序列預測中的不足,選用ESN神經網絡建立短期電力負荷模型,但經典ESN由于解奇異造成病態(tài)矩陣且儲備池參數難以精確確定,使得網絡的穩(wěn)定性和泛化能力大為降低。因此,采取小波包分解構建局部型小波包ESN神經網絡,緩解了病態(tài)解,采取粒子群優(yōu)化ESN儲備池的譜規(guī)模、半徑、稀疏度、尺度和位移等參數,提高了模型的預測精度?;谒岢龅腜SO-WPESN模型,采用某地區(qū)實測的電力負荷數據進行驗證,證明了該模型與 BP、Elman、常規(guī)ESN等相比,具有更高的預測精度。下一步研究工作是協調數據規(guī)模、學習時間和預測精度三者之間的關系。