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