劉春芳,王攀攀,曹 菲
(1.南瑞集團(tuán)(國網(wǎng)電力科學(xué)研究院)有限公司,南京 211106;2.江蘇林洋新能源科技有限公司,南京 210019)
光伏發(fā)電技術(shù)是當(dāng)前利用太陽能的主要技術(shù)。然而,受天氣情況、太陽輻射強(qiáng)度、溫度、濕度、云量等影響因素,光伏發(fā)電技術(shù)有著間歇性、波動(dòng)性、隨機(jī)性特點(diǎn)[1],對(duì)智能電網(wǎng)的穩(wěn)定運(yùn)行帶來極大挑戰(zhàn)[2]。因此,需要對(duì)光伏發(fā)電功率預(yù)測進(jìn)行研究,預(yù)先得知日內(nèi)光伏發(fā)電功率曲線,使電力部門能以經(jīng)濟(jì)最優(yōu)化調(diào)度機(jī)組[3],獲取最大經(jīng)濟(jì)效益。
光伏發(fā)電預(yù)測技術(shù)一直是國內(nèi)外專家學(xué)者研究的熱門課題。目前光伏發(fā)電預(yù)測方式主要分為直接預(yù)測和間接預(yù)測。間接預(yù)測方式是先對(duì)地表輻射強(qiáng)度進(jìn)行預(yù)測,然后根據(jù)光伏發(fā)電模型得到光伏發(fā)電功率[4]。文獻(xiàn)[5]采用了間接預(yù)測,根據(jù)歷史的光照強(qiáng)度、溫度等因素,利用支持向量機(jī)的方法來預(yù)測光照強(qiáng)度及溫度,再通過數(shù)學(xué)模型得出光伏發(fā)電功率,但是未對(duì)天氣類型分類,精度不高。間接預(yù)測過度依賴于復(fù)雜的太陽輻射強(qiáng)度模型,對(duì)含有不同類型光伏發(fā)電單元的系統(tǒng)來說,轉(zhuǎn)換效率、安裝角度等參數(shù)存在差異。直接預(yù)測即直接對(duì)光伏電站的輸出功率進(jìn)行預(yù)測,常用方法有支持向量機(jī)(SVM)[6]、時(shí)間序列法[7]、小波分析預(yù)測法[8-9]以及人工神經(jīng)網(wǎng)絡(luò)法[10-11]。文獻(xiàn)[10-11]綜合考慮了影響因素,基于神經(jīng)網(wǎng)絡(luò)對(duì)光伏發(fā)電功率提前一天進(jìn)行預(yù)測,誤差較大,容易陷入局部最優(yōu)。文獻(xiàn)[12]基于差分進(jìn)化優(yōu)化BP神經(jīng)網(wǎng)絡(luò)對(duì)光伏發(fā)電功率預(yù)測,有較好的實(shí)用性和可行性,但BP神經(jīng)網(wǎng)絡(luò)算法具有參數(shù)隨機(jī)初始化、預(yù)測系統(tǒng)不穩(wěn)定以及收斂速度慢等特點(diǎn),因此會(huì)出現(xiàn)早熟現(xiàn)象。
綜合以上分析,文章分析光伏發(fā)電的影響因素,通過帶權(quán)重的歐式距離公式篩選出相似樣本集;設(shè)計(jì)PSO-DE-BP混合算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;基于SPARK的平臺(tái)對(duì)PSO-DE-BP并行計(jì)算;通過實(shí)測數(shù)據(jù)仿真驗(yàn)證表明,PSO-DE-BP算法比PSO-BP、BP算法精度更好且更穩(wěn)定,同時(shí),該方法具有良好的并行性能。
單位面積的光伏發(fā)電系統(tǒng)輸出功率的數(shù)學(xué)模型[13]
Ppv_out=ηSI[1-0.005(t0+25)]
(1)
其中:η是光伏陣列轉(zhuǎn)換效率;S是光伏陣列的面積,m2;I太陽輻射強(qiáng)度,kW/m2;t0環(huán)境溫度,℃。
在固定的光伏發(fā)電系統(tǒng)中,光伏陣列的面積是不變的,在一個(gè)短期的輸出功率預(yù)測模型中,光伏陣列轉(zhuǎn)換效率也基本上不變,根據(jù)公式(1)的功率輸出模型可知,光伏發(fā)電功率主要的影響因素就是溫度和太陽的輻射強(qiáng)度,根據(jù)目前氣象局提供的天氣信息,盡管缺乏太陽輻射強(qiáng)度的信息,但是氣象局提供的天氣、云量、濕度以及溫度能反應(yīng)光照輻射強(qiáng)度[14]。
圖1為同一光伏電站不同天氣類型下光伏發(fā)電功率對(duì)比曲線。天氣類型對(duì)光伏發(fā)電系統(tǒng)輸出功率影響非常明顯,且雨天和晴天輸出功率值差距很大,表明太陽輻射強(qiáng)度對(duì)光伏發(fā)電功率影響巨大。
圖1 不同天氣類型光伏功率輸出曲線
表1選取2021年中江蘇省某個(gè)光伏發(fā)電站相同天氣類型,不同溫度的歷史數(shù)據(jù),分析溫度與日光伏發(fā)電量的關(guān)系。
表1 溫度氣象信息/℃
圖2表明,溫度與光伏發(fā)電先呈現(xiàn)正相關(guān),隨著溫度的升高,光伏發(fā)電量增高,因此,光伏發(fā)電功率呈現(xiàn)出隨季節(jié)的周期性變化。
圖2 不同的溫度下光伏日發(fā)電量
表2選擇比較相鄰幾天且來自于同一個(gè)光伏發(fā)電站的歷史數(shù)據(jù),天氣類型相同,但相對(duì)濕度不同。
表2 濕度氣象信息
根據(jù)圖3可知空氣濕度明顯影響著光伏發(fā)電系統(tǒng)的輸出功率,濕度越大,光伏輸出功率越小,呈現(xiàn)負(fù)相關(guān)狀態(tài),這是由于空氣中的液態(tài)水能大量吸收太陽輻射能。
圖3 不同濕度下光伏發(fā)電功率變化曲線
表3中選取了2021年8月份的氣象數(shù)據(jù),樣本具有相近的溫度以及不同的云量。結(jié)合圖4表明,云量和濕度相似,與光伏發(fā)電呈現(xiàn)負(fù)相關(guān)。由于云將太陽輻射進(jìn)行反射及散射,大量削弱了太陽輻射強(qiáng)度。因此,云量對(duì)預(yù)測每個(gè)小時(shí)的發(fā)電功率預(yù)測有著重要意義。
表3 云量氣象信息
圖4 云量與光伏發(fā)電量
上述分析可知,光伏發(fā)電系統(tǒng)與天氣類型、溫度、濕度有著密切的關(guān)系,但每種因素與光伏發(fā)電功率關(guān)聯(lián)度有所不同,因此需要進(jìn)一步分析影響因子的重要度。
根據(jù)1.1可知,影響因子的差距越大,光伏發(fā)電系統(tǒng)的輸出功率大小值和變化趨勢(shì)差距越大。圖1可知,在晴天時(shí)的輸出功率基本呈現(xiàn)上升、保持、下降的變化趨勢(shì)。然而在陰天、雨天,這種變化過程被破壞[10],輸出功率曲線不穩(wěn)定。文獻(xiàn)[15-16]沒有篩選相似的訓(xùn)練樣本,在陰天或雨天時(shí),功率預(yù)測的誤差較大。文獻(xiàn)[10]基于相似樣本,用相似樣本集進(jìn)行訓(xùn)練和預(yù)測,減少一定的預(yù)測誤差,但是只考慮了溫度,缺少天氣情況作為相似參考量。
然而,影響因子對(duì)光伏發(fā)電功率的影響程度不同。為了從光伏發(fā)電系統(tǒng)歷史記錄中選擇出相似樣本集,有效減少預(yù)測范圍,提高預(yù)測精度,通過公式(2)得出各個(gè)因子的相關(guān)系數(shù)[17]。
(2)
其中,wi表示i影響因子的權(quán)重。
(3)
若待預(yù)測日的氣象特征向量記作x0,x0=[x01,x02,x03,x04],第j個(gè)歷史日的氣象特征向量為xj,xj=[xj1,xj2,xj3,xj4],其中x01,x02,x03,x04分別代表待預(yù)測日的歸一化后最高溫度,最低溫度,最高濕度,最低濕度,同理xj中元素也代表4個(gè)影響因素。
表4 云量與天氣類型關(guān)系表
表5 BP神經(jīng)網(wǎng)絡(luò)輸入輸出變量
表6 Spark的基本操作
選擇相似樣本集步驟如下:
1)選擇出和預(yù)測日相同天氣情況m個(gè)歷史樣本,記作Y樣本集。
2)由Y樣本集用計(jì)算公式(2),(3)得出各個(gè)影響因子的權(quán)重值。
3)計(jì)算預(yù)測日和樣本集Y中歷史記錄的影響因素的歐式距離di,di的計(jì)算公式如下:
(4)
4)將影響因素歐式距離集[d1,d2,...,dm]按距離值的大小升序排序,排列前N個(gè)歷史樣本形成訓(xùn)練樣本集YN。
BP神經(jīng)網(wǎng)絡(luò)是目前使用廣泛的神經(jīng)網(wǎng)絡(luò)算法之一。如圖5所示,典型的神經(jīng)網(wǎng)絡(luò)一般有輸入層、隱含層、輸出層。
圖5 神經(jīng)網(wǎng)絡(luò)模型
圖6 PSO-DE-BP算法優(yōu)化神經(jīng)網(wǎng)絡(luò)流程圖
2.2.1 BP神經(jīng)網(wǎng)絡(luò)輸入層確定
光伏發(fā)電系統(tǒng)每天主要出力時(shí)間段為6:00~18:00。由1節(jié)可知,天氣類型嚴(yán)重影響光伏發(fā)電,即使選擇了相同天氣的樣本集,比如,有著相同的晴轉(zhuǎn)多云的天氣類型,但是12個(gè)時(shí)間點(diǎn)有著不同天氣類型。由表4可知,云量能體現(xiàn)各個(gè)時(shí)間段的天氣類型[18],因此,以預(yù)測日6:00~18:00的每小時(shí)云量、最高溫度、最低溫度、最高濕度、最低濕度作為輸入變量。
2.2.2 輸出層節(jié)點(diǎn)數(shù)
輸出層節(jié)點(diǎn)為預(yù)測日6:00~18:00的每個(gè)小時(shí)共12個(gè)時(shí)間段的光伏發(fā)電功率。
2.2.3 隱含層節(jié)點(diǎn)設(shè)計(jì)
隱含層節(jié)點(diǎn)過多、過少或訓(xùn)練時(shí)間過長以及精度不高都對(duì)網(wǎng)絡(luò)的訓(xùn)練不利。充分考慮時(shí)間和精度,根據(jù)經(jīng)驗(yàn)公式(5)進(jìn)行設(shè)計(jì)[19]:
(5)
式中,I是輸入層節(jié)點(diǎn)數(shù);O為輸出層節(jié)點(diǎn)數(shù);J是隱含層節(jié)點(diǎn)數(shù);a為1~10的常數(shù)。
通過反復(fù)調(diào)試神經(jīng)網(wǎng)絡(luò)模型,充分考慮時(shí)間和精度,隱含層選擇為10個(gè)。
直接用原始的數(shù)據(jù)作為網(wǎng)絡(luò)的輸入與輸出,會(huì)引起神經(jīng)元過飽和。因此,神經(jīng)網(wǎng)絡(luò)中輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn)的數(shù)據(jù)都必須歸一化處理。通常BP神經(jīng)網(wǎng)絡(luò)使用Sigmoid函數(shù),輸出范圍限定在[0,1]。用公式(6)對(duì)1.2篩選出待預(yù)測日訓(xùn)練樣本集YN做歸一化處理,所有數(shù)據(jù)包括功率數(shù)據(jù),影響因素?cái)?shù)據(jù)都轉(zhuǎn)換到[0,1]區(qū)間。
j=1,2…21
(6)
輸出樣本反歸一化:
k=1,2…12
(7)
1)粒子群算法[20]通過粒子的相互作用,對(duì)空間任何區(qū)域進(jìn)行智能搜索。主要思想通過群體之間相互協(xié)作和信息帶有記憶功能及共享信息,尋找最優(yōu)解。粒子的位置向量代表空間的一組解向量,初始化時(shí),每個(gè)粒子都有隨機(jī)的飛行方向,以一定的速度尋找最優(yōu)解。由于粒子共享信息功能,粒子的位置、飛行速度大小和方向都隨經(jīng)驗(yàn)動(dòng)態(tài)調(diào)整。
粒子速度更新公式:
(8)
粒子位置更新公式:
(9)
2)差分進(jìn)化算法是基于群體智能的隨機(jī)并行優(yōu)化算法[21],DE擁有記憶功能使其可以動(dòng)態(tài)跟蹤當(dāng)前的搜索情況,以調(diào)整策略,尋找最優(yōu)解。它的優(yōu)化機(jī)制是根據(jù)不同個(gè)體之間的距離和方向信息來生成新的候選個(gè)體,實(shí)現(xiàn)群體進(jìn)化。主要采用變異、交叉、選擇3種方式,以這種順序動(dòng)態(tài)改變個(gè)體的位置,尋找最優(yōu)個(gè)體。
變異:
Vi,D,G+1=Xh,D,G+F×(Xr,D,G-Xk,D,G)
(10)
其中:Xh,D,G,Xr,D,G,Xk,D,G是隨機(jī)選擇的個(gè)體,且i≠h≠r≠k;Vi,G+1是第i個(gè)體的新個(gè)體;F是變異算子,屬于[0,2]的一個(gè)常數(shù);D是維數(shù),優(yōu)化參數(shù)個(gè)數(shù);G表示代數(shù)。
交叉:
(11)
式中,Vi,D,G+1變異后的i個(gè)體;Xi,D,G原個(gè)體;CR是交叉率;Ir是[0,D]的隨機(jī)整數(shù)。
選擇:貪婪策略選擇后代。
(12)
式中,f是適應(yīng)度函數(shù)。
根據(jù)2節(jié)設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)模型,用基于PSO-DE-BP的算法優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練。BP算法本質(zhì)是梯度下降法,由前面可知,輸入輸出變量較多,目標(biāo)函數(shù)比較復(fù)雜,容易陷入局部最優(yōu),不穩(wěn)定,且波動(dòng)性較大。本章節(jié)采用PSO-DE-BP混合算法優(yōu)化RBF神經(jīng)網(wǎng)絡(luò),通過粒子分群組,引入公式(13)保證群組內(nèi)多樣性,運(yùn)用改進(jìn)DE的變異操作及選擇操作,使組與組之間保持關(guān)聯(lián),尋找全局最優(yōu),避免局部最優(yōu)。
具體步驟如下。
步驟1:隨機(jī)初始化粒子xi,D,把神經(jīng)網(wǎng)絡(luò)需要優(yōu)化的權(quán)值和閾值使其對(duì)應(yīng),進(jìn)行編碼,確定目標(biāo)適應(yīng)度值E,適應(yīng)度函數(shù)f1,群組之間變異次數(shù)G,隨機(jī)初始化粒子v。
步驟2:將粒子隨機(jī)平均分成m群,對(duì)群體進(jìn)行編號(hào)ID;
步驟3:每組個(gè)體根據(jù)粒子群迭代的算法,尋找群內(nèi)最優(yōu),達(dá)到函數(shù)f2目標(biāo)值,返回各組的群組最優(yōu)值Xbest,D,g(ID),根據(jù)Xbest,D,g(ID)適應(yīng)度的值大小,m/2組為較好群體,其他的m/2為較差群體。
粒子群迭代的目標(biāo)函數(shù):
(13)
f2函數(shù)的目標(biāo)值的設(shè)定:
F=λ0e(λmax-(λmax-λmin)*(g/G))
(14)
其中:g是當(dāng)前變異次數(shù);λ0是常數(shù)。
F的值隨著g次數(shù)增大,自適應(yīng)地改變,粒子群開始,F(xiàn)較大,注重粒子群組之間交叉變異,在保重粒子多樣性同時(shí),向較好群體的方向進(jìn)化,避免局部最優(yōu)。
步驟4:較好群體之間變異,較差群體往較好群體進(jìn)化,用DE和PSO混合算法對(duì)粒子變異。
改進(jìn)的變異操作:
vi,D,g-1(ID)=W*vi,D,g(ID)+F1×(rand(Xbest)-Xi,D,G(ID))+F2×(Xbest,D,g(ID)-Xi,D,G(ID))
(15)
Vi,D,g+1(ID)=Xi,D,G+vi,D,g+1(ID)
(16)
(17)
式中,ID是群組號(hào),范圍[1,m];i代表ID群i個(gè)體;rand(Xbest)表示在較好的m/2個(gè)群組當(dāng)中某個(gè)組最優(yōu)值,隨機(jī)選取,共m/2個(gè);Xbest,D,g(ID)當(dāng)前群組最優(yōu)個(gè)體;f(ID)當(dāng)前群組最優(yōu)適應(yīng)度;fbest最優(yōu)群組的適應(yīng)度;F2是0到1的隨機(jī)數(shù)。
步驟5:每個(gè)群體中個(gè)體用公式(11)進(jìn)行交叉,然后在改進(jìn)的選擇策略上選擇下一代個(gè)體,避免貪婪策略出現(xiàn)早熟現(xiàn)象。
改進(jìn)的選擇操作:
(18)
(19)
式中,f是適應(yīng)度函數(shù),R是[0,1]上的隨機(jī)數(shù)。
步驟6:判斷是否達(dá)到進(jìn)化次數(shù)或適應(yīng)度目標(biāo)值,是,停止進(jìn)化,進(jìn)入BP神經(jīng)算法優(yōu)化,否則轉(zhuǎn)到步驟3。
適應(yīng)度函數(shù)用訓(xùn)練樣本的平均均方誤差,如公式(20)所示:
(20)
式中,A是實(shí)際值;P是預(yù)測值,由兩層的權(quán)值和閾值以及sigmoid函數(shù)得出。
隨著光伏發(fā)電歷史數(shù)據(jù)量快速增長,盡管大量的數(shù)據(jù)能保證光伏發(fā)電功率預(yù)測的精度,但是基于單節(jié)點(diǎn)難以處理大數(shù)據(jù)的需要[22-23]。本章節(jié)基于Spark平臺(tái)下,研究PSO-DE-BP算法并行化。
在分布式內(nèi)存計(jì)算框架Spark上進(jìn)行運(yùn)算,RDD的數(shù)據(jù)集格式表示為[24]:
(ZID,ID,x,v,F(xiàn)(ph,fh),(pb,fb),pfm/2,D+1)
其中:ZID是群編號(hào);ID是群組編號(hào);x,v分別表示粒子當(dāng)前位置向量和速度向量,F(xiàn)為當(dāng)前目標(biāo)函數(shù)f2的值,ph,fh分別表示為個(gè)體經(jīng)歷的最佳位置和最佳適應(yīng)度;pb,fb分別表示子群組中粒子經(jīng)歷的最佳位置和群組最佳適應(yīng)度,pfm/2,j是存放較好m/2群組的最佳位置和最佳適應(yīng)度的m/2×(D+1)矩陣,表示需要優(yōu)化參數(shù)個(gè)數(shù)和一個(gè)適應(yīng)度。
PSO-DE-BP算法并行化的具體步驟如下:
1)初始化粒子群,包括初始位置和初始速度,差分進(jìn)化次數(shù),隨機(jī)對(duì)粒子群平均分成M組,并且對(duì)群組進(jìn)行ID編號(hào)。
2)以ID編號(hào)為key值,其他數(shù)據(jù)為value,進(jìn)行Map操作,通過映射函數(shù)(20)獲得每一個(gè)粒子的個(gè)體適應(yīng)度fh,更新(ph,fh),構(gòu)造鍵值對(duì)(key,value)。
3)Reduce操作,獲取每個(gè)群組最佳適應(yīng)度和最優(yōu)解,用公式(13)得出F,以ID為key,value的(F,(pb,fg))鍵值對(duì),再Join操作,與步驟2)的鍵值對(duì)接,更新(F,(pb,fb)),若差分進(jìn)化迭代結(jié)束,輸出pb。
4)pb滿足目標(biāo)適應(yīng)度E,停止差分進(jìn)化迭代,輸出最優(yōu)pb,否,判斷F是否滿足,否,Map操作,用粒子群算法公式(8)~(9)獲得x,v更新(x,v),同時(shí)以ID編號(hào)為key值,value(x,v)轉(zhuǎn)至步驟2),F(xiàn)滿足,轉(zhuǎn)至e。
5)Map操作,以ZID為key,其他數(shù)據(jù)為value,重新構(gòu)造鍵值對(duì)(key,value)。
6)再進(jìn)行一次Reduce操作,以AID為key,(pfm/2,D+1)為value,選擇較好m/2群組(phm/2,D+1)的最佳位置和最佳適應(yīng)度,Join操作,與步驟5)的鍵值對(duì)連接。
7)進(jìn)行一次Map操作,以ID為key,其他數(shù)據(jù)為value,用改進(jìn)的差分進(jìn)化算法,得出x和v,更新(x,v),轉(zhuǎn)到步驟2)。
為了對(duì)提出的算法有效地評(píng)估,選用均方根誤差(RMSE)和平均絕對(duì)百分比誤差(MAPE)作為光伏發(fā)電預(yù)測誤差的指標(biāo)。
MAPE評(píng)估系統(tǒng)的預(yù)測能力,RMSE評(píng)估預(yù)測值的離散程度[25-26]。公式分別如下:
(21)
(22)
式中,N為光伏發(fā)電功率輸出個(gè)數(shù);Pn,i為第i時(shí)間段實(shí)際的光伏輸出功率;An,1是第i時(shí)間段預(yù)測的光伏輸出功率。
實(shí)驗(yàn)數(shù)據(jù)來源于本地30 kW分布式光伏電站2020年3月24到2021年12月31的光伏發(fā)電功率數(shù)據(jù)和氣象信息,每組數(shù)據(jù)樣本包含6:00~18:00的12個(gè)時(shí)間點(diǎn)云量信息、日最高溫度、日最低溫度、最高濕度以及最低濕度共16個(gè)環(huán)境輸入變量,和6:00~18:00的12個(gè)時(shí)間點(diǎn)光伏輸出功率共12個(gè)功率輸出變量。
為了驗(yàn)證預(yù)測模型的有效性,選取晴轉(zhuǎn)多云、陰轉(zhuǎn)多云以及雨天的天氣類型的待測日,采用本模型方法進(jìn)行相似樣本集篩選、訓(xùn)練、預(yù)測,用RMSE、MAPE進(jìn)行分析,再通過BP、PSO-BP、PSO-DE-BP三種優(yōu)化算法進(jìn)行對(duì)比分析,包括預(yù)測精度以及穩(wěn)定性分析。
表7~9分別選取2021年2月24日,天氣類型為晴轉(zhuǎn)多云;2021年6月20日,天氣類型為陰轉(zhuǎn)多云;以及2021年9月17日,天氣類型為雷陣雨轉(zhuǎn)陰作為待測日,采用本文提出的算法,以各個(gè)時(shí)間點(diǎn)云量作為輸入變量,跟蹤預(yù)測一天當(dāng)中的天氣類型變化。由表7~9可以得出,晴轉(zhuǎn)多云天氣預(yù)測精度高于陰轉(zhuǎn)多云以及陣雨天氣。
表7 預(yù)測日天氣類型為晴轉(zhuǎn)多云誤差分析表
表8 預(yù)測日天氣類型為陰轉(zhuǎn)多云誤差分析表
表9 預(yù)測日天氣類型為雨天誤差分析表
為了進(jìn)一步明確算法在不同天氣下功率預(yù)測的通用性,分別使用PSO-DE-BP、PSO-BP、BP三種算法對(duì)模型進(jìn)行訓(xùn)練。對(duì)晴天、陰天以及雨天進(jìn)行相似天氣分組,求得每種天氣狀況下預(yù)測的平均誤差,分別見表10~12。
表10 晴天預(yù)測誤差分析表
表11 陰天預(yù)測誤差分析表
表12 雨天預(yù)測誤差分析表
由表10~12三種方法精度對(duì)比分析得出,晴天預(yù)測誤差明顯優(yōu)于陰天和雨天,這是由于云量變化的隨機(jī)性導(dǎo)致預(yù)測準(zhǔn)確性降低。且PSO-DE-BP方法的誤差要小于BP以及PSO-BP兩種算法,因此采用該算法可獲得更穩(wěn)定的網(wǎng)絡(luò)。
為了測試PSO-DE-BP算法的并行化性能,采用加速比來測試算法的并行性能,加速比是衡量并行系統(tǒng)或程序并行化的性能和效果的指標(biāo)[27],如公式(23)所示,其中Tsingle單機(jī)下運(yùn)行的時(shí)間,Tparallel表示該算法并行化下運(yùn)行的時(shí)間,Sspeed是衡量并行性能的指標(biāo),該值越大,算法的并行性能的效果越好。
Sspeed=Tsingle/Tparallel
(23)
通過增加集群的節(jié)點(diǎn)以及樣本的數(shù)據(jù)量,來測試PSO-DE-BP算法的并行性能,表格13所示,單節(jié)點(diǎn)相當(dāng)于單機(jī)運(yùn)算。
表13可知,隨著節(jié)點(diǎn)數(shù)的增長,加速比的增長率變緩。因?yàn)楣?jié)點(diǎn)數(shù)越大,集群之間的通信和任務(wù)調(diào)度越多,消耗時(shí)間也增多。隨著樣本數(shù)據(jù)量的增加,加速比與節(jié)點(diǎn)數(shù)更接近同比例增長。因此,PSO-DE-BP算法能滿足海量高維電力數(shù)據(jù)的負(fù)荷預(yù)測的性能要求。
表13 加速比與群集節(jié)點(diǎn)及樣本數(shù)量關(guān)系
本文首先建立了一個(gè)以各個(gè)時(shí)間段的云量作為輸入變量的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用云量跟蹤天氣的變化情況,有效提高了多云、陰雨天的預(yù)測精度。然后基于PSO-DE-BP混合算法對(duì)BP神經(jīng)網(wǎng)絡(luò)初始值進(jìn)行優(yōu)化,通過粒子群分組優(yōu)化,分別用PSO和改進(jìn)的DE對(duì)群內(nèi)、群間迭代進(jìn)化,引進(jìn)了種群多樣性算法,避免早熟現(xiàn)象,尋找全局最優(yōu),與BP算法和PSO-BP相比,具有更高的穩(wěn)定性和預(yù)測精度。
通過基于Spark的內(nèi)存分布式計(jì)算思想,引進(jìn)到PSO-DE-BP混合算法中,實(shí)行并行計(jì)算,通過加速比分析,PSO-DE-BP算法具有良好的并行性能和處理大規(guī)模數(shù)據(jù)的能力。