林鵬, 于洋, 張昕, 謝震偉, 張家豪, 王昕
(1.上海交通大學 電工與電子技術(shù)中心,上海 200240;2.國網(wǎng)吉林省電力有限公司延邊供電公司,吉林 延邊 133000)
光伏發(fā)電利用太陽能可再生的特點,可以緩解目前的能源危機問題[1]。但是光伏發(fā)電具有較大的隨機性和間歇性[2-3],若能準確地預(yù)測光伏發(fā)電功率,對電網(wǎng)的安全穩(wěn)定運行意義重大。目前許多學者利用機器學習算法結(jié)合歷史氣象信息對光伏發(fā)電功率進行預(yù)測。文獻[4]采用經(jīng)驗分解法與LSSVM相結(jié)合的預(yù)測方法,但是該方法沒有對最小二乘支持向量機(least squares support vector machine,LSSVM)的參數(shù)進行優(yōu)化。文獻[5]搭建基于相似日與改進思維進化算法優(yōu)化徑向基神經(jīng)網(wǎng)絡(luò)的光伏功率預(yù)測模型。文獻[6]利用PVPNet深度神經(jīng)網(wǎng)絡(luò)模型結(jié)合氣象因素對光伏出力進行預(yù)測,但是這兩種方法得到的預(yù)測精度都較低。
為了提高光伏發(fā)電功率預(yù)測的精度,本文提出了一種利用CRITIC加權(quán)灰色關(guān)聯(lián)度提取相似日的改進飛蛾撲火算法(improved moth-flame optimization algorithm,IMFO)優(yōu)化LSSVM的光伏發(fā)電功率短期預(yù)測方法。該方法首先在同類天氣狀況下利用CRITIC加權(quán)灰色關(guān)聯(lián)度提取相似日,由于對各氣象因素賦予了客觀權(quán)重,提高了相似日選取的優(yōu)異度。然后,利用柯西變異和自適應(yīng)權(quán)重對傳統(tǒng)的飛蛾撲火算法(moth-flame optimization algorithm ,MFO)進行改進,增強了MFO的尋優(yōu)能力。最后,搭建基于IMFO優(yōu)化LSSVM的預(yù)測模型,并利用澳大利亞某光伏電站的數(shù)據(jù)進行預(yù)測,證明本方法的優(yōu)越性。本文研究為光伏發(fā)電功率預(yù)測方面的研究提供了一定的指導(dǎo)意義。
本文選取澳大利亞DKASC某光伏電站的數(shù)據(jù)樣本進行分析。將數(shù)據(jù)進行無量綱化處理,繪制出2017年12月9日光伏發(fā)電功率與溫度、濕度、直接輻射強度和漫射輻射強度的關(guān)系,如圖1所示。
由圖1可知,該日的功率輸出與溫度、水平輻射度和漫射輻射度有很強的正相關(guān)性,而與濕度有負相關(guān)性。為了研究各因素之間相關(guān)性大小,引入pearson相關(guān)系數(shù)ρ進行分析,其計算公式為:
圖1 光伏功率與各氣象因素歸一化結(jié)果
(1)
通過式(1)計算出所選擇樣本數(shù)據(jù)晴天天氣狀況下功率與溫度、濕度、水平輻射度和漫射輻射度的相關(guān)性,分別為0.198、-0.229、0.857、0.348??芍捷椛涠扰c功率的正相關(guān)性最強,其次為漫射輻射度和溫度,而濕度與功率的輸出呈負相關(guān)。因此,可以根據(jù)各氣象因素對光伏輸出功率的相關(guān)性不同,在相似日提取過程中計算各氣象因素的權(quán)重。
1.2.1 灰色關(guān)聯(lián)度
(2)
(3)
1.2.2 CRITIC方法
CRITIC方法是一種客觀賦權(quán)的方法,求取各氣象因素對光伏發(fā)電功率輸出的客觀權(quán)重是以各氣象因素指標內(nèi)數(shù)據(jù)的對比強度和沖突性來綜合衡量的。
設(shè)Ck為第k個氣象因素所包含的信息量,Ck的計算式為:
(4)
式中:σk為第k個氣象因素的標準差;ρkv為氣象因素k與氣象因素v之間的相關(guān)系數(shù)。第k個氣象因素的客觀權(quán)重ωk的計算式為:
(5)
將式(5)代入到式(3)中,即可獲得歷史日與待預(yù)測日的加權(quán)灰色關(guān)聯(lián)度。
對于給定的訓練集{xj,yj},xj∈Rm為輸入,m為Rm空間的維數(shù),yj∈R為輸出,j=1,2,…,N,N為訓練樣本集個數(shù)。當LSSVM用于回歸預(yù)測時,預(yù)測模型輸出y的計算式為[7]:
(6)
式中:θ為核參數(shù);b為偏移量;αj為包含正則化參數(shù)η的函數(shù)。
2.2.1 飛蛾撲火算法
在飛蛾撲火算法中首先假設(shè)候選解是飛蛾,把飛蛾在空間中的位置作為問題的變量,飛蛾通過飛行改變其在空間中的位置尋找最優(yōu)解。飛蛾的集合用矩陣U為:
(7)
式中:n為飛蛾的數(shù)量;d為變量的維度。用矩陣OU=[OU1,OU2,…,OUn]T存儲飛蛾適應(yīng)度值,適應(yīng)度值可以通過當前飛蛾的位置代入適應(yīng)度函數(shù)獲得,每代飛蛾可以按照適應(yīng)度值大小進行排序作為下一代火焰。
每只飛蛾通過與之對應(yīng)的火焰更新其位置,火焰的維度與飛蛾的維度相同?;鹧娴募嫌镁仃嘓為:
(8)
同樣,也有一個適應(yīng)度值矩陣OH=[OH1,OH2,…,OHn]T與矩陣H對應(yīng),用來存儲火焰當前適應(yīng)度值。飛蛾通過不斷地在火焰周圍進行迭代尋優(yōu)得到最優(yōu)解。飛蛾相對火焰更新的計算式為:
Un=S(Un,Hm)
(9)
式中:Un為第n只飛蛾;Hm為第m個火焰;S為對數(shù)螺旋函數(shù)。S的計算式為:
S(Un,Hm)=D′eBtcos(2πt)+Hm
(10)
式中:D′=|Hm-Un|為第n只飛蛾與第m個火焰的距離;B為對數(shù)螺旋函數(shù)的形狀參數(shù);t為[-1,1]間的隨機數(shù)。由飛蛾的更新公式可知,下一代飛蛾的位置與當前火焰的位置有關(guān)。通過不斷迭代更新當前飛蛾位置進行尋優(yōu),滿足要求后尋優(yōu)結(jié)束。
2.2.2 改進飛蛾撲火算法
為了平衡全局搜索和局部搜索能力,引入柯西變異來提高飛蛾撲火算法的全局搜索能力,引入自適應(yīng)權(quán)重來提高飛蛾撲火算法的局部搜索能力。
1) 柯西變異
引入柯西變異可以增加種群的多樣性,避免算法陷入局部最優(yōu),其對當前最優(yōu)解X更新的計算式為:
(11)
式中:X′為更新后的解;z為服從柯西分布的隨機數(shù)。該算法在執(zhí)行過程中,如果使用柯西變異后,適應(yīng)度值比未變異之前更優(yōu),則用此時的解替代原來的解,否則原解保持不變。
2) 自適應(yīng)權(quán)重
為了提高算法的局部搜索能力引入自適應(yīng)權(quán)重ωsa,計算式為:
(12)
式中:Tc為當前迭代次數(shù);Tmax為最大迭代次數(shù);?為比例系數(shù),在本文中?為1。那么,改進后的飛蛾相對火焰更新的計算式為
S(Un,Hm)=D′eBtcos(2πt)+ωsaHm
(13)
由式(13)可知,在迭代尋優(yōu)過程中,隨著迭代次數(shù)的增加,ωsa自適應(yīng)地減小。這樣,在初始時梯度下降比較快,當飛蛾接近火焰時,梯度下降比較慢,這樣能夠提高飛蛾的局部搜索能力。
LSSVM中正則化參數(shù) 和核參數(shù)對預(yù)測精度影響很大,利用IMFO算法對這兩個參數(shù)進行尋優(yōu)。在測試驗證過程中利用此時具有最優(yōu)參數(shù)的LSSVM模型進行預(yù)測能夠提高預(yù)測精度。IMFO優(yōu)化LSSVM模型的具體步驟如下:
步驟1:分別在晴、多云和雨三種天氣類型下隨機選取某一天作為測試樣本,測試樣本作為待預(yù)測日,余下的樣本作為當前的訓練樣本。利用CRITIC方法確定各氣象因素的權(quán)重,根據(jù)加權(quán)灰色關(guān)聯(lián)度提取與待預(yù)測日相似度最高的5 d作為新的訓練樣本,此步驟為數(shù)據(jù)預(yù)處理步驟。
步驟2:參數(shù)初始化,主要是設(shè)定最大迭代次數(shù)Tmax,初始飛蛾種群數(shù)量n,變量維度d,飛蛾的搜索空間等,在本文中設(shè)置初始飛蛾種群數(shù)量為20,最大迭代次數(shù)為100,變量維度為2,飛蛾在兩個維度的搜索空間均為[0.01 2 000]。
步驟3:初始化飛蛾的位置U,即在多維空間中隨機生成飛蛾的位置。
步驟4:根據(jù)步驟1得到的新的訓練樣本,利用步驟3初始化的飛蛾位置作為正則化參數(shù)η和核參數(shù)θ的當前值,并利用LSSVM模型計算當前的適應(yīng)度,將適應(yīng)度值存儲在OU中,適應(yīng)度值為預(yù)測結(jié)果的均方根誤差。
步驟5:適應(yīng)度值OU按照逐漸增大的順序進行排序,飛蛾根據(jù)適應(yīng)度值的位置進行重新排序,并將排序后的結(jié)果賦給火焰H,并計算當前火焰的適應(yīng)度值OH。
步驟6:根據(jù)式(13)螺旋更新飛蛾相對于火焰的位置,然后根據(jù)加權(quán)灰色關(guān)聯(lián)度提取的相似日作為訓練樣本,利用LSSVM模型計算當前的適應(yīng)度值,并將當前解進行柯西變異,根據(jù)變異前后的適應(yīng)度值的大小,選取當前最優(yōu)解。然后,飛蛾位置和火焰位置根據(jù)步驟5重新排序。
步驟7:如果滿足終止條件,則程序停止運行并將最優(yōu)結(jié)果輸出,否則返回步驟6重新運行程序。
步驟8:將此時具有最優(yōu)參數(shù)的LSSVM模型用來預(yù)測,將測試樣本的氣象因素作為輸入,用來預(yù)測輸出功率。
本文中所用的光伏數(shù)據(jù)集來自澳大利亞DKASC某光伏電站,時間為2017年12月1日至2018年2月15日7∶00—19∶00,共計77 d 數(shù)據(jù)樣本。數(shù)據(jù)集包含功率、溫度、濕度、水平輻射度和漫射輻射度。將所選樣本分為晴天、多云和雨天,其中晴天45 d,多云20 d,雨天12 d。
本文采用平均絕對誤差rMAE,均方根誤差rRMSE作為評價指標,rMAE、rRMSE的計算式分別為:
(14)
(15)
根據(jù)本文的理論基礎(chǔ)和光伏數(shù)據(jù)集,搭建預(yù)測模型進行驗證,運行環(huán)境為MATLAB 2018a,調(diào)用LSSVMlab1.8工具箱對LSSVM中正則化參數(shù)和核參數(shù)進行尋優(yōu),工具箱中其他參數(shù)保持默認設(shè)置。在晴天、多云和雨天分別隨機選取1 d 進行預(yù)測。利用未加權(quán)灰色關(guān)聯(lián)度提取相似日的MFO優(yōu)化LSSVM(未加權(quán)MFO-LSSVM)預(yù)測模型,CRITIC加權(quán)灰色關(guān)聯(lián)度提取相似日的MFO優(yōu)化LSSVM(加權(quán)MFO-LSSVM)預(yù)測模型,CRITIC加權(quán)灰色關(guān)聯(lián)度提取相似日的IMFO優(yōu)化LSSVM(加權(quán)IMFO-LSSVM)預(yù)測模型進行預(yù)測,并將結(jié)果對比。晴天、多云和雨天利用上述預(yù)測模型得到的光伏輸出功率變化分別如圖2~圖4所示。
圖2 晴天光伏功率預(yù)測結(jié)果
圖3 多云天光伏功率預(yù)測結(jié)果
圖4 雨天光伏功率預(yù)測結(jié)果
為了進一步分析各種方法的精度采用平均絕對誤差rMAE和均方根誤差rRMSE進行分析。表1為不同天氣狀況下預(yù)測結(jié)果的評價指標。從表1可以看出,利用加權(quán)MFO-LSSVM預(yù)測模型相較于未加權(quán)MFO-LSSVM預(yù)測模型在晴天、多云和雨天時平均絕對誤差分別降低了0.24、2.47和2.73,均方根誤差分別降低了0.19、2.90和3.24。這是由于未加權(quán)MFO-LSSVM預(yù)測模型在進行相似日提取時各氣象因素對光伏輸出的影響權(quán)重相同,這樣不利于尋找最優(yōu)相似日樣本。加權(quán)MFO-LSSVM預(yù)測模型在提取相似日的過程中采用了CRITIC加權(quán)灰色關(guān)聯(lián)度,賦予各氣象因素不同的客觀權(quán)重,提高了相似日選取的優(yōu)異度,因此其預(yù)測精度更高。
表1 不同預(yù)測方法下的rMAE和rRMSE
對比加權(quán)IMFO-LSSVM預(yù)測模型和加權(quán)MFO-LSSVM預(yù)測模型可以發(fā)現(xiàn),前者在晴天、多云和雨天時平均絕對誤差分別降低了0.21、3.53和4.16,均方根誤差分別降低了0.08、2.17和3.39。這是由于加權(quán)IMFO-LSSVM預(yù)測模型相較于加權(quán)MFO-LSSVM預(yù)測模型對飛蛾撲火算法進行了改進,由于傳統(tǒng)的飛蛾撲火算法容易陷入局部最優(yōu),利用柯西變異和自適應(yīng)權(quán)重分別增強了飛蛾撲火算法的全局搜索能力和局部搜索能力,這樣能夠得到更優(yōu)的正則化參數(shù)η和核參數(shù)θ,因此加權(quán)IMFO-LSSVM預(yù)測模型得到的預(yù)測精度更高。綜上可以看出無論是在晴天、多云還是雨天,加權(quán)IMFO-LSSVM光伏發(fā)電功率預(yù)測模型比其他預(yù)測模型得到的預(yù)測精度更好。
本文利用CRITIC加權(quán)灰色關(guān)聯(lián)度提取相似日與IMFO優(yōu)化LSSVM的預(yù)測模型對光伏發(fā)電功率進行了研究。通過CRITIC加權(quán)灰色關(guān)聯(lián)度提高了相似日選擇的優(yōu)異度,通過自適應(yīng)權(quán)重和柯西變異增強了傳統(tǒng)飛蛾撲火算法的尋優(yōu)能力,所得結(jié)果相對其他方法預(yù)測精度較高。本文的研究可以為光伏發(fā)電功率預(yù)測的研究提供一定的指導(dǎo)意義。