李燕斌, 萬(wàn)亞寧, 肖俊明, 朱永勝, 楊 璐, 李 超, 馬佳慧
(中原工學(xué)院 電子信息學(xué)院, 河南 鄭州 450007)
隨著全球能源消耗量的急劇增大,光伏發(fā)電作為新能源逐漸替代一些常規(guī)能源,已成為全球能源供給的主體、應(yīng)用前景最廣的清潔能源。連接電網(wǎng)的大量光伏系統(tǒng),自身存在的波動(dòng)性和間歇性問(wèn)題給電力部門的調(diào)度工作帶來(lái)了挑戰(zhàn),嚴(yán)重影響與其連接的電網(wǎng)穩(wěn)定性[1-2]。為減小光伏系統(tǒng)發(fā)電波動(dòng)對(duì)電力系統(tǒng)運(yùn)行造成的影響,有必要建立一套光伏發(fā)電量預(yù)測(cè)系統(tǒng)。為此,不少研究者針對(duì)光伏發(fā)電量的預(yù)測(cè)問(wèn)題做了大量工作。通常,可將發(fā)電量的預(yù)測(cè)方法歸為如下兩類:一類為線性預(yù)測(cè)方法,適用于平穩(wěn)的曲線預(yù)測(cè),但對(duì)本身有多變特性的光伏發(fā)電預(yù)測(cè)很不適用;另一類為非線性建?;A(chǔ)上的機(jī)器學(xué)習(xí)方法,如人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等,可較準(zhǔn)確地實(shí)現(xiàn)非線性擬合,但其缺點(diǎn)是極易陷入局部最優(yōu)[3-4]。文獻(xiàn)[5-6]把建好的預(yù)測(cè)模型與天氣類型等因素聯(lián)系在一起,對(duì)超短期的光伏發(fā)電量預(yù)測(cè)獲得了較好的效果。然而,氣象數(shù)據(jù)通常是大面積地區(qū)天氣情況的反映,對(duì)于局部區(qū)域的預(yù)測(cè)來(lái)說(shuō),若也用大區(qū)域的氣象數(shù)據(jù)就會(huì)帶來(lái)預(yù)測(cè)誤差。文獻(xiàn)[7]將馬爾可夫鏈模型和指數(shù)平滑法分別與灰色預(yù)測(cè)模型結(jié)合,得到統(tǒng)計(jì)預(yù)測(cè)模型,獲得了理想的預(yù)測(cè)精度。然而,這種組合方法的預(yù)測(cè)精度與輸出功率數(shù)據(jù)序列的狀態(tài)劃分密切相關(guān)。對(duì)于狀態(tài)劃分,目前并沒有統(tǒng)一的方法,還有待研究。文獻(xiàn)[8]通過(guò)建立GA-BP(Genetic Algorithm-Back Propagation)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,得到的預(yù)測(cè)結(jié)果誤差范圍較大。本文提出PSO-BP(Particle Swarm Optimization-Back Propagation)預(yù)測(cè)模型,利用粒子群算法(Particle Swarm Optimization, PSO)和前饋神經(jīng)網(wǎng)絡(luò)(Back Propagation,BP)兩者的優(yōu)點(diǎn)來(lái)避免局部極值問(wèn)題,試圖提高PSO-BP預(yù)測(cè)模型的收斂速度和泛化能力[9];通過(guò)仿真預(yù)測(cè)與誤差比較,驗(yàn)證所建立的短期預(yù)測(cè)模型的有效性。
光伏發(fā)電出力主要依賴于氣象、環(huán)境條件等外界不可控因素,日照強(qiáng)度、環(huán)境溫度、太陽(yáng)能面板性能等都將對(duì)光伏系統(tǒng)輸出功率產(chǎn)生影響[10]。在一定的硬件條件下,若日照強(qiáng)度與環(huán)境溫度恒定,則光伏系統(tǒng)的輸出功率可基本確定。光伏對(duì)地表輻射強(qiáng)度十分敏感。由文獻(xiàn)[11]可知,光伏電池輸出功率為:
Pout=R(t)Aη[1-0.005(T+25)]
(1)
式中:R(t)為光照強(qiáng)度,kW/m2;A為光伏組件的面積,m2;η為光伏電源的轉(zhuǎn)換效率;T為環(huán)境溫度,℃。
“BP神經(jīng)網(wǎng)絡(luò)”一般是指由BP算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)。它采用梯度下降法使網(wǎng)絡(luò)的誤差平方和最小。其主要特征表現(xiàn)在:信號(hào)為正向傳輸,誤差為反向傳輸。在信號(hào)傳輸期間,輸入信號(hào)從輸入層到隱藏層,再到輸出層。如果輸出結(jié)果未達(dá)預(yù)期,預(yù)測(cè)過(guò)程將進(jìn)入反向傳播并根據(jù)預(yù)測(cè)誤差調(diào)整網(wǎng)絡(luò)閾值和權(quán)重,以便BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)輸出接近所需的輸出[12]。
輸入層、隱藏層和輸出層為BP神經(jīng)網(wǎng)絡(luò)的基本組成結(jié)構(gòu)。為了既彌補(bǔ)天氣數(shù)據(jù)量的不足,又能提高預(yù)測(cè)準(zhǔn)確度,本文針對(duì)輸入層設(shè)計(jì)了6個(gè)輸入神經(jīng)元,包括光照強(qiáng)度R(t)、環(huán)境溫度T這兩個(gè)天氣參數(shù),以及預(yù)測(cè)點(diǎn)的4個(gè)歷史功率輸出值P1、P2、P3、P4。
隱藏層中神經(jīng)元數(shù)量與輸入層、輸出層及預(yù)測(cè)精度要求密切相關(guān)。神經(jīng)元數(shù)量的選擇在神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)中非常重要。根據(jù)經(jīng)驗(yàn),神經(jīng)元的數(shù)量可為4~13的整數(shù)。經(jīng)過(guò)反復(fù)測(cè)試,本文將隱藏層設(shè)為11個(gè)神經(jīng)元。
輸出層只有一個(gè)神經(jīng)元,即光伏系統(tǒng)的輸出功率Pout。
BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)
所選取的BP神經(jīng)網(wǎng)絡(luò)進(jìn)化參數(shù)如表1所示。
表1 BP神經(jīng)網(wǎng)絡(luò)進(jìn)化參數(shù)
粒子群(PSO)算法是一種進(jìn)化計(jì)算技術(shù),來(lái)源于鳥群捕食行為的研究。群體中個(gè)體的信息共享導(dǎo)致整個(gè)群體的運(yùn)動(dòng)在問(wèn)題求解空間中從無(wú)序狀態(tài)變?yōu)橛行驙顟B(tài)。PSO算法正是根據(jù)這一原理進(jìn)行優(yōu)化,從而獲得最優(yōu)解的。
在PSO算法中,首先對(duì)隨機(jī)的粒子群(隨機(jī)解)進(jìn)行初始化,然后迭代,直到找到最優(yōu)解。在每次迭代過(guò)程中,粒子通過(guò)跟蹤兩個(gè)“極值”來(lái)更新自身。在兩個(gè)“極值”中,一個(gè)是粒子自身找到的最優(yōu)解Pbest,這個(gè)最優(yōu)解為個(gè)體極值;另一個(gè)是整個(gè)種群當(dāng)前尋找的最優(yōu)解Gbest,該極值即為全局極值。
在粒子群迭代中,各個(gè)粒子群的速度為:
(2)
式中:Vid為第i個(gè)樣本的第d維速度;Pid為第i個(gè)樣本的第d維個(gè)體極值;Pgd為全局最優(yōu)解的第d維;k為迭代的次數(shù);i=1,2,…,N;d=1,2,…,D;c1和c2為學(xué)習(xí)因子;ω為慣性權(quán)重。
在粒子群迭代中,各個(gè)粒子群的位置為:
(3)
設(shè)定粒子速度的最小最大值[Vmin,Vmax]及位置邊界[Xmin,Xmax],可對(duì)粒子移動(dòng)的范圍作出界定。
粒子的適應(yīng)度(即均方差)為:
(4)
式中:n為樣本數(shù)量;c為輸出神經(jīng)元數(shù)量;Yij為第i個(gè)樣本的第j次輸出期望值;yij為第i個(gè)樣本的第j次輸出實(shí)際值。
粒子群算法的參數(shù)選取如表2所示。
表2 粒子群算法的參數(shù)
采用粒子群算法對(duì)連接權(quán)值、閾值進(jìn)行優(yōu)化的過(guò)程如下:
步驟一:設(shè)置種群規(guī)模、位置邊界[Xmin,Xmax]、速度最小值和速度最大值[Vmin,Vmax]、慣性權(quán)重、最大迭代次數(shù)和學(xué)習(xí)因子,并初始化粒子的位置Xi與速度Vi;
步驟二:根據(jù)輸入和輸出樣本,利用式(4)算出每個(gè)粒子適應(yīng)度的函數(shù)值,同時(shí)調(diào)整并記錄粒子的最優(yōu)解Pbest和種群的最優(yōu)解Gbest;
步驟三:根據(jù)式(2)和式(3)更新粒子的速度和位置;
步驟四:判斷粒子的速度和位置是否超過(guò)設(shè)定范圍:若Vi>Vmax,則Vi=Vmax;若Vi 步驟五:再次計(jì)算粒子適應(yīng)度; 步驟六:若粒子此時(shí)尋找的極值位置或迭代次數(shù)達(dá)到預(yù)定誤差標(biāo)準(zhǔn),就結(jié)束,不然則繼續(xù)進(jìn)行步驟一。 BP神經(jīng)網(wǎng)絡(luò)算法運(yùn)用的是局部搜索優(yōu)化方法,其目的是找到繁雜的非線性函數(shù)的全局最優(yōu)解,但容易陷入局部最優(yōu)值。PSO算法具有性能極好的全局最優(yōu)搜索能力,并且實(shí)現(xiàn)度高、收斂快、精度較高。 神經(jīng)網(wǎng)絡(luò)的權(quán)值優(yōu)化實(shí)質(zhì)上是一個(gè)目標(biāo)函數(shù)尋優(yōu)的過(guò)程,經(jīng)過(guò)不斷的優(yōu)勝劣汰,能夠找到一個(gè)最優(yōu)的連接權(quán)值。由于梯度下降法對(duì)初始權(quán)值的選擇非常敏感,初始權(quán)值的細(xì)小差別都會(huì)使結(jié)果相差巨大,因此選取優(yōu)良的初始權(quán)值對(duì)獲得預(yù)期結(jié)果非常重要。PSO算法可用于尋找最佳的初始權(quán)值和閾值,實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的最有效學(xué)習(xí)及預(yù)測(cè)。 本文采用PSO算法優(yōu)化網(wǎng)絡(luò)初始權(quán)值和閾值,對(duì)預(yù)測(cè)網(wǎng)絡(luò)的各層進(jìn)行賦值,以便神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)最有效的學(xué)習(xí)和預(yù)測(cè)。 基于PSO優(yōu)化BP(即PSO-BP)神經(jīng)網(wǎng)絡(luò)的算法流程如圖2所示。 圖2 PSO-BP神經(jīng)網(wǎng)絡(luò)算法流程 樣本數(shù)據(jù)來(lái)自中原工學(xué)院光伏電站2013年3月10日至4月14日的輸出功率數(shù)據(jù)與天氣預(yù)報(bào)數(shù)據(jù)。一天中從7:00到18:00,每10 min或者30 min收集一次樣本數(shù)據(jù)。為使預(yù)測(cè)精度更高,本文對(duì)訓(xùn)練樣本進(jìn)行了適當(dāng)處理,將奇特?cái)?shù)據(jù)刪掉,一共獲得1 523組訓(xùn)練數(shù)據(jù)。 人工神經(jīng)網(wǎng)絡(luò)使用非線性激活函數(shù),其輸出限于[0,1]或[-1,1]??紤]到預(yù)期輸出通常不在限定的區(qū)間,為了防止使用原始數(shù)據(jù)訓(xùn)練導(dǎo)致的神經(jīng)元過(guò)飽和,必須對(duì)數(shù)據(jù)進(jìn)行歸一化處理。 可用下式處理輸入數(shù)據(jù),并將其轉(zhuǎn)換為[0,1]區(qū)間內(nèi)數(shù)據(jù)。 (5) 式中:P*為歸一化處理后輸出數(shù)據(jù);P為原始數(shù)據(jù);Pmax,Pmin分別為P的最大值和最小值。 所用光伏電池的功率為1 kW,整個(gè)光伏電站由4組光伏板組成,光伏電站的裝機(jī)容量為4 kW。 BP神經(jīng)網(wǎng)絡(luò)通過(guò)Matlab軟件進(jìn)行訓(xùn)練和預(yù)測(cè)。圖3所示為粒子適應(yīng)度隨迭代次數(shù)的變化曲線。 注:適應(yīng)度曲線的終止代數(shù)=100。圖3 粒子適應(yīng)度隨迭代次數(shù)的變化曲線 由圖3可看出,隨著迭代次數(shù)的增加,粒子適應(yīng)度起初迅速減小,然后緩慢減小。適應(yīng)度越小,粒子性能越好。樣本訓(xùn)練實(shí)際值和預(yù)測(cè)值的對(duì)比情況如圖4所示。 ◇——網(wǎng)絡(luò)預(yù)測(cè)值;+——實(shí)際值。圖4 樣本訓(xùn)練實(shí)際值與預(yù)測(cè)值的對(duì)比 采用訓(xùn)練后BP神經(jīng)網(wǎng)絡(luò)對(duì)2013年4月15日7:00-18:00的23個(gè)點(diǎn)(每30 min一個(gè))的數(shù)據(jù)進(jìn)行預(yù)測(cè)。預(yù)測(cè)功率與實(shí)際功率的對(duì)比情況如圖5所示。PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差如圖6所示。BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差如圖7所示。 注:○——網(wǎng)絡(luò)預(yù)測(cè)值;*——實(shí)際值。圖5 預(yù)測(cè)功率與實(shí)際功率的對(duì)比 圖6 PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差 圖7 BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差 從仿真結(jié)果可算出,只經(jīng)過(guò)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的絕對(duì)誤差百分比的變動(dòng)范圍較大,為0~10%;PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度較高,絕對(duì)誤差百分比為0~6%。因此,該光伏發(fā)電預(yù)測(cè)模型更有效。這里,絕對(duì)誤差百分比為: (6) 式中:x*為預(yù)測(cè)值;x為實(shí)際值。 由圖6、圖7可看出,一天里開始與結(jié)束的幾個(gè)誤差點(diǎn)是缺失的,這是誤差計(jì)算公式導(dǎo)致的,由于這幾個(gè)誤差點(diǎn)的實(shí)際輸出功率是零,因此只要預(yù)測(cè)值和實(shí)際值不相等,這時(shí)誤差就是無(wú)限大。此外,實(shí)驗(yàn)平臺(tái)的某些故障導(dǎo)致數(shù)據(jù)樣本中一些檢測(cè)數(shù)據(jù)丟失,進(jìn)而影響B(tài)P神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,帶來(lái)了一定的誤差。 需要說(shuō)明的是,本文的實(shí)驗(yàn)平臺(tái)裝機(jī)容量較小,所收集的輸出功率較小,這可能導(dǎo)致較大的誤差。 本文基于PSO算法較強(qiáng)的全局尋優(yōu)能力,對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值與閾值進(jìn)行優(yōu)化,彌補(bǔ)了BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)時(shí)容易陷入局部最優(yōu)的缺陷及訓(xùn)練時(shí)間長(zhǎng)的不足。建立的PSO-BP預(yù)測(cè)模型可以模擬光伏發(fā)電的趨勢(shì),精確預(yù)測(cè)光伏發(fā)電量,大幅提高預(yù)測(cè)精度,具有較好的泛化能力,同時(shí)也提高了BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,對(duì)光伏發(fā)電量預(yù)測(cè)具有一定的應(yīng)用價(jià)值。1.3 PSO-BP神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)
2 光伏發(fā)電預(yù)測(cè)模型的實(shí)現(xiàn)
2.1 數(shù)據(jù)樣本的預(yù)處理
2.2 算例仿真
2.3 結(jié)果分析
3 結(jié)語(yǔ)