劉世鵬,寧德軍,馬 崛
1.中國科學(xué)院上海高等研究院,上海 200120
2.中國科學(xué)院大學(xué),北京 100049
光伏發(fā)電產(chǎn)業(yè)在近些年迎來了高速的發(fā)展,根據(jù)國際能源機(jī)構(gòu)(IEA)的數(shù)據(jù),全球光伏裝機(jī)量的增長速度高達(dá)49%,預(yù)計在2050 年全球光伏發(fā)電在總發(fā)電量的占比將達(dá)到16%[1]。與傳統(tǒng)能源(如火電、水電、核電等)具有連續(xù)性和可調(diào)性的特點不同,光伏發(fā)電的出力受氣候、氣象、地理、電站設(shè)計等因素的影響,具有非常顯著的周期性、隨機(jī)性和波動性等特點。因此,光伏行業(yè)的發(fā)展雖然迅速,但仍然給電力系統(tǒng)帶來了很多挑戰(zhàn),尤其是在如何能夠在維持電力系統(tǒng)安全平穩(wěn)運行的同時,完成大規(guī)模光伏發(fā)電設(shè)備及站點的并入,順利消納大量光伏發(fā)電功率。為了解決該問題,需要制定足夠合理且精確的電網(wǎng)調(diào)度策略,然而電網(wǎng)調(diào)度策略包含眾多操作,如發(fā)電計劃指定、削峰填谷等。為了準(zhǔn)確地完成這些操作,需要發(fā)電預(yù)測數(shù)據(jù)作為基礎(chǔ),因此光伏發(fā)電功率預(yù)測算法研究成為了亟待優(yōu)化的任務(wù)。
針對光伏發(fā)電功率預(yù)測問題,國內(nèi)外諸多學(xué)者展開了大量研究,目前主流的預(yù)測手段主要集中在傳統(tǒng)隨機(jī)學(xué)習(xí)與深度學(xué)習(xí)方法。在傳統(tǒng)隨機(jī)學(xué)習(xí)領(lǐng)域,支持向量機(jī)(support vector machine,SVM)和支持向量回歸(support vector regression,SVR)普遍被用于可再生能源預(yù)測領(lǐng)域[2]。文獻(xiàn)[3]提出了一種基于SVM 的短期太陽能預(yù)測模型,該模型使用歷史大氣透射率和其他氣象數(shù)據(jù)作為輸入。文獻(xiàn)[4]提出基于支持向量回歸模型預(yù)測水平面總輻照度(global horizontal irradiation,GHI),預(yù)測范圍為1 h,具有最佳的預(yù)測性能。
在深度學(xué)習(xí)領(lǐng)域中,循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(recurrent neural network,RNN),如長短期記憶網(wǎng)絡(luò)(long short term memory,LSTM)、門控循環(huán)單元(gated recurrent unit,GRU)、Transformer 系列模型等,被廣泛用來分析和預(yù)測時間序列數(shù)據(jù),比如金價預(yù)測[5]、交通流量[6]、語音分類[7]等。而光伏發(fā)電功率預(yù)測也可以看作時序數(shù)據(jù)預(yù)測的一種,LSTM已被用于預(yù)測短期GHI或太陽綜合負(fù)荷[8-9]。為了在盡量保證精度的同時減少訓(xùn)練時間,GRU網(wǎng)絡(luò)被應(yīng)用于短期光伏發(fā)電功率預(yù)測[10-12],文獻(xiàn)[13]表明利用歷史數(shù)據(jù)結(jié)合GRU模型在預(yù)測光伏發(fā)電功率的實驗中表現(xiàn)很好。
當(dāng)前的研究主要集中在預(yù)測幾小時內(nèi)的數(shù)據(jù),而根據(jù)GB/T 33590.2-2017[14],光伏發(fā)電功率預(yù)測需要預(yù)測24 h 甚至更長的時間范圍。目前光伏發(fā)電功率預(yù)測領(lǐng)域常見的深度學(xué)習(xí)模型大多為點到點模型或者序列到點模型。預(yù)測的結(jié)果為下一個時刻的光伏發(fā)電功率值。24 h 光伏發(fā)電功率預(yù)測的結(jié)果為次日光伏發(fā)電功率的序列,而非一個數(shù)值,因此預(yù)測難度更大?,F(xiàn)有的模型大多采用多步迭代來實現(xiàn)序列的預(yù)測,然而由于多步迭代存在誤差累積現(xiàn)象,其預(yù)測精度往往會隨著步長的增加而下降。因此Transformer 系列模型[15-16]開始逐漸應(yīng)用到時間序列預(yù)測問題上。Informer[17]甚至將光伏發(fā)電功率預(yù)測問題作為其模型的一個算例,但I(xiàn)nformer模型并沒有充分利用相應(yīng)的天氣數(shù)據(jù)。
基于上述分析,目前的光伏發(fā)電功率預(yù)測主要有兩個難點:一是傳統(tǒng)模型在進(jìn)行多步預(yù)測時,會存在誤差累積現(xiàn)象,誤差較大,而Transformer系列模型的預(yù)測結(jié)果難以充分利用天氣數(shù)據(jù)。二是難以同時提取多尺度的時序特征。針對以上問題,提出了一種基于長短期時序數(shù)據(jù)融合的Transformer生成式預(yù)測模型:LSTformer。
本文的主要貢獻(xiàn)如下:
(1)針對光伏發(fā)電功率多步預(yù)測的誤差累積問題,提出LSTformer預(yù)測模型,該模型基于傳統(tǒng)Transformer結(jié)構(gòu),并針對光伏發(fā)電數(shù)據(jù)的特殊性進(jìn)行了優(yōu)化。
(2)針對當(dāng)前模型提取時序特征困難問題,設(shè)計全新的特征融合器,利用其中的時序分析模塊、時序特征融合模塊和多周期嵌入模塊進(jìn)行數(shù)據(jù)融合。通過多種方法提取多時間尺度的時序特征,并充分融入到預(yù)測模型輸入中。
(3)設(shè)計時間卷積前饋單元,在編、解碼的過程中進(jìn)一步提取數(shù)據(jù)的時序特征。
在過往的研究中,光伏發(fā)電功率預(yù)測問題通常被定義為時間序列預(yù)測問題,時間序列往往具有一定程度的自相關(guān)性。但是隨著采樣粒度增大,光伏發(fā)電功率數(shù)據(jù)的自相關(guān)性會減少,受外界天氣因素的影響增大[18]。根據(jù)GB/T 33590.2-2017[14],光伏發(fā)電功率數(shù)據(jù)的采樣粒度為15 min,受天氣因素影響的程度較大,但具有一定的自相關(guān)性,同時天氣因素的變化具有一定的規(guī)律性和偶然性,因而光伏發(fā)電功率數(shù)據(jù)體現(xiàn)出了一定的周期性、波動性和偶然性。
如圖1 所示,隨機(jī)選取某光伏電站5 天的發(fā)電功率歷史數(shù)據(jù)進(jìn)行可視化處理,根據(jù)可視化結(jié)果(圖1),可以推斷出在連續(xù)5天的歷史數(shù)據(jù)中,體現(xiàn)了光伏發(fā)電周期性與波動性的特點。
圖1 連續(xù)5天的15分鐘數(shù)據(jù)Fig.1 15 min data for five continuous days
如圖2所示,為了探究光伏發(fā)電功率數(shù)據(jù)的長期時序特征,本文利用季節(jié)性預(yù)測模型的經(jīng)典技巧,選取某光伏電站連續(xù)5 年8:30 時刻的發(fā)電功率歷史數(shù)據(jù)進(jìn)行可視化處理。根據(jù)可視化結(jié)果(圖2),雖然光伏發(fā)電數(shù)據(jù)呈現(xiàn)出了更大的波動性,但是仍然可以看出其具有一定的周期性。
圖2 連續(xù)5年的8:30時刻數(shù)據(jù)Fig.2 8:30 data for five continuous years
結(jié)合圖1、圖2呈現(xiàn)的信息,光伏發(fā)電功率歷史數(shù)據(jù)不僅在短期內(nèi)具有時序特征,在長時間維度下也具有一定的時序特征??紤]到這種長時間維度(如圖2中周期接近365 天)下的優(yōu)化問題,如何提取這種時間依賴關(guān)系是本文需要解決的問題。針對類似問題,長短時間序列網(wǎng)絡(luò)(long-and short-term time-series network,LSTnet)模型[19]利用跳躍-循環(huán)神經(jīng)網(wǎng)絡(luò)(skip-recurrent neural network,skip-RNN)結(jié)構(gòu)可以捕捉更長期的時序特征。
LSTM 網(wǎng)絡(luò)的本質(zhì)是一種改善了長期依賴問題的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)。LSTM的網(wǎng)絡(luò)結(jié)構(gòu)與常規(guī)RNN 網(wǎng)絡(luò)相似,都是具有重復(fù)模塊的鏈?zhǔn)浇Y(jié)構(gòu),在預(yù)測過程中,LSTM 同時更新內(nèi)部狀態(tài)ct和外部狀態(tài)ht,更新的方式主要通過遺忘門、輸入門和輸出門三個門,其中遺忘門ft的作用主要是控制t-1 時刻的內(nèi)部狀態(tài)ct-1需要遺忘的信息;輸入門it的作用主要是控制t時刻下候選狀態(tài)c?t需要留存下來的信息;輸出門ot的主要作用是控制t時刻下ct中需要選擇什么信息傳輸至外部:
式中,dt表示t時刻的輸入,it表示輸入門,ft表示遺忘門,ot表示輸出門,ht-1是上一時刻的外部狀態(tài),c?t是候選狀態(tài),ct-1是上一時刻的內(nèi)部狀態(tài),ct是這一時刻的內(nèi)部狀態(tài),ht是這一時刻的輸出。
GRU網(wǎng)絡(luò)[20]是LSTM網(wǎng)絡(luò)的變種,將LSTM單元的三個門合并為兩個門,在不損失精度的情況下降低模型的復(fù)雜度:
式中,dt表示t時刻的輸入,rt表示重置門,zt表示更新門,ht-1是前一時刻的隱藏狀態(tài),h?t是這一時刻的候選狀態(tài),ht是這一時刻的輸出。
因為傳統(tǒng)GRU 模塊不善于提取長期時序特征,skip-GRU模塊跳過連接層,通過間隔采樣的方式,在采樣序列長度不變的情況下,可以回看更長的時間,以此來捕獲長期特征:
式中,dt表示t時刻的輸入,rt表示重置門,zt表示更新門,p是采樣的間隔,ht-p是p個時刻前的隱藏狀態(tài),h?t是這一時刻的候選狀態(tài),ht是這一時刻的輸出。
傳統(tǒng)自注意力機(jī)制的計算公式如下:
式中,WQ、WK、WV為三個權(quán)重矩陣,在進(jìn)行隨機(jī)初始化后,根據(jù)式(15)~(17)生成三個向量Q、K、V,然后根據(jù)式(18)計算出經(jīng)過注意力機(jī)制加權(quán)后的結(jié)果A(Q,K,V),該結(jié)果包含了所有輸入數(shù)據(jù)的信息,但是時序數(shù)據(jù)普遍存在長尾效應(yīng),并非所有信息都是有意義的[17],故而LSTformer 嘗試引入Informer 模型中的稀疏注意力機(jī)制。
稀疏注意力機(jī)制中提出利用KL散度計算每個query的稀疏性度量:
基于計算出的稀疏性度量,通過每個k只關(guān)注u個主要q來實現(xiàn)稀疏注意力機(jī)制:
其中,是大小與q相同的稀疏矩陣且其只包含稀疏度量M(q,K)下的top-u個q。
LSTformer解決光伏發(fā)電功率預(yù)測問題的思想是將其抽象為一個多步時間序列預(yù)測結(jié)合的問題。即定義為輸入為光伏發(fā)電歷史數(shù)據(jù)及其歷史天氣數(shù)據(jù),即一個I×n的時間序列,輸出為預(yù)測的光伏發(fā)電功率數(shù)據(jù),即一個O×1 的時間序列,其中I為輸入序列長度,O為輸出序列長度。
針對光伏發(fā)電功率數(shù)據(jù)時序特征,本文提出了LSTformer預(yù)測模型,模型的結(jié)構(gòu)如圖3所示,LSTfomer主要結(jié)構(gòu)包含三個模塊:特征融合器、編碼器和解碼器。LSTfomer在特征融合器中提出了創(chuàng)新性的時序分析模塊和時序特征融合模塊,充分融合光伏發(fā)電數(shù)據(jù)多時間尺度下的時序特征。LSTfomer的編碼器和解碼器采用基于傳統(tǒng)Transformer 架構(gòu)的編碼器-解碼器結(jié)構(gòu),提出了TCNForward模塊并引入了一步解碼的生成式預(yù)測結(jié)構(gòu)以避免誤差累積現(xiàn)象。
圖3 LSTformer模型結(jié)構(gòu)Fig.3 Structure of LSTformer model
在LSTformer 預(yù)測模型中編碼器模塊與解碼器模塊都采用多層結(jié)構(gòu)設(shè)計。以一個共有N層Encoder 模塊和M層Decoder模塊的LSTformer模型為例,其算法描述如算法1所示。
算法1LSTfomer預(yù)測算法
LSTformer 中的特征融合器的結(jié)構(gòu)如圖4 所示,主要包含兩個創(chuàng)新模塊:時序分析模塊和時序特征融合模塊。
圖4 特征融合器結(jié)構(gòu)Fig.4 Structure of feature fuser
3.1.1 時序分析(TSA)模塊
時序分析模塊將根據(jù)相關(guān)性與周期性的分析結(jié)果,對變量進(jìn)行篩選:
由圖1 和圖2 可知,光伏發(fā)電功率數(shù)據(jù)雖然波動性很強(qiáng),但仍然存在周期性,而且在一定時間范圍內(nèi)很可能存在不同周期性,本文選擇傅里葉變換對伏發(fā)電功率數(shù)據(jù)及其影響因素數(shù)據(jù)的曲線進(jìn)行周期性分析[21],旨在得到不同周期曲線的波動周期,為分析光伏發(fā)電功率預(yù)測提供一定程度的參考,首先利用以下公式求解傅里葉變換結(jié)果,將數(shù)據(jù)映射到頻域:
式中,X(k)表示傅里葉級數(shù),x(n)表示傅里葉系數(shù),k表示指頻域上的x坐標(biāo),N表示周期,WnKN表示為復(fù)變函數(shù),復(fù)變函數(shù)的計算方式如下:
繼而通過計算變換幅值的峰值即光伏發(fā)電功率數(shù)據(jù)的周期,每組數(shù)據(jù)可能存在多個周期,本文中僅取前兩個周期,即首要周期及次要周期。
光伏發(fā)電功率與大量的天氣因素具有相關(guān)性,本文選擇利用皮爾遜相關(guān)系數(shù)進(jìn)行相關(guān)性分析,皮爾遜相關(guān)系數(shù)可以計算兩組任意數(shù)據(jù)x、y彼此的相關(guān)程度計算公式如下:
3.1.2 時序特征融合(TSFF)模塊
傳統(tǒng)Transformer 系列模型雖然能夠通過不斷加長編碼器輸入數(shù)據(jù)的長度來提取長期時序特征,但是采取這種手段將會帶來大量冗余信息,導(dǎo)致計算量與計算時間的爆炸性增長。因此,本文提出時序特征融合模塊,使得LSTformer 模型中編碼器和解碼器能夠在不輸入超長數(shù)據(jù)情況下充分提取到數(shù)據(jù)的時序特征。在時序特征融合模塊中分別使用LSTM 模塊、skip-GRU 模塊、多周期嵌入模塊從多個時間尺度出發(fā),充分提取數(shù)據(jù)的時序特征。
式中TSFF(·)的計算方法如下:
將短周期時序相關(guān)數(shù)據(jù)ds、長周期時序相關(guān)數(shù)據(jù)dl分別傳入時序特征融合模塊中的LSTM 網(wǎng)絡(luò)和skip-GRU網(wǎng)絡(luò)進(jìn)行預(yù)測,其中LSTM網(wǎng)絡(luò)的預(yù)測結(jié)果充分利用了短期時序特征,skip-GRU 網(wǎng)絡(luò)充分利用了長期時序特征:
將兩個特征提取結(jié)果fl、fs、非周期輸入數(shù)據(jù)dt傳入多周期嵌入模塊:
LSTM 和skip-GRU 單元分別提取了數(shù)據(jù)的短期時序特征和長期時序特征,但是其涵蓋的時間范圍不足以提取到足夠長期的時序特征,故而本文提出了多周期嵌入模塊,配合LSTM、skip-GRU,使得時序特征融合模塊能夠充分融合多個時間尺度下的時序特征。
多周期嵌入模塊的組成如圖5所示,主要包括數(shù)據(jù)投影、位置編碼、周期編碼、時間編碼。
圖5 多周期嵌入模塊結(jié)構(gòu)Fig.5 Structure of CycleEmbed
其中,數(shù)據(jù)投影是根據(jù)相關(guān)性與周期性分析的結(jié)果,將輸出的數(shù)據(jù)映射到dmodel維的向量,進(jìn)行維度對齊,對齊工具為一維卷積濾波器。
位置編碼是傳統(tǒng)Transformer的位置編碼。
周期編碼是依據(jù)周期性分析計算的結(jié)果劃分,τ為周期數(shù)據(jù)步數(shù),由周期性分析的結(jié)果T1、T2與數(shù)據(jù)采樣時間粒度g決定,即τi=Ti/g,然后將根據(jù)τi的結(jié)果對輸入數(shù)據(jù)的周期信息進(jìn)行編碼操作,即周期編碼中共有τi種結(jié)果,。C和c表示兩個不同周期編碼的結(jié)果。
時間編碼則是在編碼中添加月度、季度與年度信息,以此來提取更長期的時序特征。這樣數(shù)據(jù)的月度、季度與年度信息將會伴隨著嵌入操作傳入編、解碼器中。LSTformer 選用一步解碼的生成式預(yù)測方式,所以多周期嵌入模塊也可以提前將一些時間信息傳入待預(yù)測序列中。
綜合四個部分的結(jié)果,最終多周期嵌入模塊的輸出結(jié)果即編碼器的輸入:
編碼器的結(jié)構(gòu)采取傳統(tǒng)Transfomer多層網(wǎng)絡(luò)結(jié)構(gòu),每層編碼器主要由兩個部分組成,分別是稀疏注意力單元和時間卷積前饋單元。
與傳統(tǒng)Transformer 系列模型的線性層不同,本文設(shè)計了時間卷積前饋單元,在編碼器中進(jìn)一步提取數(shù)據(jù)的時序特征,其結(jié)構(gòu)如圖6所示。
圖6 時間卷積前饋單元模塊結(jié)構(gòu)Fig.6 Structure of TCNForward
TCNForward單元主要通過堆疊多個膨脹卷積令該單元網(wǎng)絡(luò)捕捉不同周期之間的時序關(guān)系,并通過殘差鏈接,使得網(wǎng)絡(luò)能夠跨層傳輸原始數(shù)據(jù)依賴信息表達(dá),最大限度地關(guān)聯(lián)融合長周期時序特征與短周期時序特征(即通過多層卷積得到的高階特征與低階特征)。
傳統(tǒng)的Transformer 結(jié)構(gòu)通過編碼的并行計算提高了運算效率,但是在預(yù)測過程中,掩碼機(jī)制下的解碼器仍舊需要通過迭代的方式進(jìn)行預(yù)測,直到輸出指定長度的序列。在這一解碼過程中,誤差累積的現(xiàn)象難以避免,本文考慮引入Transformer 生成式預(yù)測模型普遍使用的一步解碼操作:
解碼器預(yù)測的過程與編碼器類似,但是比編碼器多了一個自注意力層。在該層中,Q是來自于解碼器稀疏注意力單元的計算結(jié)果,而K和V則來自于編碼器。
最終待預(yù)測序列通過一個多層感知機(jī)(multilayer perceptron,MLP)完成一步解碼:
4.1.1 數(shù)據(jù)準(zhǔn)備
該數(shù)據(jù)集包括在澳大利亞[21]的一個太陽能農(nóng)場中進(jìn)行的2015 年至2016 年的光伏發(fā)電開源數(shù)據(jù)集,時間間隔為15 min,每日有96 個數(shù)據(jù)點,共有70 176 個樣本,每個樣本包含13 個數(shù)據(jù),分別為時間戳、接收到的有功能量、當(dāng)前階段平均值、有功功率、性能比率、風(fēng)速、天氣溫度攝氏度、天氣相對濕度、全球水平輻射、漫反射水平輻射風(fēng)向、天氣日降雨量、輻射全局傾斜、輻射漫反射傾斜,測試集使用2016年11月、12月的數(shù)據(jù)。
兩年的所有數(shù)據(jù)如圖7 所示,x軸為天數(shù),y軸為每天96 個時間點(采樣粒度為15 min,24 h 的數(shù)據(jù)共包含96個事件點),z軸為光伏發(fā)電功率數(shù)據(jù)。
圖7 光伏發(fā)電功率歷史數(shù)據(jù)集Fig.7 Historical dataset of photovoltaic power
4.1.2 數(shù)據(jù)預(yù)處理
由于各變量之間的量綱并不完全相同,因此在進(jìn)行預(yù)測時需要先進(jìn)行線性歸一化處理,其轉(zhuǎn)換函數(shù)為:
式中,xnorm是數(shù)據(jù)進(jìn)行線性歸一化之后的預(yù)處理結(jié)果;xi是需進(jìn)行歸一化的變量輸入值;max(xi)是原始數(shù)據(jù)集中xi所屬變量的最大值;min(xi)是原始數(shù)據(jù)集中xi所屬變量的最小值。
為驗證模型的預(yù)測精度,采用均方根誤差(mean square error,MSE)、平均絕對誤差(mean absolute error,MAE)作為模型性能的評價指標(biāo),其具體計算公式為:
Xi為測試集的第i個數(shù)據(jù)點出力實際值;X?i為第i個數(shù)據(jù)點的出力預(yù)測值;N為測試集樣本總數(shù)。
實驗環(huán)境采用Intel i7-9700K 處理器,NVIDIA GeForce RTX 3080 Ti 顯卡,算法模型采用Python 3.8作為編程語言,基于開源機(jī)器學(xué)習(xí)框架pytorch 搭建模型相關(guān)網(wǎng)絡(luò)。本文采用隨機(jī)搜索方法確定最終的超參數(shù)設(shè)置,最終的超參數(shù)設(shè)置如表1所示。
表1 模型參數(shù)設(shè)置Table 1 Model parameters setting
4.4.1 時序分析結(jié)果及討論
特征融合器中的時序分析模塊包含相關(guān)性分析分析與周期性分析兩部分,對光伏發(fā)電功率相關(guān)性分析的結(jié)果表2所示。
表2 相關(guān)性分析結(jié)果Table 2 Results of correlation analysis
根據(jù)表2 可以看出,光伏發(fā)電功率與直接輻射強(qiáng)度、散射輻射強(qiáng)度、溫度、風(fēng)速成正相關(guān),與濕度、風(fēng)向、降雨量成負(fù)相關(guān),根據(jù)其數(shù)值大小,可以看出直接輻射強(qiáng)度、散射輻射強(qiáng)度、溫度、濕度、風(fēng)速等變量與光伏發(fā)電功率具有一定的相關(guān)性,這些影響因子都會對光伏發(fā)電功率產(chǎn)生一定程度的影響,影響能力依次遞減。風(fēng)向與降雨量這兩個因素的相關(guān)性計算結(jié)果過低,雖然呈一定的負(fù)相關(guān),但本文將其視為不具有相關(guān)性的因素。
對光伏發(fā)電功率周期性分析的結(jié)果表3所示。
表3 周期性分析結(jié)果Table 3 Results of periodicity analysis 單位:h
根據(jù)表3可以看出,在各個數(shù)據(jù)主要呈現(xiàn)出的兩個周期之中,發(fā)電功率、風(fēng)速、濕度、溫度直接輻射、散射輻射都包含半天至一天左右的周期,根據(jù)時序分析模塊的劃分,將其處理為短期時序相關(guān)數(shù)據(jù);濕度、降雨量都包含一年左右的周期,將其處理為長期時序相關(guān)數(shù)據(jù);溫度、風(fēng)速、風(fēng)向、降雨量都包含0.16 h 的周期,將其處理為非時序相關(guān)數(shù)據(jù)。
由相關(guān)性分析可以篩選出直接輻射強(qiáng)度、散射輻射強(qiáng)度、溫度、濕度、風(fēng)速五個影響因子,結(jié)合周期性分析的結(jié)果,輸入數(shù)據(jù)的劃分結(jié)果為:包含發(fā)電功率、濕度、降雨量的2 880 個連續(xù)數(shù)據(jù)點作為長期時序相關(guān)數(shù)據(jù);包含發(fā)電功率、風(fēng)速、濕度、溫度直接輻射、散射輻射的288個連續(xù)數(shù)據(jù)點作為短期時序相關(guān)數(shù)據(jù);包含發(fā)電功率、溫度、風(fēng)速的96個連續(xù)數(shù)據(jù)點作為非時序相關(guān)數(shù)據(jù)。
4.4.2 不同預(yù)測步數(shù)的預(yù)測結(jié)果討論
LSTM網(wǎng)絡(luò)在進(jìn)行光伏功率短期預(yù)測時,隨著預(yù)測步數(shù)的增加,會逐漸體現(xiàn)出誤差累計的現(xiàn)象,為了探究各模型在不同預(yù)測步數(shù)下的預(yù)測表現(xiàn),本文選取了LSTM、skip-GRU、Transformer、Informer 與本文進(jìn)行對比,結(jié)果如表4所示,由結(jié)果可見,在預(yù)測步數(shù)為1時,五種模型的MSE 誤差相差不大,隨著預(yù)測步數(shù)的增加,LSTM模型前期誤差增加速度極快,但是后面的誤差浮動不大,前期誤差累積現(xiàn)象明顯,后期誤差過大不能準(zhǔn)確預(yù)測結(jié)果。采用生成式預(yù)測方法的Informer 模型誤差累計現(xiàn)象相對不明顯,但是誤差相對于LSTformer較大。本文提出的LSTformer模型不僅誤差累積程度小,而且全程都具有最低的MSE誤差。為了更直觀地觀察各模型之間的誤差累積現(xiàn)象,將預(yù)測結(jié)果進(jìn)行可視化展示,可視化結(jié)果如圖8所示。
表4 各模型不同預(yù)測步數(shù)的預(yù)測性能Table 4 Results of different steps for each model
圖8 各模型不同預(yù)測步數(shù)的預(yù)測性能Fig.8 Prediction performance of different prediction steps for each model
4.4.3 不同模型的預(yù)測性能討論
根據(jù)表4 可知,LSTformer 在多步預(yù)測場景下表現(xiàn)優(yōu)異,為了探究不同模型在24 h 的預(yù)測場景下的性能穩(wěn)定性。本次實驗中,依然選擇LSTM、skip-GRU、Transformer、Informer 四個模型進(jìn)行對比實驗,除此之外,本文還對比了單獨使用時序特征融合模塊(即本文提出長、短時序特征選擇模塊用作預(yù)測模型的效果)的情況。在本次實驗中,僅測試24 h(96個預(yù)測步數(shù))場景下各模型的性能表現(xiàn),進(jìn)行10次實驗結(jié)果取平均值,最終測試集預(yù)測結(jié)果如表5所示。
表5 24小時預(yù)測結(jié)果Table 5 24-hour prediction results
由表5可知:針對光伏發(fā)電功率預(yù)測場景,LSTformer模型與傳統(tǒng)模型的性能指標(biāo)對比,在24 h 預(yù)測場景(96預(yù)測步數(shù))下,LSTformer 的MSE 分別降低了74.13%、68.21%、70.5%、63.49、50.43%,MAE分別降低了74.13%、54.70%、41.83%、61.93%、48.42%。
如圖9 所示,本文將LSTformer 在測試數(shù)據(jù)集的預(yù)測結(jié)果進(jìn)行反歸一化,并將反歸一化后的結(jié)果通過可視化操作展示出來,圖中所展現(xiàn)的預(yù)測結(jié)果為7個24 h預(yù)測結(jié)果的集合,與真實數(shù)據(jù)對比偏差不大,可以看出LSTformer的精度較高,誤差較小。
圖9 LSTformer模型的預(yù)測結(jié)果Fig.9 Results of LSTformer model
4.4.4 消融實驗
為了驗證LSTformer模型各優(yōu)化模塊的有效性,進(jìn)行了消融實驗,將LSTformer模型中幾個創(chuàng)新模塊分別移除進(jìn)行對比實驗,即分別設(shè)置:
實驗1去除時序分析模塊。
實驗2去除時序特征融合模塊。
實驗3去除Transformer結(jié)構(gòu),采用時序分析模塊+時序特征融合模塊+全連接網(wǎng)絡(luò)。
實驗4將時間卷積前饋單元替換為傳統(tǒng)Transformer系列模型中的線性層FeedForward。
實驗5完整LSTformer模型。
如表6所示,針對本文提出的幾個創(chuàng)新模塊:時序分析模塊、時序特征融合模塊、引入一步解碼的Transformer模型結(jié)構(gòu)、時間卷積前饋單元,不論去除哪個模塊,都會導(dǎo)致模型的誤差加大。當(dāng)不采用一步解碼的Transformer模型結(jié)構(gòu)后,造成的誤差最大,移除時序分析模塊對LSTformer模型的MSE指標(biāo)影響最小,但仍會造成精度的下降。移除時間卷積前饋單元對LSTformer 模型的MAE 指標(biāo)影響最小,對MSE 指標(biāo)的影響也僅比時序分析模塊大一點,綜合而言,移除時間卷積前饋單元對LSTformer 的影響最小,但是通過這些數(shù)據(jù)可以得出結(jié)論:本文提出的LSTformer 模型是有效的,每一個創(chuàng)新模塊都是有意義的。
表6 消融實驗結(jié)果Table 6 Results of ablation experiments
文中利用LSTformer 模型進(jìn)行光伏發(fā)電功率短期預(yù)測。以澳洲某光伏電站實測數(shù)據(jù)為例,將該模型與單一模型實驗效果對比,得出三點主要結(jié)論:(1)文中提出的LSTformer 光伏功率預(yù)測模型采用了Transformer 結(jié)構(gòu),結(jié)合了LSTnet、Informer等多個優(yōu)秀模型的優(yōu)點,且實驗結(jié)果表明,該模型能有效提高短期光伏出力預(yù)測精度。(2)創(chuàng)新性地提出了設(shè)計時序分析模塊、時序特征融合模塊、時間卷積前饋單元,更充分地提取了多時間尺度的時序特征以及其他天氣因素對光伏發(fā)電功率的影響。(3)LSTformer 模型與LSTM 模型和Transformer 系列模型相比,在多步預(yù)測上擁有更高的精度,但仍然還有優(yōu)化的空間。在后續(xù)研究中,將針對LSTformer模型進(jìn)行優(yōu)化,使其具有更強(qiáng)的泛化性。