張 波,王曉晨,周 旺,陳志華,王劍強(qiáng)
(國家電網(wǎng)金華供電公司,浙江 金華 321017)
隨著社會的快速發(fā)展,電力需求量越來越大。當(dāng)前我國主要依靠火力發(fā)電,火力發(fā)電主要來源于煤、天然氣和石油等化石燃料燃燒,但大量使用這些化石燃料已經(jīng)造成了化石燃料的巨大消耗和環(huán)境污染問題[1-2]。鑒于這些事實,人們已經(jīng)深入探索使用替代能源來滿足電力需求,其中可再生能源(如太陽風(fēng)、風(fēng)能等)在全球范圍內(nèi)得到了極大關(guān)注。與傳統(tǒng)能源相比,可再生能源具有溫室氣體排放極低、使用壽命長、成本低等優(yōu)點,是一種環(huán)境友好型能源[3-4]。盡管近年來我國大力推進(jìn)可再生能源,如太陽能和風(fēng)能,但是發(fā)電量非常少[5-6],2020年國家更是出臺了關(guān)于“碳中和碳達(dá)峰”的政策,目的是控制碳的排放量并大力發(fā)展新能源[7]。
太陽能發(fā)電主要分為太陽能熱發(fā)電和光伏發(fā)電,其中光伏發(fā)電每年以較快的速度增長。然而,光伏發(fā)電依賴于各種因素,如氣候條件、風(fēng)壓、濕度、太陽輻射、環(huán)境溫度和組件溫度。由于光照的隨機(jī)性和晝夜的周期性,光伏電站發(fā)電具有典型的波動性和間歇性特征[8]。太陽能輸出功率的突變會對電力系統(tǒng)的可靠性、穩(wěn)定性和規(guī)劃產(chǎn)生影響。為了避免這種情況的發(fā)生,需要對光伏發(fā)電功率進(jìn)行準(zhǔn)確預(yù)測。
光伏發(fā)電功率預(yù)測方法主要有3類。第一類是基于物理模型;第二類是傳統(tǒng)的時間系列分析方法;第三類是機(jī)器學(xué)習(xí)算法。物理方法是根據(jù)光伏發(fā)電原理建立的數(shù)學(xué)模型,利用數(shù)值天氣預(yù)報獲得的太陽輻射、溫度、濕度、云量、氣壓和風(fēng)速,結(jié)合光伏系統(tǒng)安裝角度、光伏陣列轉(zhuǎn)換效率建立物理模型,然后直接計算光伏發(fā)電功率。物理預(yù)測模型不需要歷史數(shù)據(jù),僅依賴于詳細(xì)的站點地理信息、準(zhǔn)確的氣象數(shù)據(jù)和完整的數(shù)據(jù)光伏電池的信息[9]。由于認(rèn)知程度的關(guān)系,所建立的物理相關(guān)模型存在一定的誤差,且模型需要依賴經(jīng)驗參數(shù)(閾值),而不同區(qū)域之間的經(jīng)驗參數(shù)不同,導(dǎo)致局部抗干擾能力差、魯棒性弱[10]。
常用的統(tǒng)計預(yù)測方法有時間序列法[11]、回歸分析法[12]、灰色理論[13]、模糊理論[14]、時空相關(guān)法[15]。統(tǒng)計方法是通過對處理過的太陽輻射、光伏發(fā)電出力等歷史數(shù)據(jù)進(jìn)行曲線擬合、參數(shù)估計和相關(guān)分析,建立投入產(chǎn)出數(shù)據(jù)之間的相關(guān)映射關(guān)系,從而實現(xiàn)對未來光伏發(fā)電產(chǎn)量的預(yù)測。與物理方法不同,統(tǒng)計建模不需要對復(fù)雜的光電轉(zhuǎn)換關(guān)系有清晰完整的認(rèn)識,對光伏系統(tǒng)進(jìn)行初步的了解,僅通過數(shù)據(jù)分析技術(shù)實現(xiàn)。
然而,這種技術(shù)通常產(chǎn)生低精度的預(yù)測,也不能很好地處理非線性數(shù)據(jù)。鑒于機(jī)器學(xué)習(xí)具有高效提取高維復(fù)雜非線性特征并將其直接映射到輸出的能力,因此已成為最常用的時間序列預(yù)測方法之一。Antonanzas等學(xué)者使用支持向量機(jī)(SVM)和隨機(jī)森林(RandFore)機(jī)器學(xué)習(xí)技術(shù)預(yù)測光伏發(fā)電功率[16]。Leva等學(xué)者利用人工神經(jīng)網(wǎng)絡(luò)(ANN)基于天氣預(yù)報數(shù)據(jù)預(yù)測每日的PV輸出功率[17]。Wang等學(xué)者比較了深度學(xué)習(xí)模型,包括卷積神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)以及它們的組合,用于光伏發(fā)電功率預(yù)測[18]。文獻(xiàn)[19]提出了一種基于ANN的太陽能發(fā)電預(yù)測模型,并在研究中選擇氣象數(shù)據(jù)作為模型的輸入。結(jié)果表明,基于人工神經(jīng)網(wǎng)絡(luò)預(yù)測模型的預(yù)測性能優(yōu)于一些典型的物理和統(tǒng)計預(yù)測模型。深度神經(jīng)網(wǎng)絡(luò)具有比淺層神經(jīng)網(wǎng)絡(luò)更高的特征提取能力,能顯著改善淺層神經(jīng)網(wǎng)絡(luò)的梯度消失問題,已經(jīng)被證明是時間序列預(yù)測的非常強(qiáng)大的工具。常見的深度神經(jīng)網(wǎng)絡(luò)(DNN)主要有卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)(CNN)、深度信念網(wǎng)絡(luò)(DBN)、堆疊去噪自動編碼器(SDAE)和長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)、門控循環(huán)單元(GRU)、一維卷積神經(jīng)網(wǎng)絡(luò)(CNN1D)和其他混合架構(gòu)[20]。Gensler等學(xué)者采用編碼器和LSTM對光伏發(fā)電功率進(jìn)行預(yù)測。結(jié)果表明,與眾所周知的多層感知器網(wǎng)絡(luò)(MLP)相比,Auto-LSTM具有較好的效果[21]。De團(tuán)隊提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)的LSTM算法進(jìn)行光伏發(fā)電功率預(yù)測[22]。Mellit等學(xué)者對比了多種深度學(xué)習(xí)算法的光伏發(fā)電功率預(yù)測結(jié)果,這些算法包括長短期記憶(LSTM)、雙向LSTM (BiLSTM)、門控循環(huán)單元(GRU)、雙向GRU (BiGRU)以及混合一維卷積神經(jīng)網(wǎng)絡(luò)。結(jié)果表明,這些深度神經(jīng)網(wǎng)絡(luò)算法預(yù)測結(jié)果都很準(zhǔn),當(dāng)預(yù)測時間窗口非常短時,預(yù)測更準(zhǔn)確[23]。
本文將采用機(jī)器學(xué)習(xí)算法,包括4個傳統(tǒng)機(jī)器學(xué)習(xí)算法和2個深度學(xué)習(xí)算法,預(yù)測金華市3個地區(qū)(萬里揚(yáng)發(fā)電站、領(lǐng)跑發(fā)電站、蒙牛乳業(yè)發(fā)電站)的光伏發(fā)電功率。因為光伏發(fā)電功率數(shù)據(jù)中沒有天氣信息,本文擬首先通過網(wǎng)絡(luò)爬蟲獲取對應(yīng)時間的天氣數(shù)據(jù),將這些天氣信息作為輸入,對不同類型天氣預(yù)測光伏發(fā)電功率。
國家電網(wǎng)金華供電公司有浙江省金華市3個光伏發(fā)電站數(shù)據(jù),分別是萬里揚(yáng)光伏發(fā)電站、零跑光伏發(fā)電站和蒙牛乳業(yè)發(fā)電站。時間段:2020年1月1日—2020年1月25日和2021年5月1日—2021年5月20日,以每5分鐘記錄的數(shù)據(jù),其中2021年5月8日—2021年5月11日四天的數(shù)據(jù)缺失,因此一共有57 d以每5分鐘記錄的光伏發(fā)電功率數(shù)據(jù)。
由于光伏發(fā)電功率主要受天氣影響,本文首先分析不同天氣下光伏發(fā)電功率(MW)。不妨將晴天、晴天轉(zhuǎn)多云設(shè)為“晴天”,將多云、多云轉(zhuǎn)陰、晴轉(zhuǎn)陰設(shè)為“多云”,將陰、晴轉(zhuǎn)小雨、多云轉(zhuǎn)小雨設(shè)為“陰”,將其他天氣如陰轉(zhuǎn)小雨、雷陣雨、大中小雨和其他惡劣天氣設(shè)為“雨雪等天氣”。從2020年1月1日—2020年1月25日和從2021年5月1日—2021年5月20日金華市這4類天氣的天數(shù)分別為7 d、8 d、10 d和40 d。
為了預(yù)測4類天氣光伏發(fā)電功率,本文分析4類天氣的發(fā)電功率與時間的變化關(guān)系。不妨從數(shù)據(jù)集中隨機(jī)選擇5 d四種天氣類型(見圖1),可以發(fā)現(xiàn)晴朗的天氣光伏發(fā)電較為穩(wěn)定,而陰天和雨雪等天氣光伏發(fā)電功率的波動性很大,表明光伏發(fā)電功率受天氣影響非常大。從圖1中可以看出一般6:00以后光伏發(fā)電站才能收集到發(fā)電數(shù)據(jù),19:00以后幾乎收集不到發(fā)電數(shù)據(jù),表明光伏發(fā)電時間段集中于6:00—19:00。
圖1 四類天氣的每5分鐘的光伏發(fā)電功率(MW)(隨機(jī)選擇5 d數(shù)據(jù))
為了更準(zhǔn)確地預(yù)測光伏發(fā)電功率,本位期望預(yù)測出每5分鐘的光伏發(fā)電功率。通過網(wǎng)絡(luò)爬蟲,獲取了每小時的天氣信息,包括濕度(humidity)、AQI(空氣質(zhì)量指數(shù))、weather(天氣)、wind(風(fēng)向)、winp(風(fēng)速)、temp(溫度:攝氏度)。前5行數(shù)據(jù)如表1所示。
表1 爬取的金華市2020年1月1日前5小時的天氣數(shù)據(jù)
本文僅僅能爬取每小時的天氣信息,同時假設(shè)每小時內(nèi)天氣變化不大,為了能匹配光伏發(fā)電站以每5分鐘收集的數(shù)據(jù),將爬取的天氣數(shù)據(jù)復(fù)制12次,即每小時內(nèi)的天氣信息相同。理論上光伏發(fā)電與光照強(qiáng)度非常相關(guān),但是筆者爬取不到光照強(qiáng)度數(shù)據(jù)。因此擬通過上述特征作為輸入,預(yù)測每5分鐘的光伏發(fā)電功率。
1)數(shù)值類型Z-score標(biāo)準(zhǔn)化方法。
(1)
2)字符類型特征數(shù)值化方法?;谀硞€特征,找出所有不同的字符串及個數(shù),將不同字符串用整數(shù)標(biāo)號,最后再對這一特征進(jìn)行Z-score標(biāo)準(zhǔn)化處理。
本文采用6種算法預(yù)測網(wǎng)絡(luò)異常行為和預(yù)測安全威脅等級,分別為貝葉斯算法(Byes),K最近鄰算法(KNN),支持向量機(jī)(SVM),隨機(jī)森林(RandFore)以及2個深度學(xué)習(xí)算法,即多層人工神經(jīng)網(wǎng)絡(luò)(BP)和雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-LSTM)。
這些算法可以從Python中的第三方庫直接調(diào)用。對于貝葉斯算法(Byes),K最近鄰算法(KNN),支持向量機(jī)(SVM),隨機(jī)森林(RandFore)4種算法,本文直接用默認(rèn)參數(shù),對于BP和Bi-LSTM算法,采用3個隱藏層,每層神經(jīng)元數(shù)量為64個,最后一層采用全連接層。為了減少或避免進(jìn)入局部最優(yōu)解和過擬合,dropout設(shè)為0.2,即隨機(jī)將20%的神經(jīng)元當(dāng)作遺忘。運(yùn)算批量大小batch_size為200。
為了研究預(yù)測效果,給出3種預(yù)測準(zhǔn)確度的評價指標(biāo),分別為均方根誤差RMSE,平均絕對誤差MAE,R2分?jǐn)?shù)。
均方根誤差(RMSE):用于刻畫預(yù)測值存在多大的誤差。其計算公式如下:
(2)
平均絕對誤差(MAE):用于評估預(yù)測值與真實值之間的平均絕對誤差,與RMSE一樣,MAE值越小越好。其計算公式如下:
(3)
R2分?jǐn)?shù)(R-Squre score):反映預(yù)測結(jié)果大概有多準(zhǔn)。其定義如下:
(4)
其中,R2≤1,其值越大預(yù)測得越準(zhǔn)。當(dāng)R2小于0時,表示預(yù)測結(jié)果非常差。
基于上述算法和評估指標(biāo),對4類天氣以每5分鐘為單位的光伏發(fā)電進(jìn)行預(yù)測。不妨選擇2020年1月8日(“晴天”)、2020年1月20日(“多云”)、2020年1月22日(“陰”)、2021年5月17日(“雨雪等”)四天作為測試集進(jìn)行預(yù)測,其他數(shù)據(jù)作為訓(xùn)練集。如表2所示,從3個指標(biāo)的結(jié)果揭示Bi-LSTM算法占據(jù)絕對優(yōu)勢,除了2020年1月22日中的BP算法在MAE指標(biāo)高于Bi-LSTM外,其他所有數(shù)據(jù)都顯示Bi-LSTM更好。其他4個傳統(tǒng)機(jī)器學(xué)習(xí)算法中隨機(jī)森林預(yù)測結(jié)果更準(zhǔn),之后是最近鄰KNN算法,貝葉斯Byes和支持向量機(jī)SVM兩個算法預(yù)測結(jié)果較差。此外,筆者還發(fā)現(xiàn),“晴天”和“多云”2類天氣預(yù)測得更準(zhǔn),而“陰”和“雨雪等”2類天氣預(yù)測結(jié)果相對較差,R2指標(biāo)甚至出現(xiàn)負(fù)數(shù),表明預(yù)測結(jié)果很差。
表2 基于不同光伏功率預(yù)測算法下的3種評估指標(biāo)結(jié)果
為了更好地顯示和對比各類算法的預(yù)測結(jié)果,筆者給出上述各類天氣的可視化預(yù)測結(jié)果和真實結(jié)果對照圖,這里僅僅展示“多云”和“雨雪等天氣”的預(yù)測結(jié)果,如圖2和圖3所示。從圖2中可以明顯看出BP和Bi-LSTM兩種算法的預(yù)測結(jié)果明顯好于其他4種,尤其是Bi-LSTM算法的預(yù)測結(jié)果顯示在光伏發(fā)電功率的最高值時有點偏差,其他時刻預(yù)測非常準(zhǔn)確。Byes算法和SVM算法預(yù)測結(jié)果非常差。
圖2 六種算法對2020年1月8日(“多云”)光伏發(fā)電功率P(MW)預(yù)測結(jié)果
圖3 六種算法對2021年5月17日(“雨雪等”)光伏發(fā)電P(MW)預(yù)測結(jié)果
2021年5月17日“雨雪等天氣”各算法光伏發(fā)電功率的預(yù)測結(jié)果(見圖3),明顯可以看出,除了Bi-LSTM算法預(yù)測結(jié)果與真實值比較吻合外,其他算法預(yù)測的結(jié)果都非常糟糕,雖然BP算法在前面的例子中展現(xiàn)了較高的預(yù)測準(zhǔn)確度,但是在本例子中預(yù)測也非常差,其主要原因可能是沒有捕捉到時間系列特征,而Bi-LSTM算法能很好地對前和后2個序列的特征進(jìn)行捕捉,因此Bi-LSTM算法預(yù)測得更準(zhǔn)。
光伏發(fā)電系統(tǒng)的出力受天氣、氣候等因素影響較大。這些特點給高比例光伏接入后的電力系統(tǒng)帶來了新的挑戰(zhàn),如增加了電網(wǎng)調(diào)度的難度和復(fù)雜性。本文利用4個傳統(tǒng)的機(jī)器學(xué)習(xí)算法和2個深度學(xué)習(xí)算法研究對金華市3個光伏發(fā)電站的光伏發(fā)電功率進(jìn)行預(yù)測。發(fā)現(xiàn)“晴天”和“多云”2種類型天氣的光伏發(fā)電功率隨著時間呈現(xiàn)較為穩(wěn)定的正態(tài)分布,而“陰”天和“雨雪等天氣”波動較大。針對這種情況,筆者爬取了天氣數(shù)據(jù),將天氣數(shù)據(jù)作為輸入特征,基于6種機(jī)器學(xué)習(xí)算法預(yù)測各類型天氣的每5分鐘光伏發(fā)電功率,模擬結(jié)果揭示,雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-LSTM)算法的預(yù)測結(jié)果最好,也最穩(wěn)定,此外,“晴天”和“多云”2種類型天氣的預(yù)測結(jié)果比“陰”天和“雨雪等天氣”預(yù)測結(jié)果更準(zhǔn)。
已有研究發(fā)現(xiàn)光伏發(fā)電功率與光照強(qiáng)度非常相關(guān)[24]。本文并沒有爬取到光照信息,如果有光照信息,預(yù)測結(jié)果很可能會進(jìn)一步提高。不少研究結(jié)果揭示采用混合算法,可能會得到更好的預(yù)測結(jié)果[25]。如Liu等學(xué)者提出了基于變分模態(tài)分解、奇異譜分析、LSTM網(wǎng)絡(luò)和ELM的混合模型,用于提高預(yù)測精度和魯棒性[26]。Wang等學(xué)者提出了一種小波變換和CNN相結(jié)合的混合預(yù)測模型,實現(xiàn)了對確定性和概率光伏功率的直接預(yù)測[27]。未來將嘗試采用混合算法預(yù)測光伏發(fā)電功率,找出預(yù)測結(jié)果更準(zhǔn)確的算法。