張 潔,郝倩男
(南京郵電大學(xué) 計算機(jī)學(xué)院,江蘇 南京 210023)
傳統(tǒng)化石能源危機(jī)、環(huán)境壓力和新能源技術(shù)的發(fā)展促使尋找新能源成為目前需要迫切解決的現(xiàn)實(shí)問題[1]。太陽能作為一種可再生能源,取之不盡用之不竭、分布范圍廣泛、便于開采、能源利用率高且無污染,相對于其他能源,有著明顯的優(yōu)勢,因此作為最有利用價值的可再生能源,引起了國內(nèi)外政府的廣泛關(guān)注。光伏發(fā)電憑借其無噪聲、無污染、不受地域限制、建設(shè)周期短等優(yōu)點(diǎn),成為太陽能利用的最有效途徑,太陽能光伏技術(shù)也成為全球發(fā)展最快的高新技術(shù)之一。
光伏發(fā)電的間歇性、隨機(jī)性和波動性,給電網(wǎng)的安全運(yùn)行帶來了一系列的問題,只有對光伏發(fā)電功率進(jìn)行及時、準(zhǔn)確的預(yù)測才能有效保證電網(wǎng)運(yùn)行的安全性、穩(wěn)定性和可靠性[2]。
光伏發(fā)電預(yù)測技術(shù)經(jīng)歷了幾十年的發(fā)展,根據(jù)建立的數(shù)學(xué)模型的不同,將現(xiàn)有的預(yù)測方法分為物理法和統(tǒng)計法兩類[3]。物理法需要?dú)庀髷?shù)據(jù)、光伏電站所處地理信息以及光伏組件的參數(shù),根據(jù)輸出特性曲線計算得到光伏發(fā)電量[4]。物理法預(yù)測模型的抗干擾能力有限,魯棒性不強(qiáng)。統(tǒng)計法是通過對歷史數(shù)據(jù)進(jìn)行統(tǒng)計分析,發(fā)現(xiàn)其內(nèi)在規(guī)律,建立起太陽輻照度、溫度、濕度等因素和光伏發(fā)電功率之間的映射關(guān)系并進(jìn)行預(yù)測[5]。常用的預(yù)測方法有支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、時間序列法、馬爾可夫鏈等。
文獻(xiàn)[6]運(yùn)用增加動量項以及自適應(yīng)選取最佳隱含層的方法改進(jìn)傳統(tǒng)BP模型,根據(jù)不同天氣類型進(jìn)行預(yù)測,分析驗(yàn)證了該模型的可行性;文獻(xiàn)[7]分別用時間序列模型和人工神經(jīng)網(wǎng)絡(luò)模型對未來一周內(nèi)的光伏發(fā)電功率進(jìn)行預(yù)測,分析結(jié)果表明神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練階段表現(xiàn)較好,但在預(yù)測階段其性能卻比時間序列模型差;文獻(xiàn)[8]提出了一種光伏功率短期預(yù)測模型,首先用聚類算法根據(jù)天氣類型對訓(xùn)練數(shù)據(jù)進(jìn)行處理,然后采用支持向量機(jī)(support vector machine,SVM)算法對不同天氣類型下未來日間12小時的光伏發(fā)電功率進(jìn)行預(yù)測,預(yù)測性能顯著;文獻(xiàn)[9]采用多元線性回歸方法,用太陽輻照度等氣象因素來預(yù)測發(fā)電功率,預(yù)測精度較差;文獻(xiàn)[10]提出一種基于Stacking模型融合的光伏發(fā)電功率預(yù)測方法,選取溫度、濕度、輻照度等數(shù)據(jù)作為研究對象,提高了預(yù)測精度;文獻(xiàn)[11]建立了支持向量機(jī)預(yù)測模型,并采用改進(jìn)粒子群算法(particle swarm optimization,PSO)來優(yōu)化支持向量機(jī)的懲罰參數(shù)和核函數(shù)參數(shù),結(jié)果表明預(yù)測精確度更高,誤差更??;文獻(xiàn)[12]使用遺傳算法(genetic algorithm,GA)優(yōu)化BP神經(jīng)網(wǎng)絡(luò),建立了GA-BP光伏功率預(yù)測模型,通過訓(xùn)練仿真,得出了GA-BP預(yù)測模型比BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型預(yù)測精度更高的結(jié)論;文獻(xiàn)[13]提出了一種基于人工神經(jīng)網(wǎng)絡(luò)的短期功率預(yù)測模型,選擇最優(yōu)的輸入變量、神經(jīng)元數(shù)、學(xué)習(xí)算法和傳遞函數(shù)應(yīng)用到模型中;文獻(xiàn)[14]運(yùn)用灰色模型對光伏發(fā)電量進(jìn)行總體趨勢預(yù)測,然后加入加權(quán)馬爾可夫鏈預(yù)測理論,建立了灰色-馬爾可夫鏈預(yù)測模型;文獻(xiàn)[15]提出了一種基于最小二乘方法的短期光伏發(fā)電動態(tài)加權(quán)組合預(yù)測方法,并使用美國阿什蘭光伏電站的數(shù)據(jù)驗(yàn)證了所提方法的有效性;文獻(xiàn)[16]提出了一種基于K-means、灰色關(guān)聯(lián)分析和支持向量機(jī)的短期光伏發(fā)電功率預(yù)測方法,先用K-means算法進(jìn)行聚類,然后使用灰色關(guān)聯(lián)分析選擇預(yù)測日的相似日和最近鄰日,用相似日和最近鄰日的數(shù)據(jù)來訓(xùn)練支持向量機(jī)模型,實(shí)驗(yàn)證明該模型的性能比單一的支持向量機(jī)更優(yōu);文獻(xiàn)[17]提出了一種反向傳播(BP)神經(jīng)網(wǎng)路模型,使用BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)28-20-11獲得最佳性能,對誤差指標(biāo)的分析表明,該模型對光伏發(fā)電系統(tǒng)的功率輸出預(yù)測具有較高的準(zhǔn)確性;考慮到RBF算法隱節(jié)點(diǎn)中心和參數(shù)對光伏發(fā)電功率的影響,文獻(xiàn)[18]提出了一種基于改進(jìn)粒子群算法優(yōu)化徑向基函數(shù)網(wǎng)絡(luò)算法,將相似日的實(shí)際功率和氣象數(shù)據(jù)作為輸入,同時利用改進(jìn)PSO優(yōu)化RBF網(wǎng)絡(luò)參數(shù),建立預(yù)測模型;文獻(xiàn)[19]運(yùn)用灰色關(guān)聯(lián)理論分析歷史氣象數(shù)據(jù),篩選出與待測日天氣數(shù)據(jù)關(guān)聯(lián)度較高的歷史數(shù)據(jù)組作為相似日集合,建立思維進(jìn)化算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,相比傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò),結(jié)合相似日與思維進(jìn)化算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)的預(yù)測模型具有更高的預(yù)測精度;文獻(xiàn)[20]使用自適應(yīng)映射算法和K最近鄰算法對天氣輸入數(shù)據(jù)進(jìn)行分類,然后通過前饋神經(jīng)網(wǎng)絡(luò)對每個類別建立預(yù)測模型,結(jié)果證實(shí)了所提模型在預(yù)測中的高精度;文獻(xiàn)[21]提出了一種基于改進(jìn)的灰色BP神經(jīng)網(wǎng)絡(luò)的光伏功率預(yù)測方法,利用灰色GM(1,1)預(yù)測模型得到預(yù)測數(shù)據(jù),并將預(yù)測結(jié)果與相對應(yīng)的日最高、最低溫度作為BP神經(jīng)網(wǎng)絡(luò)的輸入;針對無氣象數(shù)據(jù)情況,文獻(xiàn)[22]提出了一種結(jié)合變分模態(tài)分解、深度回聲狀態(tài)網(wǎng)絡(luò)和稀疏高斯混合過程專家模型的超短期光伏功率預(yù)測方法,仿真結(jié)果表明,該方法在光伏功率時序預(yù)測中的效果比傳統(tǒng)預(yù)測模型更好;除了選取與光伏功率正相關(guān)的因素,文獻(xiàn)[23]還選取了與光伏發(fā)電功率負(fù)相關(guān)性較大的因素作為模糊神經(jīng)網(wǎng)絡(luò)預(yù)測模型的輸入變量,預(yù)測精度比BP神經(jīng)網(wǎng)絡(luò)提高了10%;為解決因粒子群不能及時更新而使種群陷入局部極值的問題,文獻(xiàn)[24]提出一種動態(tài)領(lǐng)域粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的光伏功率預(yù)測方法,利用動態(tài)領(lǐng)域?qū)αW尤哼M(jìn)行動態(tài)劃分,通過改進(jìn)后的粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,得到更高的預(yù)測精度。
有關(guān)光伏發(fā)電功率預(yù)測的方法國內(nèi)外學(xué)者一直在不斷的探索中,已經(jīng)取得了一定的研究成果,而BP神經(jīng)網(wǎng)絡(luò)作為經(jīng)典的神經(jīng)網(wǎng)絡(luò)算法自適應(yīng)能力以及容錯性能非常強(qiáng),近年來在光伏發(fā)電功率中得到了廣泛應(yīng)用,但是BP神經(jīng)網(wǎng)絡(luò)光伏發(fā)電功率預(yù)測模型存在預(yù)測精度低、可能產(chǎn)生過度擬合情況以及易陷入局部最優(yōu)等問題。針對BP神經(jīng)網(wǎng)絡(luò)模型的缺點(diǎn),文中通過分析光伏發(fā)電功率與輻照度、溫度、濕度、風(fēng)速等氣象因子之間的相關(guān)性,建立基于煙花算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的光伏發(fā)電功率預(yù)測模型。利用煙花算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化,使神經(jīng)網(wǎng)絡(luò)的尋優(yōu)能力進(jìn)一步提高,從而能夠更精確地對光伏發(fā)電輸出功率進(jìn)行預(yù)測。
所獲取的數(shù)據(jù)中影響光伏電站輸出功率的主要?dú)庀笠蛩赜休椪斩取囟?、濕度、風(fēng)速、壓強(qiáng)等,它們的采集時間間隔是15 min,這些數(shù)據(jù)都是通過數(shù)據(jù)采集設(shè)備采集得到的。由于設(shè)備在數(shù)據(jù)采集和傳輸過程中可能存在失誤,導(dǎo)致海量的原始數(shù)據(jù)中存在不完整、有異常的數(shù)據(jù),歷史數(shù)據(jù)的異常將會對光伏功率的預(yù)測效果產(chǎn)生較大影響。一方面,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練依賴歷史數(shù)據(jù),數(shù)據(jù)的不準(zhǔn)確性會干擾神經(jīng)網(wǎng)絡(luò)模型對光伏發(fā)電規(guī)律的正確訓(xùn)練,導(dǎo)致訓(xùn)練效果不佳,預(yù)測精度不準(zhǔn)確;另一方面將異常數(shù)據(jù)作為校驗(yàn)神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果的實(shí)際值,會造成對預(yù)測結(jié)果的錯誤估計,所以需要對數(shù)據(jù)進(jìn)行預(yù)處理。數(shù)據(jù)預(yù)處理一方面是為了提高數(shù)據(jù)的質(zhì)量,另一方面是為了讓數(shù)據(jù)能更好地適應(yīng)特定地挖掘算法或工具。
異常值是指樣本中的個別值,其數(shù)值明顯偏離其余的觀測值。光伏功率及氣象因素數(shù)據(jù)服從正態(tài)分布,所以文中選取3σ原則進(jìn)行異常值檢測。根據(jù)正態(tài)分布的定義可知,距離平均值3σ之外的概率為P(|X-μ|>3σ)<=0.003,這屬于極小概率事件,在默認(rèn)情況下可以認(rèn)定,距離超過平均值3σ的樣本是不存在的,因此當(dāng)觀測值與平均值的差別如果超過3倍標(biāo)準(zhǔn)差,那么可以將其視為異常值。
檢測出異常值之后需要根據(jù)某種選擇標(biāo)準(zhǔn)選擇合適的備選值替換異常值。分析光伏功率數(shù)據(jù)和氣象數(shù)據(jù),每一時間點(diǎn)的光伏發(fā)電功率數(shù)據(jù)都有其作用,所以刪除法不適合。光伏發(fā)電功率數(shù)據(jù)與氣象數(shù)據(jù)都有很強(qiáng)的連續(xù)性,即相鄰幾個時刻的數(shù)據(jù)變化不是很大,所以文中采用插補(bǔ)法中的K近鄰法來補(bǔ)全異常值。
在給定一個數(shù)據(jù)樣本中,算法根據(jù)異常值附近k個最近鄰的數(shù)據(jù)得到這k個數(shù)據(jù)的平均值,然后將這個平均值填入異常值處,算法如公式(1)所示。
(1)
其中,xi-k是異常值前面第k個數(shù)據(jù),xi+k是異常值后面第k個數(shù)據(jù)。
不同評價指標(biāo)往往具有不同的量綱和量綱單位,這樣會影響到數(shù)據(jù)分析的結(jié)果,為了消除指標(biāo)之間的量綱影響,需要進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,以解決數(shù)據(jù)指標(biāo)之間的可比性。其中,最典型的就是數(shù)據(jù)歸一化處理。
光伏功率和氣象數(shù)據(jù)的單位不同,數(shù)值的大小也有差別,把它們直接作為功率預(yù)測模型的輸入數(shù)據(jù)會影響預(yù)測精度,不能保證實(shí)驗(yàn)結(jié)果的有效性;另一方面,人工神經(jīng)網(wǎng)絡(luò)使用非線性激活函數(shù),其輸出限于[0,1]或[-1,1],為了防止使用原始數(shù)據(jù)導(dǎo)致的神經(jīng)元飽和,也需要對數(shù)據(jù)進(jìn)行歸一化處理,將多種變量的數(shù)據(jù)統(tǒng)一縮放到[0,1]范圍內(nèi),本模型使用公式(2)對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。
(2)
其中,max為原始序列數(shù)據(jù)的最大值,min為原始序列數(shù)據(jù)的最小值,x為當(dāng)前點(diǎn)的值,x*為歸一化轉(zhuǎn)換計算的數(shù)值。
在數(shù)據(jù)進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練后,神經(jīng)網(wǎng)絡(luò)輸出數(shù)據(jù)仍為[0,1]范圍內(nèi),此時還需要對輸出數(shù)據(jù)進(jìn)行反歸一化處理,使其重新變?yōu)橛辛烤V數(shù)據(jù),反歸一化公式如公式(3)所示。
y'=y×(max-min)+min
(3)
其中,y表示神經(jīng)網(wǎng)絡(luò)輸出序列數(shù)據(jù),max與min分別表示原始序列數(shù)據(jù)的最大值和最小值,y'表示反歸一化處理后的數(shù)據(jù)。
將所有的輸入數(shù)據(jù)特征進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化,消除了不同量綱對預(yù)測模型準(zhǔn)確性造成的影響,有利于加快模型的收斂速度,提升模型的精度。
相關(guān)性分析是指對兩個或多個具備相關(guān)性的變量元素進(jìn)行分析,從而衡量兩個變量因素的相關(guān)密切程度。皮爾遜積矩相關(guān)系數(shù)最常用來衡量兩變量之間的相互關(guān)系,Pearson相關(guān)系數(shù)計算公式如下:
(4)
(1)若r>0,表明兩個變量之間是正相關(guān),即當(dāng)一個變量值增大時另一個變量值也會增大;
(2)若r<0,則表明兩個變量之間是負(fù)相關(guān),即當(dāng)一個變量值增大時另一個變量值會減??;
(3)若r=0,則表明兩個變量之間不是線性相關(guān)。
此外,r絕對值的大小反映了相關(guān)性的強(qiáng)弱, 絕對值數(shù)越大,相關(guān)性就越強(qiáng)。
影響光伏發(fā)電功率的因素眾多,而且各因素之間又有耦合性,在實(shí)際的光伏發(fā)電預(yù)測時如果考慮所有的影響因素,會增加光伏電站功率預(yù)測的難度,因此使用Pearson相關(guān)系數(shù)來分析光伏電站輸出功率數(shù)據(jù)和各個影響因素的相關(guān)性,相關(guān)性分析結(jié)果如表1所示。
表1 輸出功率與影響因素相關(guān)性分析結(jié)果
從表1可知,在影響光伏發(fā)電功率的各個因素中,輻照度的相關(guān)系數(shù)最高,而壓強(qiáng)的相關(guān)系數(shù)最低。實(shí)驗(yàn)數(shù)據(jù)分析選取前兩個相關(guān)系數(shù)最高的特征變量(輻照度、溫度)作為下一步算法模型的輸入變量。通過篩選,減少了特征數(shù)量,有助于降低計算時間和成本,另一方面,選擇相關(guān)系數(shù)更高的特征量也有利于提高功率預(yù)測模型的精度。
BP(back propagation,BP)神經(jīng)網(wǎng)絡(luò)一般是指由誤差反向傳播計算理論訓(xùn)練生成的多層前饋神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)、自適應(yīng)能力和高速尋找優(yōu)化解的能力,不需建立復(fù)雜的數(shù)學(xué)物理模型,只需提供歷史數(shù)據(jù),可以得到較好的預(yù)測效果,因此廣泛應(yīng)用于預(yù)測領(lǐng)域。煙花算法產(chǎn)生正常火星的過程為算法提供了搜索能力,產(chǎn)生特殊火星的過程和選擇過程為算法提供了跳出局部最優(yōu)的能力。由于光伏陣列輸出功率是一個非平穩(wěn)隨機(jī)過程,進(jìn)入BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的初始值不規(guī)律,利用煙花算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,可以使得BP神經(jīng)網(wǎng)絡(luò)能夠更好地對數(shù)據(jù)進(jìn)行訓(xùn)練和預(yù)測。
輸入層、隱藏層和輸出層為BP神經(jīng)網(wǎng)絡(luò)的基本組成結(jié)構(gòu)。文中BP神經(jīng)網(wǎng)絡(luò)的輸入變量為預(yù)測日前兩天的功率、輻照度、溫度、預(yù)測日當(dāng)天的輻照度和溫度,也就是說BP神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)數(shù)為8個,輸出節(jié)點(diǎn)數(shù)1個,為預(yù)測日某一時刻的光伏輸出功率。對于隱含層節(jié)點(diǎn)數(shù)的確定,首先通過經(jīng)驗(yàn)公式(5)得到隱含層節(jié)點(diǎn)數(shù)的范圍,然后經(jīng)過反復(fù)測試,將隱含層節(jié)點(diǎn)數(shù)設(shè)為4個。
(5)
其中,m和n分別表示神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)和輸出層節(jié)點(diǎn)數(shù),a為0~10之間的常數(shù)。
在神經(jīng)網(wǎng)絡(luò)的預(yù)測模型中,輸入層、輸出層的激活函數(shù)都采用sigmoid函數(shù),神經(jīng)網(wǎng)絡(luò)的訓(xùn)練主要采用梯度下降法。
網(wǎng)絡(luò)學(xué)習(xí)率是神經(jīng)網(wǎng)絡(luò)的關(guān)鍵參數(shù)之一,學(xué)習(xí)率越低,損失函數(shù)的變化速度就越慢,收斂時間就越長,而且容易陷入局部最優(yōu);學(xué)習(xí)率過大,在算法優(yōu)化的前期可以加速學(xué)習(xí),使得模型更容易接近局部或全局最優(yōu)解,但是在后期會有較大的波動,甚至?xí)霈F(xiàn)損失函數(shù)的值在最優(yōu)解附近徘徊的情況。動量因子主要是為了加快網(wǎng)絡(luò)的收斂速度,本研究中網(wǎng)絡(luò)學(xué)習(xí)率和動量因子的選取是多次調(diào)試出來的。迭代次數(shù)主要考慮到運(yùn)行時間和網(wǎng)絡(luò)是否充分迭代更新,迭代次數(shù)過大會導(dǎo)致運(yùn)行時間過長,迭代次數(shù)過小,運(yùn)行快但會導(dǎo)致迭代不充分,網(wǎng)絡(luò)還有優(yōu)化的空間,迭代次數(shù)一般取100~500,視運(yùn)行情況而定。
參數(shù)設(shè)置具體情況如表2所示。
表2 神經(jīng)網(wǎng)絡(luò)關(guān)鍵參數(shù)
煙花算法是受到夜空中煙花爆炸的啟發(fā)而提出的一種群體智能算法,主要由爆炸算子、變異操作、映射規(guī)則和選擇策略四大部分組成。
煙花算法的具體步驟如下:
Step1 種群初始化。在特定解空間中隨機(jī)產(chǎn)生一些煙花,每一個煙花個體xi代表解空間的一個解。
Step2 計算適應(yīng)度。對初始種群中的每一個煙花個體xi,根據(jù)適應(yīng)度函數(shù)f(x)計算適應(yīng)度值f(xi),并根據(jù)公式(6)~(7)計算每個煙花爆炸產(chǎn)生煙花的個數(shù)Si和爆炸半徑Ai。
(6)
(7)
Step3 生成火花。隨機(jī)選取煙花個體中xi的z個維度z=rand(1,d×rand(0,Ri)),組成集合Z,其中,rand(0,Ri)為爆炸半徑Ai內(nèi)生成的隨機(jī)數(shù)。在集合Z中,對于煙花個體中xi的每個維度k,用公式(8)-(9)進(jìn)行爆炸變異操作,通過公式(10)中的高斯變異映射規(guī)則對超出邊界的火花進(jìn)行映射處理并保存在火花種群中。
h=Ai×rand(1,-1)
(8)
exik=xik+h
(9)
mxik=xik×e
(10)
其中,h為位置偏移量,xik為種群中的i個煙花個體的第k維,exik為第i個煙花個體爆炸后的火花,mxik為xik經(jīng)過高斯變異后的高斯變異火花,其中e為服從均值為1,方差為1的高斯分布的隨機(jī)數(shù),則有e~N(1,1)。
Step4 選擇下一代群體。應(yīng)用策略選擇得到下一代煙花群體,即從煙花、爆炸火花及高斯變異火花種群中選擇N個煙花個體形成候選種群。對于候選煙花種群K,選擇策略如下:選擇適應(yīng)度值最小的min(f(xi))個體xk直接為下一代煙花種群個體,其余的N-1個煙花個體采取輪盤賭方式,對于候選個體xi其被選擇的概率如式(11):
(11)
其中,R(xi)表示煙花個體xi與其他個體的距離之和,具體公式如式(12):
(12)
Step5 判斷終止條件。若滿足終止條件,則停止迭代,否則繼續(xù)執(zhí)行Step2。
根據(jù)煙花算法的步驟對其關(guān)鍵參數(shù)進(jìn)行如下設(shè)置:種群大小決定了火花的多樣性,種群越大,火花種類越多,但運(yùn)行時間也會越長,種群大小一般選5;半徑調(diào)節(jié)參數(shù)決定了火花爆炸的范圍和震動幅度,半徑調(diào)節(jié)常數(shù)越大則全局探索能力越強(qiáng),但局部搜索能力會減弱,一般取20;火花數(shù)決定了爆炸新生的火花個數(shù),個數(shù)越多,找到最優(yōu)解可能性越大,但需要的時間越長,為了減少運(yùn)行時間,所以火花數(shù)取值較??;火花上下限用于限制火花數(shù)量,使每一個火花都能爆炸出新的火花數(shù),其取值與火花調(diào)節(jié)常數(shù)有關(guān);變異火花數(shù)主要用于增強(qiáng)全局探索能力;迭代次數(shù)一般取100~500,迭代次數(shù)大則運(yùn)行速度慢,本次實(shí)驗(yàn)迭代次數(shù)設(shè)置為100。
具體的參數(shù)設(shè)置如表3所示。
表3 煙花算法關(guān)鍵參數(shù)
為了驗(yàn)證煙花算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的有效性,本實(shí)驗(yàn)將所提算法與單一BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行對比,其中BP神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置保持一致,GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型中遺傳算法的關(guān)鍵參數(shù)值如表4所示。
表4 遺傳算法關(guān)鍵參數(shù)
BP神經(jīng)網(wǎng)絡(luò)有兩個明顯的缺點(diǎn):一是容易陷入局部極小值,二是收斂速度慢。煙花算法具有機(jī)理簡單和尋優(yōu)能力強(qiáng)的優(yōu)點(diǎn),文中將煙花算法引入神經(jīng)網(wǎng)絡(luò)模型中對神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值進(jìn)行優(yōu)化實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的最有效學(xué)習(xí)和預(yù)測。
基于FWA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的算法流程如圖1所示。
圖1 FWA-BP神經(jīng)網(wǎng)絡(luò)算法流程
在衡量模型的性能時,通常選取以下四個誤差指標(biāo):均方根誤差(root mean square error,RMSE)、平均絕對誤差(mean absolute error,MAE)、均方誤差(mean square error,MSE)以及平均絕對百分比誤差(mean absolute percentage error,MAPE)。
RMSE是先對誤差進(jìn)行平方的累加然后再開方,對異常值比較敏感,在衡量中使RMSE的值越小其意義越大,因?yàn)樗闹的芊从吵銎渥畲笳`差也是較小的;MAE是一種基礎(chǔ)性的考察誤差的指標(biāo),是絕對誤差的平均值,反映的就是真實(shí)的誤差;MSE作為平方效果后的誤差,側(cè)重放大方法偏差較大的誤差,可以用來評估一個模型的穩(wěn)定性;MAPE不僅考慮預(yù)測值與真實(shí)值的誤差,同時更能顯現(xiàn)出誤差與真實(shí)值的比率。
假定預(yù)測值為x={x1,x2,…,xn},真實(shí)值為y={y1,y2,…,yn},四種指標(biāo)的計算公式分別為:
(13)
(14)
(15)
(16)
除了以上四種評價模型的指標(biāo),還有訓(xùn)練誤差和測試誤差也是用來做模型評價的指標(biāo)。訓(xùn)練誤差是模型在訓(xùn)練集上的誤差平均值,它用來度量模型對訓(xùn)練集擬合的情況。訓(xùn)練誤差大說明對訓(xùn)練集特性學(xué)習(xí)得不夠,訓(xùn)練集太小則說明過度學(xué)習(xí)了訓(xùn)練集特性,容易發(fā)生過擬合;測試誤差是模型在測試集上的誤差平均值,它用來度量模型得泛化能力,測試誤差越小越好。
為了驗(yàn)證基于FWA-BP神經(jīng)網(wǎng)絡(luò)模型在光伏發(fā)電功率預(yù)測方面的預(yù)測性能,在選取相同的訓(xùn)練參數(shù)、采用相同的數(shù)據(jù)集的條件下,分別對BP神經(jīng)網(wǎng)絡(luò)、FWA-BP神經(jīng)網(wǎng)絡(luò)以及GA-BP神經(jīng)網(wǎng)絡(luò)的光伏發(fā)電功率預(yù)測模型進(jìn)行訓(xùn)練和測試。
本研究采用DC競賽光伏發(fā)電輸出功率預(yù)測數(shù)據(jù),截取其中2018年全年數(shù)據(jù)作分析。數(shù)據(jù)集包括一天中8:00-17:00每15 min的輻照度、溫度以及對應(yīng)的光伏電站每15 min的歷史發(fā)電功率。選取數(shù)據(jù)集中的前80%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,對預(yù)測模型進(jìn)行訓(xùn)練,選取數(shù)據(jù)集中后20%的數(shù)據(jù)作為測試數(shù)據(jù)集,用來對模型進(jìn)行測試和驗(yàn)證。
運(yùn)用FWA+BP算法訓(xùn)練的光伏發(fā)電功率預(yù)測模型的測試結(jié)果如圖2所示。從圖的預(yù)測曲線和實(shí)際曲線的重合程度來看,F(xiàn)WA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型的曲線重合程度較高,說明預(yù)測值是非常接近于實(shí)際值的。
為了驗(yàn)證文中提出的FWA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的優(yōu)越性,實(shí)驗(yàn)還對單一的BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò)這兩種模型進(jìn)行預(yù)測,得到如圖3所示的不同算法功率預(yù)測結(jié)果對比圖和圖4所示的預(yù)測誤差對比圖。
從圖3可以看出,和單一的BP神經(jīng)網(wǎng)絡(luò)和GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)相比,提出的FWA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型對光伏發(fā)電功率的預(yù)測結(jié)果更接近于實(shí)際值,能夠較好地實(shí)現(xiàn)對光伏發(fā)電功率的預(yù)測。
圖2 FWA-BP神經(jīng)網(wǎng)絡(luò)模型功率預(yù)測圖
圖3 不同算法功率預(yù)測結(jié)果對比圖
在誤差方面,分析圖4可知,雖然不同的模型對于發(fā)電功率預(yù)測結(jié)果的誤差均存在波動,但基于FWA-BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型誤差波動較小,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型對于光伏發(fā)電功率預(yù)測的誤差波動較大,基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型對于發(fā)電功率預(yù)測的精度高于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型,同時低于FWA-BP神經(jīng)網(wǎng)絡(luò)功率預(yù)測模型。
進(jìn)一步通過具體的預(yù)測誤差指標(biāo)分析,如表5所列,可以看出FWA-BP神經(jīng)網(wǎng)絡(luò)光伏發(fā)電功率預(yù)測模型性能最好。特別是在MAPE指標(biāo)下,傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對于光伏發(fā)電功率預(yù)測結(jié)果的平均絕對百分比誤差為118.14%,GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對于光伏發(fā)電功率預(yù)測結(jié)果的平均絕對百分比誤差為33.80,而文中提出的FWA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對于光伏發(fā)電功率預(yù)測結(jié)果的平均絕對百分比誤差為6.01%。與BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò)模型相比,文中提出的基于FWA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對于光伏功率預(yù)測的誤差率分別下降了94.92%、81.82%。同時,F(xiàn)WA-BP神經(jīng)網(wǎng)絡(luò)模型的RMSE值為0.59,相較于其他模型更低,說明其最大誤差也是比較小的。另外,F(xiàn)WA-BP神經(jīng)網(wǎng)絡(luò)的另一誤差指標(biāo)MSE值也最低,為0.35,說明相較于其他兩個模型,F(xiàn)WA-BP神經(jīng)網(wǎng)絡(luò)光伏功率預(yù)測模型穩(wěn)定性更好。
表5 模型預(yù)測誤差指標(biāo)對比
此外,BP神經(jīng)網(wǎng)絡(luò)的平均誤差在0.012 5左右,在神經(jīng)網(wǎng)絡(luò)更新50次以后,更新權(quán)值,誤差在逐步變大,說明BP神經(jīng)網(wǎng)絡(luò)優(yōu)化已經(jīng)達(dá)到了極值點(diǎn),而遺傳算法的訓(xùn)練集誤差可以達(dá)到0.009,這說明神經(jīng)網(wǎng)絡(luò)在訓(xùn)練集上并沒有達(dá)到最優(yōu),只局限于局部極值;煙花算法的測試誤差和訓(xùn)練誤差非常接近,都為0.013左右,說明煙花算法基本不存在過擬合的情況,這點(diǎn)使得基于煙花算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)的預(yù)測數(shù)據(jù)與真實(shí)數(shù)據(jù)之間的平均絕對百分比誤差較?。贿z傳算法得到的訓(xùn)練誤差為0.012 5,測試誤差為0.015 8,與BP神經(jīng)網(wǎng)絡(luò)相比,測試誤差較大,但遺傳算法的平均絕對百分比誤差比單獨(dú)BP神經(jīng)網(wǎng)絡(luò)小,說明其誤差分布比較均衡。相比于單獨(dú)BP神經(jīng)網(wǎng)絡(luò),遺傳算法與神經(jīng)網(wǎng)絡(luò)的結(jié)合可以跳出局部最優(yōu)解,但由于是在訓(xùn)練集上最優(yōu)的解,在測試集上不一定最優(yōu)。相比煙花算法,遺傳算法的訓(xùn)練誤差較小但測試誤差較大,有過擬合的傾向。
為了保證光伏發(fā)電與電網(wǎng)電力供需的平衡,進(jìn)一步提高光伏發(fā)電功率預(yù)測的精確度,文中提出了基于煙花算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,通過數(shù)據(jù)處理和算法模型實(shí)驗(yàn)分析表明:
(1)通過數(shù)據(jù)歸一化和相關(guān)性的計算分析,降低了數(shù)據(jù)的維度,從而減少了計算成本,而且為后期提高模型精度做了相關(guān)準(zhǔn)備;
(2)通過引入煙花算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值進(jìn)行優(yōu)化,解決了BP神經(jīng)網(wǎng)絡(luò)容易陷入極小值以及收斂速度慢的缺點(diǎn),提高了預(yù)測精度;
(3)實(shí)驗(yàn)將FWA-BP神經(jīng)網(wǎng)絡(luò)模型與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)、GA-BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行比較,結(jié)果表明,F(xiàn)WA-BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果更接近實(shí)際值,誤差更小,模型更穩(wěn)定。