陳 亞,李 萍
(1.寧夏大學 物理與電子電氣工程學院,寧夏 銀川 750021;2.寧夏沙漠信息智能感知重點實驗室,寧夏 銀川 750021)
人工魚群神經網絡在短期負荷預測中的應用
陳 亞1,李 萍2
(1.寧夏大學 物理與電子電氣工程學院,寧夏 銀川 750021;2.寧夏沙漠信息智能感知重點實驗室,寧夏 銀川 750021)
由于電力負荷是電力系統發展的基礎,提高電力負荷預測的準確性有利于電力系統的快速發展。Elman神經網絡預測方法容易陷入局部解,且收斂速度慢,而人工魚群算法具有較優的全局收斂能力及較快的尋優速度。為了提高短期電力負荷預測的精度,利用人工魚群算法對Elman神經網絡的初始權值和閾值進行了優化,提出并建立了一種新的人工魚群神經網絡短期負荷預測模型。以某市的歷史負荷數據作為訓練樣本,將人工魚群神經網絡預測模型與傳統Elman神經網絡預測模型進行對比實驗。實驗結果表明,相對于傳統Elman神經網絡預測模型,人工魚群神經網絡模型的計算誤差更小,預測精度更高,收斂速度更快,具有較好的短期電力負荷預測應用前景。
人工魚群算法;Elman神經網絡;短期負荷預測;預測精度
電力負荷預測數據是調度和規劃部門應具備的基礎信息,準確的負荷預測能夠指導電網調度部門制定經濟合理的調度方案,同時也是節省能源,提高經濟效益及社會效益的有效措施,為正常的社會生活、經濟的持續健康發展提供了重要保障[1]。
傳統的預測方法是用具體的數學表達式建立數學模型,計算速度快、運算量小,但不具備自學習、自適應能力,使該類方法存在很大的局限性。隨著電力系統結構日益完善,負荷隨系統復雜性的增強,其時變性、非線性和不確定性的特點日益突出,對于這樣一個復雜系統就不易建立一個恰當的數學模型來預測[2]。1991年,Park等將神經網絡用于負荷預測中,預測結果降低了2.12個百分點,這種非數學的模型預測方法,為負荷預測打開了新的思路[3]。目前,負荷預測領域特別是短期負荷預測應用比較廣泛的是BP神經網絡,實際上這種方法是對動態網絡使用靜態前饋網絡進行識別,將動態時間建模問題變為靜態建模問題。這樣的處理方式會帶來諸多問題,靜態網絡不能準確反映系統動態特性,而應該使用動態神經網絡。
典型的動態神經網絡在預測領域使用較多的是Elman神經網絡。但是神經網絡比較容易陷入局部極值且迭代時間長,收斂速度慢,這些本身存在的不足一定程度上影響了模型的預測精度[4]。在粒子群算法、蟻群算法等群智能算法之后,提出了人工魚群算法。它是一種新的基于動物群體的智能優化算法,現已成為智能算法的一個重要組成部分。該算法具有并行性、簡單性、能很快跳出局部極值、尋優速度快等特點[5],能很好地彌補神經網絡的上述缺點。為此,基于人工魚群算法優化Elman神經網絡,提出并建立了人工魚群神經網絡短期負荷預測模型。
2002年,李曉磊提出了人工魚群算法,這是一種模仿魚群行為的新型尋優算法[6]。該算法是通過模仿魚類覓食、聚群、追尾及隨機行為來改變自身的狀態和位置,以達到尋找全局最優解的目的,有良好的克服局部極值、取得全局極值的能力且不需要目標函數的梯度值,對搜索域有較好的自適應能力[7]。同時,該算法還有其他優點,如簡單容易實現、使用靈活、對初值和參數的選擇不敏感、魯棒性強等。
1.1算法描述
1.1.1 覓食行為
魚類的覓食行為大多是依靠視覺以及味覺來判斷食物濃度進而再選擇運動趨向。設人工魚前一狀態xi的適應值為yi,在其視野范圍內隨機選擇一個狀態xj,其適應值為yj,執行式(1)。
xj=xi+Visual·Rand()
(1)
如果yi (2) (3) 1.1.2 聚群行為 (4) 若xc處有較多食物且不擠,就往xc方向行進一步,執行式(5)。 (5) 1.1.3 追尾行為 一旦魚群中的某一條魚發現食物,周圍的魚就會跟隨其快速找到食物點。設當前人工魚狀態為xi,其視野內的全部的魚中適應值最大狀態為xmax,對應的適應值為ymax。如果ymax>yi,且周圍不擠,則朝xmax方向前進一步,執行式(6)。否則執行覓食行為。 (6) 1.1.4 公告板 算法中設置公告板,記錄最優魚的狀態及所處位置的食物濃度值。每條人工魚每行動一次就將自身目前狀態與公告板進行比較,倘若優于公告板中的值則將其取代。算法對人工魚當前所處的環境進行聚群和追尾行為評價,然后從中選擇能尋找到較大食物濃度的行為來執行,缺省行為由覓食行為代替。 1.2算法改進 由于視野Visual在算法的各行為中均有涉及,因此,其變化對算法收斂性的影響也是較復雜的。當Visual范圍較小時,主要執行覓食和隨機行為;Visual范圍較大時,主要執行追尾和聚群行為[8]。總體來看,當視野越大,人工魚越容易發現全局極值并收斂。 對于特定的步長,收斂速度會隨步長的變化而變化,一定的范圍內,步長增加會使收斂速度加快,但超出范圍后,收斂速度則會減緩,步長過大,可能會出現振蕩現象,從而影響收斂速度。為防止振蕩現象的發生,可采用隨機步長,這樣也使得參數的敏感度大幅下降,但最快的收斂速度還是最優固定步長的收斂速度。因此,針對不同的問題,可根據具體問題采用適當的固定步長或變化步長來提高算法的收斂速度[9]。 人工魚群算法中個體魚的幾種行為均涉及到視野和步長,這兩個參數的大小變化直接影響到算法的收斂速度和最優解的結果:視野影響人工魚的尋優速率,步長影響其前進速度。因此對視野和步長進行動態調整,如式(7)和式(8)所示。 Visual=a·Visual+Visualmin (7) Step=a·Step+Stepmin (8) (9) 其中,t為當前的迭代次數;T為最大的迭代次數。 最初個體魚尋優時,給其對應較大的視野和步長,能看到較大的范圍,使其在尋優前期能以較快的速度獲得全局最優解域;在算法尋優后期視野和步長變小,讓其在全局最優解域內搜索局部最優,提高最優解的精確度。 Elman神經網絡是Elman于1990年提出的,其拓撲結構如圖1所示,由輸入層、隱含層、輸出層和承接層四部分構成。 圖1 Elman神經網絡拓撲結構 它是一種典型的動態反饋型神經元網絡,是在前饋網絡的基礎上,在隱含層中增加了一個承接層,其作為一步延時的算子,用來記憶隱含層單元前一時刻的輸出值并返回給輸入,通過存儲內部的狀態使其能夠映射動態特征,對歷史的數據有敏感性,以達到記憶的效果,從而使系統具有適應時變特性的能力,達到了動態建模的目的[10]。Elman神經網絡不需要預先設定系統數學模型的形式,只需給出網絡的輸入和輸出,就可建立數學模型。輸入信號決定著反饋系統的初始狀態,網絡訓練時經過一系列狀態的轉移后,逐步收斂直到平衡狀態,輸出Elman神經網絡的預測結果。 Elman神經網絡的數學模型為: x(k)=f(w1xc+w2u(k-1)) xc(k)=a·xc(k-1)+x(k-1) (10) yk=g(w3x(k)) 其中,w1、w2分別為承接層、輸入層到隱含層的連接權值;w3為隱含層到輸出層的連接權值;f()為隱含層的激勵函數;g()為輸出層的傳遞函數。 f(x)多取為Sigmoid函數,即 (11) g(x)多取為線性函數,即 yk=w3x(k) (12) Elman神經網絡進行權值修正采用BP算法,學習指標函數采用誤差平方和函數,如式(13)所示。 (13) 人工魚群算法在優化Elman神經網絡時,訓練和測試Elman神經網絡模型時使用歷史負荷數據,通過魚群算法進行迭代尋找最優的權閾值。每個Elman神經網絡用一條人工魚代表,待優化的初始權值和閾值與每個魚的狀態對應,人工魚群算法的目標函數為Elman神經網絡實際輸出值和期望輸出值的最小誤差值[12]。 基于人工魚群算法的Elman神經網絡訓練算法流程如下: (1)確定神經網絡的輸入層、隱含層、輸出層的節點數,將多組訓練數據歸一化處理后作為網絡的輸入和輸出; (2)初始化參數:確定人工魚個數N、步長Step、視野Visual、擁擠度因子δ、試探次數Try-number、最大迭代次數T、待優化的權閾值m和目標函數E值; (3)迭代次數初值設為1,隨機產生包含N條人工魚的初始魚群,從而產生N組初始權值和閾值; (4)分別計算并比較全部人工魚個體狀態的適應值,即目標函數E值,將最小E值和對應的個體狀態錄入公告板; (5)對所有人工魚模擬進行聚群和追尾行為,然后實際執行較小的E值的行為,缺省行為方式為覓食; (6)將魚群每次活動后所有魚的E值和公告板中的值進行比較,一旦小于公告板上的值,就取代它; (7)當迭代次數達到T時,就輸出最優的權閾值,否則令迭代次數t=t+1,轉到步驟(3); (8)尋優結束后,將最優的權閾值作為初始權閾值用于電力負荷預測的Elman神經網絡模型中; (9)使用歷史負荷數據進行模型測試,得出負荷預測的結果后與實際負荷值進行誤差比較分析。倘若達到誤差要求,就存儲該組權閾值,輸出預測結果,否則轉到步驟(2),重新開始。 選取某地2014年12月20日至2015年1月10日的24小時的負荷數據作為樣本。由于人工神經網絡的神經元對訓練樣本的數據范圍有限制,因此對輸入數據進行歸一化處理,這樣可以避免在訓練過程中神經網絡出現假飽和現象,以加快神經網絡的收斂。網絡的收斂速度受不同壓縮方式的影響,即輸入值的壓縮方式和隱含層激活函數形式有直接關系,最好是把輸入值壓縮在激活函數最有效的工作區間內[13]。當激活函數為指數函數時,將輸入值換算壓縮到(0,1)之內;當用正切函數時,將其換算到[-1,1]內。所提出的神經網絡中神經元激活函數取Sigmoid函數,用式(14)將負荷換算到[-1,1]之間,在輸出層用式(15)將其換算回負荷值。 (14) (15) 在Matlab環境下,用人工魚群神經網絡模型對數據樣本進行訓練和預測,并與實際負荷值及Elman神經網絡模型預測值進行比較,仿真結果如圖2所示,兩種模型預測誤差對比如圖3所示。 圖2 預測值與實際負荷值對比 圖3 預測誤差對比 從預測結果可以看出,在某些負荷值節點,Elman神經網絡模型的預測輸出值與實際值局部出現了較大偏差,而人工魚群神經網絡模型預測輸出更貼近實際值的曲線走勢,有較高的預測精度,多數點達到較低的誤差值并且各點的誤差值變化較均勻。 為提高短期負荷預測的精度,改善神經網絡的缺點,利用人工魚群算法優化Elman神經網絡的初始權值和閾值后,收斂速度加快,且有效地解決了Elman算法容易陷入局部最優的問題。將其應用于電力系統短期負荷預測中,仿真結果表明,基于人工魚群算法的Elman神經網絡模型具有較好的預測效果。 [1] Bebic J.Power system planning:emerging practices suitable for evaluating the impact of high-penetration photovoltaics[M].Golden,Colorado:National Renewable Energy Laboratory,2008. [2] Hooshmand R A,Amooshahi H,Parastegari M.A hybrid intelligent algorithm based short-term load forecasting approach[J].International Journal of Electrical Power & Energy Systems,2013,45(1):313-324. [3] Kulkarni S, Simon S P, Sundareswaran K.A spiking neural network (SNN) forecast engine for short-term electrical load forecasting[J].Applied Soft Computing,2013,13(8):3628-3635. [4] Aussem A.Dynamical recurrent neural networks towards prediction and modeling of dynamical systems[J].Neurocomputing,1999,28(1):207-232. [5] 高雷阜,趙世杰,高 晶.人工魚群算法在SVM參數優化選擇中的應用[J].計算機工程與應用,2013,49(23):86-90. [6] 俞凱耀,席東民.人工魚群算法優化的PID神經網絡解耦控制[J].計算機仿真,2014,31(10):350-353. [7] 劉彥君,江銘炎.自適應視野和步長的改進人工魚群算法[J].計算機工程與應用,2009,45(25):35-37. [8] 蔡 婷.基于人工魚群的LS-SVM在短期負荷預測中的應用[D].南寧:廣西大學,2014. [9] 費 騰,張立毅.人工魚群算法改進方法概述[J].電子設計工程,2015(21):1-4. [10] 喬 新.基于Elman神經網絡的電力負荷預測模型研究[J].無線互聯科技,2012(11):122-123. [11] 劉 榮.基于Elman神經網絡的短期負荷預測[D].杭州:浙江大學,2013. [12] 楊 紅,陳向陽,張 飛,等.AFSA-BP神經網絡在大壩變形預測中的應用[J].地理空間信息,2012,10(6):131-132. [13] 隋惠惠.基于BP神經網絡的短期電力負荷預測的研究[D].哈爾濱:哈爾濱工業大學,2015. [14] 劉天舒.BP神經網絡的改進研究及應用[D].哈爾濱:東北農業大學,2011. ApplicationofArtificialFishSwarmNeuralNetworkinShortTermLoadForecasting CHEN Ya1,LI Ping2 (1.School of Physics and Electronic-Electrical Engineering,Ningxia University,Yinchuan 750021,China; 2.Ningxia Key Laboratory of Intelligent Sensing for Desert Information,Yinchuan 750021,China) The electric power load is the basis of development of electric power system,so the improvement of predicting accuracy of the former is beneficial to the latter.Elman neural network forecasting method is easy to fall into local solution and its convergence rate is slow.The artificial fish swarm algorithm has better global convergence ability and higher optimization speed.To improve the accuracy of short-term power load forecasting,the artificial fish swarm algorithm is adopted to optimize the initial weights and thresholds of Elman neural network.Then a new forecast model of short-term power load is built and applied to forecast the short-term power load.With the historical load data of a city as training samples,the artificial fish swarm neural network prediction model and the traditional Elman neural network prediction model are employed in contrast experiments.The results show that it has smaller computational error,higher accuracy and faster convergence rate compared with the traditional Elman neural network prediction model and has better application prospects in short term power load forecasting. artificial fish swarm algorithm;Elman neural network;short-term electric load prediction;prediction accuracy TP39 A 1673-629X(2017)10-0189-04 2016-09-30 2017-01-13 < class="emphasis_bold">網絡出版時間 時間:2017-07-11 2015寧夏自然科學基金資助項目(NZ15013);2016寧夏高校科學技術研究資助項目(NGY2016014) 陳 亞(1992-),女,碩士研究生,研究方向為電力系統及通信技術;李 萍,教授,碩士生導師,CCF會員(200014282M),研究方向為電力系統、計算機技術。 http://kns.cnki.net/kcms/detail/61.1450.TP.20170711.1454.034.html 10.3969/j.issn.1673-629X.2017.10.040



2 Elman神經網絡



3 人工魚群神經網絡模型
4 仿真實驗





5 結束語