劉興霖,黃 超,王 龍,羅 熊
(1.北京科技大學(xué) 順德研究生院,廣東 佛山 528399;2.北京科技大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,北京 100083)
隨著煤炭、石油、天然氣等化石燃料的不斷消耗,環(huán)境、能源問(wèn)題成為世界關(guān)注的焦點(diǎn)。太陽(yáng)能作為具有高可用性且用之不竭的清潔能源,被認(rèn)為是最有前途的能源替代品之一,各國(guó)都十分重視太陽(yáng)能產(chǎn)業(yè)的發(fā)展,特別是光伏產(chǎn)業(yè)[1]。建設(shè)光伏系統(tǒng)已經(jīng)成為可持續(xù)發(fā)展的重要內(nèi)容[2]。國(guó)際能源署發(fā)布的2020年全球光伏報(bào)告顯示,截止2020年底,全球累計(jì)光伏裝機(jī)容量760.4 GW,中國(guó)、歐盟和美國(guó)的新增光伏裝機(jī)容量分別以48.2 GW、19.6 GW和19.2 GW的規(guī)模位列前三[3]。然而,具有高波動(dòng)性和間歇性的太陽(yáng)能會(huì)給電力系統(tǒng)的管理帶來(lái)巨大挑戰(zhàn)[4-5]。因此,隨著全球光伏裝機(jī)容量的不斷提升,光伏功率預(yù)測(cè)的準(zhǔn)確性對(duì)于電網(wǎng)管理和電力調(diào)度至關(guān)重要[6]。
預(yù)測(cè)方法中,有兩類常用的方法,即物理法和統(tǒng)計(jì)法。物理法的優(yōu)勢(shì)在于不需要?dú)v史運(yùn)行數(shù)據(jù),但在對(duì)復(fù)雜天氣的抗干擾能力方面有一定缺陷[7-8]。統(tǒng)計(jì)法包括線性算法如自回歸等,還包括非線性算法如人工神經(jīng)網(wǎng)絡(luò)[9]、支持向量機(jī)(support vector machine,SVM)[10]、高斯過(guò)程回歸(Gaussian process regression, GPR)[11]、深度學(xué)習(xí)(deep learning,DL)[12-14]等。深度學(xué)習(xí)具有較強(qiáng)的抗干擾性,能夠更好地挖掘出數(shù)據(jù)之間的關(guān)系。而深度學(xué)習(xí)模型中的長(zhǎng)短期記憶(long-short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)[15-16]是對(duì)循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[17]的優(yōu)化,引入了“記憶塊”,可以使得LSTM對(duì)歷史數(shù)據(jù)進(jìn)行充分的學(xué)習(xí)。K-means算法是一種經(jīng)典的聚類算法,文獻(xiàn)[18]通過(guò)K-means算法對(duì)訓(xùn)練樣本集進(jìn)行聚類分析,在聚類得到的各類別數(shù)據(jù)上分別訓(xùn)練支持向量機(jī),并根據(jù)預(yù)測(cè)樣本的類別選擇對(duì)應(yīng)的支持向量機(jī)進(jìn)行發(fā)電功率預(yù)測(cè)。
基于神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型通常以均方誤差(mean square error,MSE)為損失函數(shù)訓(xùn)練模型[19]。以MSE為損失函數(shù)訓(xùn)練模型易于收斂,但MSE對(duì)離群點(diǎn)敏感。而光伏發(fā)電功率高度依賴于太陽(yáng)輻射值,可在數(shù)分鐘內(nèi)劇烈變化,較易產(chǎn)生離群點(diǎn)。為此,以通過(guò)降低對(duì)離群點(diǎn)懲罰程度的Huber損失函數(shù)訓(xùn)練模型,可使得模型對(duì)離群點(diǎn)更加魯棒[20]。在此基礎(chǔ)上,可采用智能優(yōu)化算法對(duì)Huber損失函數(shù)中的超參數(shù)進(jìn)行優(yōu)化。而高效的全局搜索技術(shù)才能更好地解決參數(shù)尋優(yōu)問(wèn)題。鯨魚優(yōu)化算法[21](whale optimization algorithm,WOA)是一種新型啟發(fā)式優(yōu)化算法,并且已被用于優(yōu)化各個(gè)領(lǐng)域。相比于遺傳算法等傳統(tǒng)進(jìn)化算法,WOA具有計(jì)算簡(jiǎn)單和收斂速度快等優(yōu)點(diǎn)。因此,該文選擇WOA作為Huber損失函數(shù)的優(yōu)化算法。
基于以上分析,該文提出基于K-means聚類分析和LSTM算法相結(jié)合的光伏發(fā)電功率日前逐時(shí)魯棒預(yù)測(cè)模型。首先,基于K-means算法以天氣預(yù)報(bào)數(shù)據(jù)為特征將光伏數(shù)據(jù)進(jìn)行分類,再針對(duì)每一類數(shù)據(jù)分別建立基于LSTM算法的預(yù)測(cè)模型。為了提升模型的魯棒性,使用Huber損失函數(shù),并結(jié)合WOA訓(xùn)練模型。為驗(yàn)證提出的預(yù)測(cè)模型的有效性,以GEFCom2014能源預(yù)測(cè)競(jìng)賽[22]中的光伏數(shù)據(jù)開展實(shí)例研究。研究結(jié)果表明:(1)與MSE和一般的Huber損失函數(shù)相比,經(jīng)WOA優(yōu)化的Huber損失函數(shù)可有效提升模型的預(yù)測(cè)精度;(2)與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)、LSTM、Autoformer[23]、時(shí)間融合Transformers (temporal fusion transformers,TFT)[24]及基于決策樹算法的梯度提升框架模型LightGBM[25]相比,K-means與LSTM相結(jié)合的預(yù)測(cè)模型可進(jìn)一步提升預(yù)測(cè)精度。
一般來(lái)說(shuō),天氣狀況分為兩種類型:如晴空天氣與陰雨天氣,利用K-means聚類算法分析太陽(yáng)輻照度、溫度、降雨量等環(huán)境因素,按照晴空天氣與陰雨天氣各自聚類,以實(shí)現(xiàn)將數(shù)據(jù)集按照不同天氣類型分類。該算法將樣本根據(jù)相似度聚集到k個(gè)聚簇當(dāng)中,最終實(shí)現(xiàn)各個(gè)簇內(nèi)相似度高,簇間相似度低[26]。步驟如下:
步驟一:從數(shù)據(jù)集中隨機(jī)選擇k個(gè)樣本數(shù)據(jù),并作為初始聚類中心{μ1,μ2,…,μk};
步驟二:計(jì)算剩余樣本到每一個(gè)初始中心點(diǎn)的歐氏距離,選擇距離最近的初始聚類中心形成k簇。距離計(jì)算公式如式(1)所示:
(1)
式中,x為樣本空間中的樣本;μi為簇Ci的質(zhì)心。
步驟三:對(duì)各個(gè)簇重新計(jì)算聚類中心。聚類中心計(jì)算公式如式(2)所示:
(2)
最后重復(fù)步驟二和步驟三直到條件被滿足或者達(dá)到最大迭代次數(shù)而終止,終止條件為:
|μn+1-μn|≤ε
(3)
式中,ε為閾值條件。
LSTM神經(jīng)網(wǎng)絡(luò)由輸入層、隱含層和輸出層組成,其中隱含層包含輸入門、遺忘門、輸出門和具有特殊記憶細(xì)胞的神經(jīng)單元,其單元結(jié)構(gòu)如圖1所示。
圖1 LSTM單元結(jié)構(gòu)
ft=σ(WfXt+UfHt-1+bf)
(4)
it=σ(WiXt+UiHt-1+bi)
(5)
ot=σ(WoXt+UoHt-1+bo)
(6)
(7)
(8)
Ht=ottanh(Ct)
(9)
式中,ft為遺忘門;it為輸入門;ot為輸出門;C為記憶細(xì)胞狀態(tài)的向量值;W為隱藏單元的輸入權(quán)重矩陣;U為輸出權(quán)重矩陣;b為偏置向量;下標(biāo)t-1和t分別代表不同的時(shí)間步長(zhǎng);σ為sigmoid函數(shù)。
在WOA過(guò)程中,每條鯨魚都有兩種行為。一種是包圍獵物,鯨魚會(huì)迅速包圍獵物,螺旋形縮小圈。另一種是利用泡沫網(wǎng),鯨魚發(fā)現(xiàn)獵物后,排出氣泡迫使獵物聚集。在每一個(gè)迭代過(guò)程中,鯨魚會(huì)在這兩種行為之間隨機(jī)選擇進(jìn)行捕獵。為了模擬這些行為,根據(jù)隨機(jī)概率q,在每一代鯨魚中以50%的概率選擇兩種行為之一,并定義為:
(10)
該文研究基于日前逐時(shí)天氣預(yù)報(bào)信息的光伏功率預(yù)測(cè)方法。主要天氣預(yù)報(bào)信息包括:總液態(tài)水、總冰水、表面壓力、1 000毫巴時(shí)的相對(duì)濕度、總云量、10米水平風(fēng)分量、10米垂直風(fēng)分量、2米溫度、地面太陽(yáng)輻射總量、地面散熱總量、大氣頂部的凈太陽(yáng)輻射總量、總降水量。這些變量都是基于衛(wèi)星數(shù)據(jù)的預(yù)測(cè)量。
針對(duì)光伏功率特性,該文提出K-means和LSTM相結(jié)合的光伏發(fā)電功率日前逐時(shí)預(yù)測(cè)模型,即先用K-means算法以天氣預(yù)報(bào)信息為特征將數(shù)據(jù)進(jìn)行分類,再針對(duì)不同類的數(shù)據(jù)建立基于LSTM算法的預(yù)測(cè)模型。整體流程如圖2所示,對(duì)關(guān)鍵步驟的描述如下:
圖2 光伏輸出功率的預(yù)測(cè)過(guò)程
步驟一:數(shù)據(jù)預(yù)處理,如:數(shù)據(jù)歸一化以及累積變量的預(yù)處理,并劃分訓(xùn)練集和測(cè)試集。
步驟二:天氣聚類分析。從樣本數(shù)據(jù)集中總結(jié)并提煉出能夠明顯表現(xiàn)天氣類型的特征數(shù)據(jù),如單日日間的太陽(yáng)輻照度和降雨量等。利用K-means聚類算法和提取后的特征數(shù)據(jù),并根據(jù)晴空天氣和陰雨天氣設(shè)置k=2,將訓(xùn)練集和測(cè)試集分為晴空天氣訓(xùn)練集、晴空天氣測(cè)試集、陰雨天氣訓(xùn)練集和陰雨天氣測(cè)試集。
步驟三:建立基于LSTM算法的預(yù)測(cè)模型。模型輸入為時(shí)間和日前逐時(shí)天氣預(yù)報(bào)信息;模型的輸入層神經(jīng)元個(gè)數(shù)為輸入數(shù)據(jù)維度;考慮到模型擬合效果和訓(xùn)練時(shí)間,隱含層的層數(shù)設(shè)定為3層,并設(shè)定Dropout值以防止過(guò)擬合;輸出層的前一層為全連接層;模型輸出為預(yù)測(cè)時(shí)刻的發(fā)電功率。
步驟四:采用Huber損失函數(shù)(詳見2.2節(jié))訓(xùn)練LSTM神經(jīng)網(wǎng)絡(luò),同時(shí)引入WOA,針對(duì)各個(gè)模型中的Huber損失函數(shù),優(yōu)化得到對(duì)應(yīng)的超參數(shù)δ,并將采用優(yōu)化后所得到的結(jié)果與優(yōu)化前和使用MSE的結(jié)果進(jìn)行對(duì)比。
步驟五:算例驗(yàn)證與實(shí)驗(yàn)結(jié)果分析。將K-means聚類分析后的訓(xùn)練集和測(cè)試集,結(jié)合LSTM進(jìn)行訓(xùn)練和預(yù)測(cè),得到預(yù)測(cè)結(jié)果后,將其評(píng)價(jià)指標(biāo)與BP、LSTM、Autoformer、TFT及LightGBM算法進(jìn)行比較。
采用Huber損失函數(shù)用于預(yù)測(cè)模型的訓(xùn)練。Huber損失函數(shù)是一種用于回歸問(wèn)題的帶參損失函數(shù),與常用的L1、L2損失函數(shù)相比,降低了對(duì)離群點(diǎn)的懲罰程度,并結(jié)合MSE和MAE的優(yōu)點(diǎn),對(duì)異常點(diǎn)更加魯棒,以此來(lái)提高模型的魯棒性。Huber損失函數(shù)如式(11)所示。當(dāng)|pi-Pi|≤δ時(shí),Huber損失等價(jià)為MSE;當(dāng)|pi-Pi|>δ時(shí),Huber損失趨向于MAE。
(11)
式中,pi為光伏發(fā)電功率實(shí)際值;Pi為光伏發(fā)電功率預(yù)測(cè)值;δ為閾值,用來(lái)判斷模型應(yīng)如何處理異常值。
文中采用的實(shí)驗(yàn)環(huán)境為Windows10操作系統(tǒng),在Pycharm2021.1的anaconda環(huán)境下使用python進(jìn)行編程,版本號(hào)為3.6,并搭建TensorFlow框架,版本號(hào)為2.4。
所選數(shù)據(jù)集來(lái)自于2014年GEFCom2014能源預(yù)測(cè)競(jìng)賽。選擇該競(jìng)賽中光伏預(yù)測(cè)方向的數(shù)據(jù)集,該數(shù)據(jù)集取自澳大利亞某個(gè)地區(qū)的三座太陽(yáng)能發(fā)電廠,時(shí)間段為2012年4月1日至2014年7月1日,數(shù)據(jù)時(shí)間分辨率為1 h。在K-means聚類分類和建立LSTM神經(jīng)網(wǎng)絡(luò)之前對(duì)所有特征進(jìn)行歸一化處理,使得各數(shù)值統(tǒng)一取值為0到1之間。此外,光伏發(fā)電功率在原始數(shù)據(jù)中已做歸一化處理,所以在后續(xù)的評(píng)價(jià)指標(biāo)計(jì)算時(shí),得到的均為歸一化后的值。
數(shù)據(jù)預(yù)處理中首先要處理的是四個(gè)累積變量,即地面太陽(yáng)輻射總量、地面散熱下降總量、大氣頂部的凈太陽(yáng)輻射總量和總降水量。這四個(gè)變量在每一時(shí)刻的數(shù)據(jù)都是單日內(nèi)從零時(shí)起到某時(shí)的累積量,所以需要將這四個(gè)累積變量的各個(gè)時(shí)刻都處理為每小時(shí)的增量。處理后的四個(gè)新變量命名為每小時(shí)地面太陽(yáng)輻射量、每小時(shí)地面散熱量、每小時(shí)大氣頂部的凈太陽(yáng)輻射量和每小時(shí)降水量。
其次要處理的是時(shí)間戳,將時(shí)間信息字符串處理為可以直接輸入到模型中的年、月、日、小時(shí)四個(gè)變量。原始數(shù)據(jù)采用的時(shí)間是世界標(biāo)準(zhǔn)時(shí)間,但由于當(dāng)?shù)貢r(shí)間與預(yù)期的太陽(yáng)輻射進(jìn)程是匹配的,所以在后續(xù)實(shí)驗(yàn)中根據(jù)當(dāng)?shù)貢r(shí)間來(lái)處理更為便捷。最后,由于需要對(duì)三個(gè)電廠的所有數(shù)據(jù)進(jìn)行實(shí)驗(yàn),但電廠2和電廠3中存在部分無(wú)效數(shù)據(jù)。在剔除它們后,將2012年4月1日至2014年3月30日內(nèi)的數(shù)據(jù)設(shè)定為訓(xùn)練集,將2014年4月1日至2014年7月1日內(nèi)的數(shù)據(jù)設(shè)定為測(cè)試集。最終訓(xùn)練集以及測(cè)試集劃分后的天數(shù)如表1所示。
可用于天氣聚類分析的信息包括日內(nèi)24個(gè)時(shí)間點(diǎn)的氣象變量,數(shù)據(jù)維度較高。為提升天氣分類的準(zhǔn)確度,天氣預(yù)報(bào)數(shù)據(jù)中選出或衍生出更具代表意義的特征。通過(guò)分析特征與光伏發(fā)電量的相關(guān)性,選擇以下氣象變量用于天氣聚類分析:?jiǎn)稳兆罡叩孛嫣?yáng)輻射量、單日最高凈太陽(yáng)輻射量、單日日間最高降水量、單日日間最高液態(tài)水量、單日日間最高冰水量、單日日間平均云量,其中單日日間設(shè)定的時(shí)間段為6:00-18:00。結(jié)合K-means聚類算法將光伏發(fā)電日的天氣類型分為兩類,即晴空天氣和陰雨天氣。三個(gè)電廠的訓(xùn)練集和測(cè)試集天氣聚類分析結(jié)果如表1所示。
表1 各電廠訓(xùn)練集和測(cè)試集的劃分和聚類分析結(jié)果
根據(jù)3.2中的聚類結(jié)果,針對(duì)晴空天氣類型訓(xùn)練子集和陰雨天氣類型訓(xùn)練子集以及完整訓(xùn)練集分別訓(xùn)練LSTM預(yù)測(cè)模型,并依次命名為L(zhǎng)STM1、LSTM2和LSTM3。根據(jù)2.1中的LSTM網(wǎng)絡(luò)結(jié)構(gòu),基于Python的TensorFlow框架中的keras.layers.LSTM搭建LSTM神經(jīng)網(wǎng)絡(luò)。預(yù)測(cè)模型的輸入包括時(shí)間與氣象特征,共13個(gè):小時(shí)、總液態(tài)水、總冰水、表面壓力、1 000毫巴時(shí)的相對(duì)濕度、總云量、10米水平風(fēng)分量、10米垂直風(fēng)分量、2米的溫度、每小時(shí)地面太陽(yáng)輻射、每小時(shí)地面散熱下降量、每小時(shí)大氣頂部的凈太陽(yáng)輻射量和每小時(shí)降水量。同時(shí),三個(gè)LSTM模型參數(shù)設(shè)置為:第一層LSTM神經(jīng)元個(gè)數(shù)及其dropout均為50和0.4;而第二層的神經(jīng)元個(gè)數(shù)以及dropout分別設(shè)置為L(zhǎng)STM1:100、0.2,LSTM2:80、0.4,LSTM3:100、0.2;第三層神經(jīng)元個(gè)數(shù)均為50;batch_size均為32;最后的Dense層神經(jīng)元個(gè)數(shù)為1。
在LSTM模型的訓(xùn)練階段,選擇Huber損失函數(shù)并采用WOA優(yōu)化其超參數(shù)δ來(lái)提高模型的性能。由于該文預(yù)測(cè)任務(wù)中的光伏發(fā)電功率數(shù)據(jù)為歸一化值,可將需要優(yōu)化的δ的搜索范圍設(shè)定為[0.000 01,1],然后進(jìn)行迭代優(yōu)化。WOA參數(shù)設(shè)置為:種群規(guī)模為80,最大迭代次數(shù)為500。同時(shí),與使用MSE和一般Huber損失函數(shù)獲得的結(jié)果進(jìn)行對(duì)比。
以平均絕對(duì)誤差(mean absolute error,MAE)、均方根誤差(root mean square error,RMSE)、決定系數(shù)R2為指標(biāo)進(jìn)行誤差計(jì)算,計(jì)算公式為:
(12)
(13)
(14)
為展示損失函數(shù)對(duì)光伏功率預(yù)測(cè)性能的影響,分別采用MSE損失函數(shù)、一般Huber損失函數(shù)和WOA優(yōu)化后的Huber損失函數(shù)來(lái)訓(xùn)練LSTM1、LSTM2和LSTM3。表2比較了基于不同損失函數(shù)訓(xùn)練的模型在測(cè)試集上的預(yù)計(jì)精度(RMSE值)。
表2 采用不同損失函數(shù)時(shí)的RMSE誤差結(jié)果對(duì)比
表2表明,與MSE損失函數(shù)相比,采用一般Huber損失函數(shù)訓(xùn)練LSTM神經(jīng)網(wǎng)絡(luò),大多數(shù)情況下都能獲得1 %左右的精度提升。而相比于一般的Huber損失函數(shù),采用WOA優(yōu)化后的Huber損失函數(shù)能夠更加適應(yīng)模型,并且RMSE值也降低了1%~2%。由此可以得出對(duì)于一般的光伏功率預(yù)測(cè)問(wèn)題,不僅一般的Huber損失函數(shù)能夠通過(guò)提升模型的魯棒性,得到比MSE更加精確的預(yù)測(cè)結(jié)果,采用WOA優(yōu)化后的Huber損失函數(shù)可以得到優(yōu)于前兩者的實(shí)驗(yàn)精度。說(shuō)明光伏數(shù)據(jù)中離群點(diǎn)的存在會(huì)影響模型的精度,并且再經(jīng)過(guò)WOA的優(yōu)化,可以使得Huber損失函數(shù)更加貼合模型,提高其學(xué)習(xí)能力。為此,后續(xù)實(shí)驗(yàn)結(jié)果分析都基于WOA優(yōu)化后Huber損失函數(shù)訓(xùn)練的預(yù)測(cè)模型。
表3比較了各預(yù)測(cè)模型在測(cè)試集上對(duì)不同天氣類型的預(yù)測(cè)精度。測(cè)試結(jié)果表明:在晴空天氣下,LSTM3模型比LSTM1模型的表現(xiàn)更優(yōu),即選用完整訓(xùn)練集訓(xùn)練預(yù)測(cè)模型可提高晴空天氣條件下的預(yù)測(cè)精度;在陰雨天氣條件下,LSTM2模型比LSTM3模型的表現(xiàn)更好,即選用陰雨天氣訓(xùn)練子集訓(xùn)練預(yù)測(cè)模型可提高陰雨條件下的預(yù)測(cè)精度。
表3 不同天氣條件下的預(yù)測(cè)性能
圖3展示了2014年4月23、24日晴空天氣下三個(gè)電廠的LSTM3預(yù)測(cè)結(jié)果;圖4展示了2014年5月4、5日陰雨天氣下三個(gè)電廠連續(xù)五天的LSTM2預(yù)測(cè)結(jié)果。所使用的數(shù)據(jù)集為兩年以上的數(shù)據(jù),由于K-means分類為晴空天氣和陰雨天氣兩類數(shù)據(jù)時(shí)存在分類不夠準(zhǔn)確的情況,如:在分類后的晴空天氣數(shù)據(jù)集中存在2%左右的陰雨天氣數(shù)據(jù)。所以在晴空天氣下,使用完整訓(xùn)練集得到的模型能夠?qū)π〔糠值年幱晏鞖庥兄玫臄M合效果。同理,分類后的陰雨天氣訓(xùn)練子集與測(cè)試子集也存在小部分晴天數(shù)據(jù),但數(shù)據(jù)中都仍以陰雨天氣為主,所以相比于以晴空天氣為主的未分類訓(xùn)練集,采用分類后的陰雨天氣訓(xùn)練子集可使測(cè)試數(shù)據(jù)達(dá)到更好的擬合效果。但又限于陰雨天氣條件下的功率預(yù)測(cè)會(huì)受到更加復(fù)雜的因素影響,如單日內(nèi)波動(dòng)較大的降雨量、降雪量、溫度、總云量等,其總體誤差均比晴空天氣條件下的偏大。
圖3 三個(gè)電廠在晴空天氣條件下連續(xù)五天的光伏功率預(yù)測(cè)結(jié)果
圖4 三個(gè)電廠在陰雨天氣條件下連續(xù)五天的光伏功率預(yù)測(cè)結(jié)果
以上分析表明,基于K-means聚類分析結(jié)果,LSTM2與LSTM3結(jié)合即LSTM2用于聚類分析后的陰雨天氣預(yù)測(cè)和LSTM3用于聚類分析后的晴空天氣預(yù)測(cè)兩種方法的結(jié)合可提高整體的預(yù)測(cè)精度。表4中展示了基于K-means和結(jié)合后的LSTM模型方法在整個(gè)測(cè)試集上的預(yù)測(cè)性能。
為進(jìn)一步驗(yàn)證提出的K-means天氣聚類分析與LSTM預(yù)測(cè)模型相結(jié)合對(duì)光伏發(fā)電功率預(yù)測(cè)的有效性,比較了所提出的預(yù)測(cè)方法與傳統(tǒng)BP和LSTM算法以及Autoformer、TFT和LightGBM算法,結(jié)果如表4所示。所有對(duì)比方法的訓(xùn)練均基于未進(jìn)行天氣分類的完整訓(xùn)練集,預(yù)測(cè)結(jié)果均為相應(yīng)模型在整個(gè)測(cè)試集上的表現(xiàn)。
表4 不同預(yù)測(cè)方法預(yù)測(cè)性能比較
根據(jù)表4給出的結(jié)果,可以看出與其他算法相比,除Autoformer與文中模型在電廠1中的誤差比較接近,提出的預(yù)測(cè)模型的評(píng)價(jià)指標(biāo)在三個(gè)電廠的數(shù)據(jù)集中均為最優(yōu)。與傳統(tǒng)的LSTM相比,提出的模型在電廠1、電廠2、電廠3中的平均RMSE與MAE分別降低了4.86%與4.33%;與Autoformer算法相比,提出的模型在三個(gè)電廠中的平均RMSE與MAE分別降低了2.35%、1.85%;與TFT算法相比,文中模型的平均RMSE與MAE分別降低了1.88%與2.91%;與LightGBM算法相比,文中模型的平均RMSE與MAE分別降低了6.06%與1.89%。結(jié)果證明了文中模型和數(shù)據(jù)處理方法的可行性與有效性,并且在預(yù)測(cè)精度和穩(wěn)定性方面均表現(xiàn)出較好的性能。
該文提出基于K-means的天氣聚類分析和LSTM相結(jié)合的光伏發(fā)電功率日前逐時(shí)預(yù)測(cè)方法,并從損失函數(shù)和訓(xùn)練集的選擇上做出研究分析,結(jié)果表明:
(1)在光伏發(fā)電預(yù)測(cè)模型中損失函數(shù)的選擇上,Huber損失函數(shù)相比于MSE具有更強(qiáng)的魯棒性,能更好地處理光伏數(shù)據(jù)中的離群點(diǎn),在此基礎(chǔ)之上,選擇鯨魚優(yōu)化算法對(duì)Huber損失函數(shù)中的δ實(shí)現(xiàn)進(jìn)一步的優(yōu)化,從而能有效地提高光伏預(yù)測(cè)模型的準(zhǔn)確度,總體可將預(yù)測(cè)精度提高2%左右。
(2)基于K-means算法將數(shù)據(jù)分類為晴空天氣類型和陰雨天氣類型,在聚類得到的各類別訓(xùn)練集上分別訓(xùn)練LSTM,并根據(jù)測(cè)試集的類別選擇對(duì)應(yīng)的LSTM進(jìn)行光伏發(fā)電功率的預(yù)測(cè)。研究結(jié)果表明,提出的K-means與LSTM相結(jié)合的預(yù)測(cè)方法比單獨(dú)的LSTM以及LightGBM的預(yù)測(cè)效果更好,預(yù)測(cè)精度提升在4%左右,同時(shí)對(duì)比Autoformer算法和TFT算法,預(yù)測(cè)精度提升約2%。
(3)基于K-means算法對(duì)天氣進(jìn)行聚類分析時(shí),存在對(duì)一小部分天氣數(shù)據(jù)分類錯(cuò)誤的情況。在后續(xù)的研究工作中,可結(jié)合其他機(jī)器學(xué)習(xí)算法,提高分類的準(zhǔn)確率,進(jìn)一步提高預(yù)測(cè)精度。