馬留洋,葛佳菲
(廣東工業(yè)大學自動化學院,廣東 廣州 510006)
新能源發(fā)電技術
基于小波包和改進縱橫交叉法的風電預測模型
馬留洋,葛佳菲
(廣東工業(yè)大學自動化學院,廣東 廣州 510006)
針對風電出力的隨機性、季節(jié)性和波動性及一般方法預測精度不高的問題,采用改進縱橫交叉(improved crisscross optimization,ICSO)算法,建立了一種基于小波包變換與改進縱橫交叉算法優(yōu)化Elman神經網絡的風電預測模型。仿真結果表明:改進的縱橫交叉算法不但克服了一般算法早熟收斂的缺陷,有效提高神經網絡的泛化能力和預測精度,而且表現出良好的穩(wěn)定性,適用于風電的預測。
小波包變換;Elman神經網絡;改進縱橫交叉算法;風電預測
風能作為一種清潔的可再生能源,在近幾年來受到越來越多的關注[1]。風電并網能帶來巨大的經濟效益,因此我國每年的風電裝機數量也成倍地增長,但由于風電出力受溫度、地形、海拔、季節(jié)、緯度、氣壓等多因素影響,會表現出明顯的波動性和間歇性[2]。這會嚴重影響到電能質量和供電可靠性,同時也對風電大規(guī)模并網形成一定制約[3],因此,建立準確可靠的風電預測模型,是解決上述問題的一個有效途徑之一,對實現大規(guī)模風電的逐步并網也有著重要意義。
近些年來已經有大量關于風電預測模型的研究工作,目前主要采用的預測方法有神經網絡[4]、支持向量機[5]、模糊集理論[6]等。其中,Elman神經網絡因為其強大的信息處理能力和學習能力在預測領域得到廣泛應用,但是,神經網絡在訓練時存在收斂速度慢、容易陷入局部最優(yōu)的缺點[7]。針對神經網絡固有的缺陷,文獻[8]提出了小波變換和反向傳播(back propagation,BP)神經網絡的短期風速預報方案,對時間序列進行小波變換,再通過BP神經網絡進行訓練和預測。文獻[9]提出了基于動態(tài)神經網絡的風電場輸出功率預測,以適應風功率的時間序列為樣本,建立局部反饋延時和全部反饋延時2兩種神經網絡。文獻[10]提出小波變換和改進克隆算法的風電預測神經網絡。另外還有遺傳算法、蟻群算法、粒子群算法等參數優(yōu)化算法,其目的是改善神經元間的連接系數,進而提高神經網絡的優(yōu)化性能。盡管遺傳算法、粒子群算法等優(yōu)化方法可以改善神經網絡的學習能力,一定程度上提高神經網絡的預測精度,但是它們通常都面臨過早收斂的問題,影響預測精度。
基于以上分析,本文旨在利用改進縱橫交叉算法(improved crisscross optimization,ICSO)優(yōu)化神經網絡提高其性能,建立基于小波包變換與改進縱橫交叉法優(yōu)化Elman神經網絡的風電預測模型,提高風電的預測精度。
2.1 小波包變換
小波分解是一種把原始信號分解成多個子序列的數學方法,而且每次只對低頻部分Ai(i=1,2,…)進行再分解。小波分解沒有對高頻分量Di(i=1,2,…)進一步的剖分,這種固定的分解方式對不同的分解目的而言不一定能達到最佳效果[11]。小波包分解(Wavelet Packet Decomposition, WPD)則解決上述問題。在同一級尺度上小波包分解能同時對低頻和高頻部分進行分解,形成一個完整二叉樹結構,分解得到2j個子序列,j為分解層數,也就是尺度數[12]。圖1所示為一個3層小波包分解結構示意圖,S為原始序列,經過3層小波包分解得到8個子序列。
圖1 三層小波包分解結構
2.2 改進縱橫交叉算法
2.2.1 原始縱橫交叉算法
縱橫交叉算法(Crisscross Optimization,CSO)是受儒家思想和遺傳學思想啟發(fā)提出的智能搜索算法[13]。它主要由橫向交叉和縱向交叉兩個交叉算法組成。其中橫向交叉進行全局搜索,縱向交叉進行小概率突變篩選。每次迭代2種算子交替進行,交叉后產生的中庸解通過貪婪選擇機制與父代進行競爭,產生占優(yōu)解作為下一次交叉的父代??v橫交叉算法的進程可以總結為:
(1)在可行域產生初始種群;
(2)執(zhí)行橫向交叉操作;
(3)執(zhí)行縱向交叉操作;
(4)重復步驟2和3直到達到結束條件。
橫向交叉是種群中不同粒子相同維之間的算術交叉,交叉前需要先對粒子進行兩兩隨機配對,假設父代粒子 X(i)和 X(j)的第 d維 X(i,d)和X(j,d)進行橫向交叉,則它們的中庸解可表示為
式中:c1、c2—[-1,1]之間的隨機數;
r1、r2—[0,1]之間的隨機數;
D—變量的維數;
M—粒子的個數;
X(i,d)、X(j,d)—粒子X(i)和X(j)的第d維;
MShc(i,d)和 MShc(j,d)—X(i,d)和 X(j,d)通過橫向交叉產生的第d維中庸解。
從式(1)和式(2)可以看出,MShc(i,d)和MShc(j,d)是父代個體X(i,d)、X(j,d)在高維超立方體空間的新解。配對的粒子在以他們自己為頂點的超立方體內及其外源產生后代。一個2維粒子中庸解的概率密度分布如圖2所示。從圖2可以看出,橫向交叉以較大概率在超立方體內產生子代的同時,也會以小概率跳出父代包含空間范圍,在立方體外緣進行搜索。
圖2 二維粒子中庸解的概率密度分布
不同于實值交叉的遺傳算法,在超立方體中會存在無法觸及的解縫隙,縱橫交叉算法通過引入一個膨脹系數來決定搜索范圍,從而擴大搜索戰(zhàn)略。實驗研究表明,膨脹系數為[-1,1]能有效地減少搜索盲區(qū),這樣的搜索機制能顯著地增強CSO的全局搜索能力。
通過橫向交叉產生的中庸解,將會與父代進行比較,只有比父代適應度好的粒子才能存活下來,否則將被淘汰。存活下來的解將被保存在占優(yōu)解中作為下一次交叉的父代。
縱向交叉對防止收斂停滯不前和保持種群多樣性起了關鍵作用。對大多數算法而言,他們陷入局部最優(yōu)的主要原因是,部分維在種群更新中停止進化,我們將這種現象稱之為陷入維局部最優(yōu)。與橫向交叉不同,縱向交叉是對相同粒子不同維的交叉。由于不同維之間的單位和取值一般不同,因此交叉前需要對各維粒子進行歸一化處理。假設以粒子X(i)的第d1維和第d2維進行縱向交叉,交叉公式如下:
式中:r—0到1之間的隨機數;
MSvc(i,d1)—父代粒子X(i)的第d1維通過縱向交叉產生的中庸解。
如式(3)所示,兩個交叉的維只產生了1個子代,這是為了使停滯的維度跳出局部最優(yōu)而又不破壞有可能正常的維。另外,縱向交叉概率參數PV用于控制執(zhí)行縱向交叉的維數,實驗標明當PV值設置在[0.2,0.8]之間時,CSO會取得很好的結果[13]。
與橫向交叉相似,通過縱向交叉產生的中庸解將會與父代進行競爭,競爭勝利的解將保存在占優(yōu)解中,占優(yōu)解將會進行下一次交叉迭代。橫向交叉和縱向交叉有機地結合即保證了算法的全局搜索能力,又能使陷入局部最優(yōu)的維跳出困境,增強算法的收斂能力。
2.2.2 改進縱橫交叉法
改進縱橫交叉算法是在縱橫交叉算子的基礎上引入粒子群算法(Particle Swarm Optimization, PSO)的全局擇優(yōu)機制,對算法進行改善。粒子群算法是一種基于對鳥群覓食行為研究而提出的隨機搜索算法,其算法由粒子位移更新和粒子速度更新2部分組成,易于實現和操作。粒子的更新以種群的全局最優(yōu)值和個體歷史最優(yōu)值作引導,這種尋優(yōu)機制使得算法的前期收斂速度較快,局部搜索能力較強[14]。但是相對應地,在算法進化后期容易陷入局部最優(yōu),全局收斂能力不足。相反,CSO算法的全局收斂能力強,但由于沒有種群最優(yōu)值的引導,前期收斂速度不如PSO。受此啟發(fā),在CSO中引入粒子群搜索尋優(yōu)機制,其方程如下:
式中:k—迭代次數;
c1,c2—學習因子,非負常數;
r1和r2—區(qū)間[0,1]內的隨機數;
vi—粒子i的飛行速度;
x—粒子的位置;
pgd和 pid—全局極值的第d維和粒子i個體極值的第d維。
改進縱橫交叉法在CSO基礎上加入了PSO的種群搜索方式,通過PSO和CSO交替對解空間進行探索與開發(fā)。橫向交叉保證算法的全局搜索能力,式(4)和式(5)的更新方式加快算法的收斂速度,縱向交叉提供變異機制使得算法跳出局部最優(yōu),保持種群多樣性,3種算子的完美結合提高了算法的全局尋優(yōu)和變異搜索的能力。
2.3 WPD-ICSO-ENN風電預測模型
2.3.1 Elman神經網絡
Elman神經網絡(Elman neural network,ENN)在傳統(tǒng)前饋神經網絡的基礎之上加入了內部的反饋連接。Elman神經網絡的結構如圖3所示,其中,U(k)和Y(k)分別代表輸入和輸出,W1,W2,W3代表權值。Elman由輸入層、隱含層、輸出層以及承接層構成。其中,輸入層單元的作用是傳遞信號,輸出層單元的作用是線性加權。隱含層單元采用線性或非線性的傳遞函數,承接層是用來將隱含層單元的輸出值作為下一刻的輸入。Elman神經網絡比BP神經網絡具有更強的動態(tài)行為以及計算能力,適用于建立時間序列的預測模型[15]。
圖3 Elman神經網絡結構
2.3.2 改進縱橫交叉法優(yōu)化Elman神經網絡
Elman神經網絡在預測過程中,采用梯度下降法調整權值和閾值,容易陷入局部最優(yōu),而且當影響因素和學習樣本增多時,權值數和計算量將急劇增加,導致收斂速度慢。
而ICSO結合了PSO的粒子全局尋優(yōu)能力,橫向交叉的邊緣搜索特性以及縱向交叉的變異更新能力,為克服神經網絡固有缺點提供了可能。本文應用ICSO優(yōu)化Elman神經網絡的的權值和閾值,代替基本Elman神經網絡誤差反向傳播訓練,提高神經網絡的學習速度和能力。
ICSO訓練Elman神經網絡的流程如下:
(1)建立Elman神經網絡,設置基本參數。
(2)初始化種群,設置粒子群和縱橫交叉的基本參數,包括:種群規(guī)模,最大迭代次數,慣性權重,學習因子,縱向交叉概率等。
(3)對群體中每個個體進行適應度評價,用如下均方誤差公式(適應度函數)衡量每個粒子的適應值
式中:pt、?t—神經網絡的實際輸出和目標輸出;
N—訓練樣本數;
M—輸出的維數。
(4)PSO搜索:通過式(4)和式(5)對于種群內每個粒子更新速度和位置,將粒子新位置的適應度與父代進行比較,適應度更好的保存在個體粒子最優(yōu)值中。
(5)橫向交叉:將種群內粒子兩兩配對成,每對粒子通過式(1)和式(2)進行橫向交叉,產生一對中庸解MShc。然后計算MShc每個中庸解的適應度值,與PSO更新后的個體歷史最優(yōu)值進行比較,適應度更好的保留在個體粒子最優(yōu)值中。
(6)縱向交叉:對種群所有粒子進行歸一化處理,再對同一粒子的所有維進行隨機配對,在交叉概率為PV下選取一定數量的維,通過式子(3)進行交叉產生子代,反歸一化后與橫向交叉更新后的個體歷史最優(yōu)值進行比較,擇優(yōu)保留在個體歷史最優(yōu)值中。
(7)迭代次數加1,是否達到結束條件(迭代次數和最小誤差要求),如果達到,停止迭代,輸出適應度最好的一組解作為神經網絡的權值和閾值,否則轉移到4)進行新一輪迭代。
(8)預測模型評價采用Mape誤差函數
式中:Mape—預測值和實際值的平均絕對百分比誤差。
2.3.3 WPD-ICSO-ENN預測模型
小波包-改進縱橫交叉法優(yōu)化Elman神經網絡(WPD-ICSO-ENN)預測模型如圖4所示。具體步驟如下:
(1)將風電原始時間序列進行3層小波包分解,得到8個不同頻率的子序列;
(2)對上述子序列分別建立ICSO-ENN預測模型,并分別進行預測;
(3)將各個子序列的預測值疊加,得到風電預測值。
圖4 WPD-ICSO-ENN風電預測模型
3.1 預測模型參數選擇
3.1.1 風電時間序列的小波包分解
以比利時某風電運營商的實際運行數據(2012年至今)進行仿真,每15 min記錄一次功率值,為了方便數據處理,將數據的分辨率轉為1 h,以每小時平均功率為該時刻功率。圖5為2012年12月27日至2013年1月4日的216個原始風電功率采樣點。由圖5可以看出風電功率有較強的非線性,在前50 h和后100 h表現出較大的波動性。
圖5 原始風電時間序列
小波包分解的層數會直接影響風電的預測效果。若分解不徹底,則預測精度低,若分解過渡,則會破壞原本數據的規(guī)律性和內部有序性,增大邊界效應,導致數據失真[16]。
通過實驗來探索分解層數與預測精度間的變化規(guī)律,圖6為分解層數與預測誤差變化圖。由圖6可見,剛開始隨著層數增大,預測誤差逐漸減小。當層數到了第3層時出現最小值,繼續(xù)增加分解層數誤差反而不斷增大,因此選擇分解層數為3。
圖6 預測誤差與分解層數變化
3.1.2 神經網絡隱含層節(jié)點數選擇
神經網絡的拓撲結構對網絡訓練有很大影響,節(jié)點數太少會導致網絡學習能力不足,節(jié)點數過多會增加網絡復雜性從而導致訓練過程中容易陷入局部最優(yōu),而神經網絡隱含層節(jié)點數的選取比較復雜,目前沒有公認的標準解析式。一般隱含層節(jié)點數跟輸入層和輸出層節(jié)點數有關系,可采用以下經驗公式:
式中:M,N—輸入層和輸出層節(jié)點數;
H—隱含層節(jié)點數;
t—常數,(1<t<10)。
通過改變t的值來確定H的大致取值范圍[16]。圖7為節(jié)點數取值[3,13]時的變化圖。由圖7可見,當隱含層層數為8時,預測誤差最小,隨著隱含層節(jié)點數的增加或減少,預測誤差都有所上升。因此選取8為隱含層節(jié)點數。
圖7 預測誤差與隱含層神經元個數變化
3.2 仿真對比
分別使用Elman神經網絡、小波包-Elman神經網絡(WPD-ENN)、小波包-量子粒子群(quantum particle swarm optimization,QPSO)[17]-Elman神經網絡(WPD-QPSO-ENN)以及小波包-改進縱橫交叉法-Elman神經網絡(WPD-ICSO-ENN)進行仿真對比。本文對采樣點的前120 h進行建模,對121-216 h進行提前24 h的預測。
為了使實驗保持公平,不同模型的神經網絡參數保持相同。隱含層為8層,訓練代數為60代,目標誤差為0.001。ICSO算法中,種群大小設為M=30,最大迭代次數設為Maxgen=200,縱向交叉概率PV設為0.6。QPSO中搜索擴張系數從1.0線性下降到0.5。
采用上述4種方法對風電功率進行連續(xù)4天預測,預測結果如表1和圖8所示。對表1進行分析可以得知,與未經處理的Elman神經網絡相比,小波包處理過的神經網絡,預測精度有顯著的提升,這是由于風電時間序列經過小波包變換后,降低了不同頻率信息間的干涉和耦合,得到一系列變換平穩(wěn)的子序列,能更好地反應風電序列內在的變化規(guī)律。
表1 算法的性能比較
圖8 不同算法預測結果
與傳統(tǒng)神經網絡相比,優(yōu)化后的神經網絡預測精度有不同程度的提升,其中誤差最小的是WPD-ICSO-ENN。由圖8可以看出,Elman和WPD-ENN在第20 h、50 h以及70 h的預測點有較大程度的波動,這是由于神經網絡采用梯度下降法調整權值和閾值,容易陷入局部最優(yōu),且泛化能力不足。傳統(tǒng)神經網絡很難實時反映波動性更大的預測對象。神經網絡經過QPSO優(yōu)化后能一定程度提高收斂能力,但是仍然存在泛化能力不足的缺點,而ICSO結合PSO以粒子全局最優(yōu)值和個體歷史最優(yōu)值作引導的尋優(yōu)機制和CSO邊緣搜索和變異尋優(yōu)的特點,較好地掌握高頻分量的變化趨勢,可有效地提高神經網絡的泛化能力和預測精度。
為了進一步驗證WPD-ICSO-ENN的穩(wěn)定性,分別選取2013年每季(3月、6月、9月、12月)中的連續(xù)3天進行預測。仿真結果如表2和圖9所示。從圖9可以看出各個季節(jié)風電預測值都能跟蹤實際值的變化,證明WPD-ICSO-ENN預測模型具有很強的穩(wěn)定性。
圖9 不同季節(jié)預測結果
表2 不同季節(jié)誤差分析
從表2可以看出WPD-ICSO-ENN在四季中都表現良好,最小誤差是1.523%,最大誤差是7.127%,12天的平均誤差為4.467%。由圖9可知冬季總體波動性較小,預測精確度極高,預測結果更接近實際功率曲線,在夏季出現較大波動,多處出現峰位,但ICSO仍表現優(yōu)秀,穩(wěn)定性良好。由此可見ICSO結合QPSO和CSO的優(yōu)點,增強了神經網絡的收斂和泛化能力,表現出更穩(wěn)定的訓練性能。上述實驗充分說明WPD-ICSO-ENN模型在風電預測中的精確性和穩(wěn)定性。
(1)由表1的預測結果對比可以看出,WPDICSO-ENN預測模型的平均絕對值百分比誤差4天的平均值相比于Elman、WPD-ENN和WPDQPSO-ENN預測模型分別提高了8.043%、3.656%和1.793%。ICSO有效地克服了QPSO過早收斂的問題,提高了神經網絡的泛化能力和預測精度。
(2)從表2和圖9可以得到,WPD-ICSO-ENN預測模型在四季中都表現良好。四季中所選12天的風電預測誤差最大值僅為7.127%。在夏季風電波動較大時,WPD-ICSO-ENN預測模型仍能夠很好地跟蹤風電的變化規(guī)律,表現出很強的魯棒性,穩(wěn)定性良好。
(1)本文采用的WPD-ICSO-ENN風電預測模型提高了風電功率預測整體的精度和穩(wěn)定性,有效地提高了神經網絡的泛化能力和預測精度。
(2)基于改進縱橫交叉算法的預測模型結合PSO的粒子全局尋優(yōu)能力,橫向交叉的邊緣搜索特性以及縱向交叉的變異更新能力,克服了一般算法早熟收斂問題,有效提高神經網絡的訓練精度和泛化能力,而且表現出良好的穩(wěn)定性,適用于風電的預測,可以較好地推廣應用。
[1] 吳小珊,張步涵,袁小明,等.求解含風電場的電力系統(tǒng)機組組合問題的改進量子離散粒子群優(yōu)化方法[J].中國電機工程學報.2013,33(4):45-52.
[2] 張振華,馬超,徐瑾輝,等.EMD與NARX神經網絡的風電場總功率組合預測[J].計算機工程與應用, 2016,52(12):265-270.
[3] 秦劍,王建平,張崇巍.基于相空間重構小波神經網絡的短期風速預測[J].電子測量與儀器學報.2012,26 (3):236-241.
[4] 趙元喜,胥永剛,高立新,等.基于諧波小波包和BP神經網絡的滾動軸承聲發(fā)射故障模式識別技術[J].振動與沖擊.2010,29(10):162-165.
[5] 楊錫運,孫寶君,張新房,等.基于相似數據的支持向量機短期風速預測仿真研究[J].中國電機工程學報.2012,32(4):35-41.
[6] 尹東陽,盛義發(fā),蔣明潔,等.基于粗糙集理論-主成分分析的Elman神經網絡短期風速預測[J].電力系統(tǒng)保護與控制.2014(11):46-51.
[7] 張健美,周步祥,林楠,等.灰色Elman神經網絡的電網中長期負荷預測[J].電力系統(tǒng)及其自動化學報.2013,25(4):145-149.
[8] 常黎,楊清舟,黃開斌.一種基于小波變換和人工神經網絡的風速預報方法[J].太陽能學報.2013,34(04): 604-609.
[9] 劉瑞葉,黃磊.基于動態(tài)神經網絡的風電場輸出功率預測[J].電力系統(tǒng)自動化.2012,36(11):19-22,37.
[10]Chitsaz H,Amjady N,Zareipour H.Wind power forecast using wavelet neural network trained by improved Clon?al selection algorithm[J].Energy Conversion&Manage?ment,2015,89:588-598.
[11]張彥寧,康龍云,周世瓊,等.小波分析應用于風力發(fā)電預測控制系統(tǒng)中的風速預測[J].太陽能學報.2008 (5):520-524.
[12]陳盼,陳皓勇,葉榮,等.基于小波包和支持向量回歸的風速預測[J].電網技術.2011(5):177-182.
[13]Meng A B,Chen Y C,Yin H,et al.Crisscross optimiza?tion algorithm and its application[J].Knowledge-Based Systems,2014,67(4):218-229.
[14]劉建華.粒子群算法的基本理論及其改進研究[D].中南大學信息科學與工程學院,2009.
[15]劉寧,陳昱颋,虞慧群,等.基于Elman神經網絡的交通流量預測方法[J].華東理工大學學報(自然科學版), 2011,37(2):204-209.
[16]王東風,王富強,牛成林.小波分解層數及其組合分量對短期風速多步預測的影響分析[J].電力系統(tǒng)保護與控制.2014(8):82-89.
[17]馮華麗,劉淵,陳冬.QPSO算法優(yōu)化BP網絡的網絡流量預測[J].計算機工程與應用.2012,48(3):102-104.
Wind power forecasting model based on wavelet packet and improved crisscross optimization method
MA Liuyang,GE Jiafei
(School of Automation,Guangdong University of Technology,Guangzhou Guangdong 510006,China)
Aiming at the problems of the randomicity,seasonality and intermittency of the wind power and the prediction accuracy of general method is not high,using improved crisscross optimization(ICSO)algorithm,establishes a new wind power forecasting model based on hybrid wavelet packet and improved crisscross optimization(ICSO)algorithm to optimize Elman neural network.The simulation result shows that ICSO algorithm not only overcomes the problem of premature convergence in the general algorithm,effectively improves the generalization ability and prediction precision of the neural network,but also shows fine stability,the forecasting model is suitable for the wind power prediction.
wavelet packet transform;Elman neural network;improved crisscross optimization(ICSO) algorithm;wind power forecasting
TM 614
A
1672-3643(2017)03-0018-07
10.3969/j.issn.1672-3643.2017.03.004
2017-03-11
馬留洋(1992),男,碩士研究生,研究方向為電力系統(tǒng)經濟調度與預測技術。
有效訪問地址:http://dx.doi.org/10.3969/j.issn.1672-3643.2017.03.004