王粟, 邱春輝, 曾亮
(湖北工業(yè)大學(xué) 太陽能高效利用及儲(chǔ)能運(yùn)行控制湖北省重點(diǎn)實(shí)驗(yàn)室, 湖北 武漢 430068)
風(fēng)能的不可控制性使準(zhǔn)確預(yù)測(cè)其輸出功率的難度較大[1-3].采用反向傳播(BP)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型能夠較好地預(yù)測(cè)基于影響因素的輸出功率,但其預(yù)測(cè)精度低、運(yùn)行速度慢,需要進(jìn)行改進(jìn)[4-5].文獻(xiàn)[6]提出一種在傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)中加入更有利于處理非線性誤差和大噪聲的最大熵準(zhǔn)則(MCC)算法,與傳統(tǒng)的均值誤差執(zhí)行功能相比,MCC算法預(yù)測(cè)精度更高,但該模型的網(wǎng)絡(luò)結(jié)構(gòu)過于復(fù)雜.文獻(xiàn)[7]針對(duì)傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)風(fēng)電預(yù)測(cè)模型較為復(fù)雜且預(yù)測(cè)精度低等問題,通過平均影響值計(jì)算出某個(gè)影響因素與輸出功率的關(guān)系值,選出與輸出功率關(guān)系較大的變量,建立預(yù)測(cè)模型,但該模型易陷入局部極值.文獻(xiàn)[8]采用改進(jìn)的人工魚群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,克服了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差較高、易陷入局部極值等缺點(diǎn),在短期風(fēng)電輸出功率預(yù)測(cè)方面具有良好的效果,但其收斂速度較慢.本文采用組合預(yù)測(cè)的方法,提出一種基于互信息的自適應(yīng)變異粒子群優(yōu)化BP的短期風(fēng)電功率預(yù)測(cè)模型(互信息-改進(jìn)粒子群算法-反向傳播(MI-IPSO-BP)預(yù)測(cè)模型).
風(fēng)電場(chǎng)輸出功率,即風(fēng)力機(jī)的輸出功率P為
P=CPSρv3/2.
(1)
式(1)中:CP為功率系數(shù);S為風(fēng)力機(jī)掃過的面積,m2;ρ為空氣密度,kg·m-3;v為風(fēng)速,m·s-1.
某風(fēng)電場(chǎng)風(fēng)速與輸出功率的關(guān)系,如圖1所示.在風(fēng)電場(chǎng)的實(shí)際運(yùn)行過程中,只有當(dāng)風(fēng)速在某個(gè)限定區(qū)間時(shí),隨著風(fēng)速的增加,風(fēng)力機(jī)的輸出功率隨之增加,之后趨于穩(wěn)定;當(dāng)?shù)陀诨蚋哂谠擄L(fēng)速區(qū)間時(shí),風(fēng)力機(jī)的輸出功率為零[9].
不同空氣密度下輸出功率的變化,如圖2所示.由圖2可知:其他環(huán)境條件一致,當(dāng)3 m·s-1≤v≤12 m·s-1時(shí),輸出功率隨著空氣密度的增大而增大;當(dāng)v>12 m·s-1時(shí),輸出功率保持不變[10].
圖1 風(fēng)電場(chǎng)風(fēng)速與輸出功率的關(guān)系 圖2 不同空氣密度下輸出功率的變化 Fig.1 Relationship between wind speed and Fig.2 Changes in output power at output power of wind farms different air densities
風(fēng)力機(jī)的輸出功率受到風(fēng)速和空氣密度的影響,但無法直接判斷出其他因素與輸出功率的關(guān)系.若將所有影響因素作為模型的輸入,則會(huì)增大計(jì)算的復(fù)雜度;若人為選取某些因素作為模型的輸入,則難以保證預(yù)測(cè)精度.因此,需要采用一些方法對(duì)原始數(shù)據(jù)中的影響因素進(jìn)行篩選.
互信息(MI)表示兩個(gè)或多個(gè)變量間的相關(guān)性[11].假設(shè)有兩個(gè)變量X,Y,二者間的相關(guān)度表示為
(2)
式(2)中:N為變量X的觀測(cè)樣本數(shù);j為觀測(cè)樣本的編號(hào);FX,Y(x,y)為X,Y的聯(lián)合概率密度函數(shù),F(xiàn)X,Y(x,y)=FX(x)FY(y),F(xiàn)X(x),F(xiàn)Y(y)分別為X,Y的邊緣概率密度函數(shù),x為樣本中任一影響因素序列,y為輸出功率序列;當(dāng)X與Y互不相關(guān)時(shí),MI值將趨近于0,當(dāng)X與Y的相關(guān)程度越大時(shí),MI值將趨近于1[12-13].
計(jì)算各影響因素與輸出功率間的MI值.首先,求出聯(lián)合概率密度函數(shù)和邊緣概率密度函數(shù).由于影響輸出功率的因素都是離散性變量,故需要對(duì)變量進(jìn)行離散化處理.將風(fēng)速、風(fēng)向正弦值、風(fēng)向余弦值、槳距角等因素序列從小到大進(jìn)行排列,把各因素等分為[xmin,xmax]這樣的區(qū)間,在選取的影響因素樣本數(shù)據(jù)中,統(tǒng)計(jì)出落入各區(qū)間的概率,即為邊緣概率密度.同理,將輸出功率序列等分為區(qū)間[ymin,ymax],統(tǒng)計(jì)同時(shí)落入?yún)^(qū)間[xmin,xmax]和[ymin,ymax]的概率,即為聯(lián)合概率密度.
通過式(2)計(jì)算出影響因素與輸出功率之間的MI值,篩選出與輸出功率相關(guān)度較大的8種影響因素,即風(fēng)速、風(fēng)向正弦值、風(fēng)向余弦值、槳距角、相對(duì)濕度、溫度、海拔高度、空氣密度,其相應(yīng)的MI值分別為0.964 5,0.854 3,0.826 8,0.802 3,0.432 6,0.571 5,0.671 9,0.483 6.
BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋網(wǎng)絡(luò)模型,是人工神經(jīng)網(wǎng)絡(luò)的算法之一[14-15].BP神經(jīng)網(wǎng)絡(luò)首先將輸入量由各層之間的連接關(guān)系傳遞到隱含層,再傳遞到輸出層,得到輸出層輸出;然后,將輸出層輸出與期望輸出進(jìn)行比較,得出誤差;最后,通過誤差的反向傳播,對(duì)各層之間的權(quán)重和閾值進(jìn)行反復(fù)修正,以完成學(xué)習(xí)的過程.
粒子群優(yōu)化(PSO)算法是一種模仿鳥類運(yùn)動(dòng)規(guī)律的優(yōu)化算法.在優(yōu)化過程中,粒子在空間中不斷更新位置和速度,搜索最優(yōu)位置,然后,與其他粒子搜索的最優(yōu)位置進(jìn)行比較,找到全局最優(yōu)位置[16].梯度下降法是求解無約束優(yōu)化問題的迭代算法,其利用負(fù)梯度方向決定每次迭代的新的搜索方向,使每次迭代都能朝著函數(shù)最小的方向前進(jìn).在解決實(shí)際問題時(shí),如果函數(shù)不是凸函數(shù),則很可能陷入局部極值.粒子群優(yōu)化算法可用于解決大量非線性、不可微和多峰值的復(fù)雜函數(shù)優(yōu)化問題,可以有效地克服傳統(tǒng)優(yōu)化算法收斂速度慢、易陷入局部極值等缺點(diǎn).由于智能優(yōu)化算法的迅猛發(fā)展,且其優(yōu)越性已在其他應(yīng)用中得到驗(yàn)證,故不采用梯度下降算法,而采用粒子群優(yōu)化算法.
(3)
(4)
粒子不斷更新位置和速度,直到粒子在搜索空間中找到全局最優(yōu)位置,或者算法達(dá)到最大迭代次數(shù)時(shí),算法才結(jié)束搜索.
在風(fēng)電輸出功率預(yù)測(cè)問題中,粒子群優(yōu)化算法結(jié)構(gòu)簡單、易于實(shí)現(xiàn),但在優(yōu)化過程中,一旦粒子找到1個(gè)最優(yōu)位置,其他粒子則會(huì)趨于該最優(yōu)位置,很難跳出該局部極值.針對(duì)這些問題,通過自適應(yīng)慣性權(quán)重系數(shù)和變異擾動(dòng)的方法對(duì)傳統(tǒng)粒子群進(jìn)行改進(jìn),提高粒子的全局搜索能力.
實(shí)際問題大多數(shù)是復(fù)雜、非線性的,選擇合適的慣性權(quán)重系數(shù)可以均衡粒子的全局搜索和局部搜索能力,使粒子擺脫早熟.傳統(tǒng)的慣性權(quán)重系數(shù)對(duì)非線性問題的處理能力有限,故引入自適應(yīng)慣性權(quán)重系數(shù)ω,以避免粒子陷入局部最優(yōu),即
(5)
式(5)中:α分布于[15,30];ωmax,ωmin分別為自適應(yīng)慣性權(quán)重系數(shù)值的上、下限;Mmax為最大迭代次數(shù).
為避免粒子早熟收斂,并提高種群的多樣性,引入變異思想對(duì)粒子進(jìn)行擾動(dòng).當(dāng)粒子一直陷入局部最優(yōu),停止向新的方向搜索時(shí),引入變異擾動(dòng),迫使粒子進(jìn)入其他區(qū)域繼續(xù)搜索.假設(shè)1個(gè)變異概率為qo,若r (6) 粒子群算法的實(shí)現(xiàn)有以下5個(gè)步驟. 步驟1隨機(jī)初始化粒子的位置和速度. 步驟2將均方誤差函數(shù)作為其適應(yīng)度函數(shù),計(jì)算出各粒子的適應(yīng)度值fi. 步驟3將各粒子的適應(yīng)度值fi與該粒子目前搜索到最優(yōu)位置時(shí)的適應(yīng)度值f(pbest)進(jìn)行比較,若fi>f(pbest),則更新pbest;否則,保持不變.將fi與全部粒子搜索到最優(yōu)位置時(shí)的適應(yīng)度值f(gbest)進(jìn)行比較,若fi>f(gbest),則更新gbest;否則,保持不變. 步驟4對(duì)粒子的自適應(yīng)慣性權(quán)重系數(shù)、位置和速度進(jìn)行更新,若r 步驟5判斷是否已滿足約束條件,若滿足,則算法結(jié)束,輸出最優(yōu)解;否則,返回步驟2,繼續(xù)迭代. MI-IPSO-BP預(yù)測(cè)模型的建立有以下8個(gè)步驟. 步驟1數(shù)據(jù)的預(yù)處理.對(duì)選取的樣本數(shù)據(jù)進(jìn)行補(bǔ)全和修正,對(duì)樣本數(shù)據(jù)進(jìn)行歸一化處理. 步驟2模型參數(shù)的設(shè)置.對(duì)粒子群優(yōu)化算法中的參數(shù)進(jìn)行設(shè)置,并初始化粒子的位置和速度,確定粒子各維度上的數(shù)值與神經(jīng)網(wǎng)絡(luò)中輸入層、隱含層、輸出層之間的權(quán)重相對(duì)應(yīng). 步驟3建立BP神經(jīng)網(wǎng)絡(luò),采用單隱層結(jié)構(gòu),輸入層神經(jīng)元8個(gè),輸出層神經(jīng)元1個(gè),隱含層神經(jīng)元的個(gè)數(shù)h可通過試湊法或經(jīng)驗(yàn)公式確定,即 (7) 式(7)中:a,b分別為輸入層、輸出層的個(gè)數(shù);c為常數(shù),分布于[1,10]. 步驟4采用均方誤差函數(shù),計(jì)算出各粒子的適應(yīng)度值fi. 步驟5將粒子的適應(yīng)度值fi與該粒子目前搜索到最優(yōu)位置時(shí)的適應(yīng)度值f(pbest)進(jìn)行比較,若fi>f(pbest),則更新pbest;否則,保持不變.同時(shí),將各粒子的適應(yīng)度值fi與全部粒子搜索到最優(yōu)位置時(shí)的適應(yīng)度值f(gbest)進(jìn)行比較,若fi>f(gbest),則更新gbest;否則,保持不變. 步驟6對(duì)粒子的位置、速度和慣性權(quán)重系數(shù)進(jìn)行更新,并假設(shè)變異概率qo=0.95,若r 步驟7判斷誤差是否達(dá)到誤差標(biāo)準(zhǔn),以及迭代次數(shù)是否達(dá)到最大,若達(dá)到最大,則停止迭代,得出最優(yōu)解;否則,返回步驟4,繼續(xù)迭代. 步驟8將粒子群優(yōu)化算法得到的最優(yōu)參數(shù)設(shè)置為BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,并對(duì)預(yù)測(cè)模型進(jìn)行訓(xùn)練.根據(jù)實(shí)際輸出功率和預(yù)測(cè)輸出功率,不斷調(diào)整權(quán)值和閾值,直到滿足結(jié)束條件,算法結(jié)束. 在選取的樣本數(shù)據(jù)中,由于監(jiān)控系統(tǒng)出錯(cuò)或人為原因,往往存在明顯的數(shù)據(jù)錯(cuò)誤或數(shù)據(jù)缺失等問題,如果未能很好地處理這些問題,預(yù)測(cè)結(jié)果會(huì)有更大的誤差.通常選取該缺失數(shù)據(jù)或錯(cuò)誤數(shù)據(jù)的前一個(gè)和后一個(gè)數(shù)據(jù)的平均值作為替代數(shù)據(jù). 此外,在這些數(shù)據(jù)中,有些影響因素的數(shù)據(jù)不在同一個(gè)量級(jí)上,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,即 (8) 由于風(fēng)電輸出功率受風(fēng)速、風(fēng)向、溫度等隨機(jī)性天氣因素的影響較大,因此,為了驗(yàn)證文中模型的預(yù)測(cè)性能,選取平均絕對(duì)誤差(EMA)、均方根誤差(ERMS)和平均絕對(duì)百分比誤差(EMAP)作為評(píng)價(jià)指標(biāo)[18],其計(jì)算式分別為 (9) (10) (11) 式(9)~(11)中:n為預(yù)測(cè)樣本數(shù);Pc為預(yù)測(cè)輸出功率;Pr為實(shí)際輸出功率;j為預(yù)測(cè)輸出功率的個(gè)數(shù). 選取該風(fēng)電場(chǎng)2014年4月1日-30日的氣象數(shù)據(jù)和歷史輸出功率數(shù)據(jù)(4 320個(gè))作為預(yù)測(cè)模型的輸入樣本數(shù)據(jù),其中,前3 800個(gè)數(shù)據(jù)作為訓(xùn)練樣本,其余數(shù)據(jù)作為測(cè)試樣本.將風(fēng)速、風(fēng)向正弦值、風(fēng)向余弦值、槳距角、相對(duì)濕度、溫度、海拔高度、空氣密度這8種影響因素作為預(yù)測(cè)模型的輸入.根據(jù)經(jīng)驗(yàn)公式,將隱含層神經(jīng)元數(shù)設(shè)置為輸入層神經(jīng)元數(shù)的2倍加1;最大迭代次數(shù)設(shè)置為100;種群規(guī)模為25;ωmax,ωmin分別為0.9,0.2;c1,c2均為2. 通過MATLAB軟件對(duì)MI-IPSO-BP預(yù)測(cè)模型進(jìn)行仿真,為了對(duì)比研究,同時(shí)采用遺傳算法-反向傳播(GA-BP)預(yù)測(cè)模型和粒子群優(yōu)化算法-反向傳播(PSO-BP)預(yù)測(cè)模型對(duì)輸出功率進(jìn)行預(yù)測(cè).GA-BP預(yù)測(cè)模型采用遺傳算法對(duì)個(gè)體進(jìn)行篩選,尋找最優(yōu)個(gè)體作為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,對(duì)短期輸出功率進(jìn)行預(yù)測(cè).PSO-BP預(yù)測(cè)模型采用傳統(tǒng)的粒子群優(yōu)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化. 預(yù)測(cè)模型輸出功率的對(duì)比,如圖3所示.預(yù)測(cè)模型平均絕對(duì)誤差的對(duì)比,如圖4所示. 圖3 預(yù)測(cè)模型輸出功率的對(duì)比Fig.3 Comparison of output power of prediction models 圖4 預(yù)測(cè)模型平均絕對(duì)誤差的對(duì)比Fig.4 Comparison of mean absolute error of prediction models 由式(9)~(11)及圖3,4可以得到以下2個(gè)結(jié)論. 1) 3種預(yù)測(cè)模型都可以對(duì)風(fēng)電短期輸出功率進(jìn)行有效的預(yù)測(cè),但MI-IPSO-BP預(yù)測(cè)模型的預(yù)測(cè)曲線能夠更好地逼近實(shí)際的輸出功率.與PSO-BP預(yù)測(cè)模型相比,MI-IPSO-BP預(yù)測(cè)模型具有更高的預(yù)測(cè)精度,說明改進(jìn)后的粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)具有更好的預(yù)測(cè)能力;與GA-BP預(yù)測(cè)模型相比,MI-IPSO-BP預(yù)測(cè)模型的優(yōu)化效果更好. 2) MI-IPSO-BP預(yù)測(cè)模型的EMA,ERMS分別為20.869 4,35.622 4 kW,EMAP為8.96%.相較于GA-BP預(yù)測(cè)模型,MI-IPSO-BP預(yù)測(cè)模型的EMA,ERMS分別減少了27.651 9,24.703 7 kW,而EMAP減少了6.78%;相較于PSO-BP預(yù)測(cè)模型,MI-IPSO-BP預(yù)測(cè)模型的EMA,ERMS分別減少了84.853 7,103.323 9 kW,而EMAP減少了18.50%.由此可知,MI-IPSO-BP預(yù)測(cè)模型的預(yù)測(cè)精度最高,效果最佳. 采用互信息對(duì)原始數(shù)據(jù)進(jìn)行降維,可以保留有用的特征信息,舍棄冗余的特征信息,降低算法的復(fù)雜性.加入自適應(yīng)慣性權(quán)重系數(shù)和變異因子改進(jìn)粒子群算法,不僅優(yōu)化BP神經(jīng)網(wǎng)絡(luò),解決傳統(tǒng)粒子群算法存在的問題,還可以提高粒子的全局搜索能力.結(jié)果表明,MI-IPSO-BP預(yù)測(cè)模型比GA-BP預(yù)測(cè)模型、PSO-BP預(yù)測(cè)模型具有更高的預(yù)測(cè)精度,預(yù)測(cè)結(jié)果更接近實(shí)際值.2.4 粒子群算法的實(shí)現(xiàn)步驟
2.5 MI-IPSO-BP預(yù)測(cè)模型的建立
3 算例與分析
3.1 數(shù)據(jù)預(yù)處理
3.2 預(yù)測(cè)模型的評(píng)價(jià)指標(biāo)
3.3 預(yù)測(cè)結(jié)果及分析
4 結(jié)束語