陳禹帆,溫蜜,張凱,余珊
(上海電力大學 計算機科學與技術(shù)學院,上海 200090)
近年來,中國光伏發(fā)電規(guī)模持續(xù)擴大。2019年全國光伏發(fā)電累計裝機達到20 430萬千瓦,全國光伏發(fā)電量達2 243億千瓦時[1]。隨著大規(guī)模光伏并網(wǎng)發(fā)電在電網(wǎng)中占比的不斷增加,光伏出力固有的隨機波動特性給電力系統(tǒng)的安全穩(wěn)定運行和電能質(zhì)量帶來嚴重挑戰(zhàn)[2-3]。目前,中國、美國和歐洲都在大力推進大規(guī)模光伏并網(wǎng),短期光伏出力預測成為了電網(wǎng)調(diào)度和光伏市場主體的關(guān)注重點[4]。
目前,短期光伏出力預測方法主要分為三類:物理方法、統(tǒng)計方法和機器學習方法。物理方法是指直接構(gòu)建光伏發(fā)電近似物理模型[5]得到光伏出力,該方法依賴詳細的電站地理信息和準確的數(shù)值天氣預報(Numerical Weather Prediction,NWP)數(shù)據(jù),所采用的物理公式本身存在一定的誤差,導致模型的抗干擾能力差、魯棒性低。統(tǒng)計方法主要采用時間序列[6]、序列分解[7]等方法對大量歷史數(shù)據(jù)進行統(tǒng)計和建模預測,該方法未能考慮到氣象因素對光伏出力的影響,預測精度通常不高。機器學習方法主要有支持向量機[8]和神經(jīng)網(wǎng)絡(luò)[9]等,可以直接從氣象、光伏出力歷史數(shù)據(jù)和NWP數(shù)據(jù)中挖掘出變化規(guī)律進行預測,是目前光伏出力預測的主要方法和研究熱點。
隨著深度學習的快速發(fā)展[10],基于深度學習的短期光伏出力預測方法目前受到廣泛關(guān)注[11]。其中,基于長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的模型可以有效捕捉時間序列的長期依賴關(guān)系,在短期光伏出力預測上取得良好效果[12-13],成為了深度學習中的主流預測模型。然而,該方法存在梯度問題和模型訓練時間較長的問題。卷積神經(jīng)網(wǎng)絡(luò)可并行計算的結(jié)構(gòu)優(yōu)勢可以有效避免上述問題。其中,時序卷積網(wǎng)絡(luò)(Temporal Convolutional Network,TCN)已經(jīng)在風電功率預測[14],太陽輻射預測[15]等領(lǐng)域表現(xiàn)出了較好的預測效果。
光伏出力在典型天氣類型中表現(xiàn)出明顯的相似性。相似日模型[16]被提出和廣泛應(yīng)用來解決數(shù)據(jù)冗余帶來的誤差。文獻[17]提出一種晴朗系數(shù)將歷史數(shù)據(jù)劃分為晴天和非晴天兩種類型,通過多層次相似匹配方法選取相似日構(gòu)建ARIMA時間序列預測模型。文獻[18]采用模糊C均值聚類算法將預測日按照6種特征進行劃分,然后構(gòu)建深度信念網(wǎng)絡(luò)模型進行預測。上述相似日模型通過主觀篩選特征進行分類,將氣象數(shù)據(jù)分為幾類建立模型。但是此類方法對于天氣類型的劃分沒有考慮到天氣的動態(tài)變化,僅由某些時刻的天氣特征難以捕捉整日光伏出力的相似性。
針對上述文獻中存在的問題,為了提高光伏出力預測精度和模型的訓練速度,文章提出一種基于相似日匹配及TCN-Attention的短期光伏出力預測方法。首先,采用K-Shape聚類算法對光伏出力歷史數(shù)據(jù)進行基于形態(tài)特征的聚類,在考慮整日光伏出力曲線形狀的情況下將訓練集劃分成不同天氣類型下的相似日訓練子集。然后,使用最大信息系數(shù)(Maximal Information Coefficient,MIC)根據(jù)待預測日的NWP數(shù)據(jù)為待預測日匹配合適的相似日訓練子集。最后,以歷史相似日數(shù)據(jù)和待預測日NWP數(shù)據(jù)作為共同輸入,采用可并行計算的TCN網(wǎng)絡(luò)進行建模學習,并引入Attention機制為隱藏層中不同特征設(shè)置不同的權(quán)重,以加強關(guān)鍵特征對光伏出力的影響,從而得到更好的預測效果。最后,通過基于真實數(shù)據(jù)集的實驗驗證了文章所提出的方法具有更高的預測精度和更快的計算速度。
光伏出力受到太陽輻射、溫度、濕度等諸多氣象特征的影響具有很大的時變性和不確定性。各種氣象特征在不同的天氣類型中對光伏出力影響的程度并不相同,合理的相似日匹配有助于突出關(guān)鍵特征,從而使模型訓練更具有針對性[19],有效提高預測精度。文中采用K-Shape聚類算法與MIC相結(jié)合的方式進行相似日匹配。
文中以全球能源預測競賽提供的國外某地區(qū)光伏電站數(shù)據(jù)集為研究對象[20]。該數(shù)據(jù)集記錄了從2013年1月1日到2013年12月31日的光伏出力數(shù)據(jù)和溫度、濕度、風速、總云量、太陽輻射等NWP數(shù)據(jù),時間間隔為1 h。
受到日地運動和天氣動態(tài)變化的影響,光伏出力整體上表現(xiàn)出顯著的間歇性和波動性。其中,間歇性主要是受到地球自轉(zhuǎn)的影響,地球的自轉(zhuǎn)造成了晝夜交替現(xiàn)象,導致夜間的光伏出力為零,日間的光伏出力呈拋物線趨勢。光伏出力的波動性則是由天氣動態(tài)變化的相對不確定性造成的,如環(huán)境溫度會影響光伏組件溫度,云層會影響光伏面板受到的太陽輻射等。
圖1描繪了典型天氣類型中的光伏出力曲線各十條。其中,晴天光伏出力曲線較為平滑,呈半波型;多云天的光伏出力曲線在體量上與晴天相似,但是云層遮擋會造成一定的隨機波動;陰天光伏出力體量明顯減少,并伴有隨機波動;雨天光伏出力體量較小,并可能伴有大幅度隨機波動。可以看出,光伏出力曲線在不同天氣類型中存在較大差異,在相同天氣類型中具有相似性。
K-Shape算法在整體設(shè)計上有聚類中心的計算過程和簇迭代的過程。該方法使用一種新的時間序列形態(tài)距離度量方案(Shape-Based Distance,SBD)來描述聚類中的距離。該方法的距離度量不受時間尺度縮放和位移的影響[21],從而能夠有效地聚類出相似的光伏出力序列。
圖1 典型天氣類型中光伏出力曲線
對于兩條光伏出力序列X=[x1,x2,...,xm]與Y=[y1,y2,...,ym],K-Shape算法的距離為:
(1)
式中Cω(X,Y)是光伏出力序列X和Y的互相關(guān)序列;R0為兩光伏出力序列不發(fā)生相對位移時其對應(yīng)的互相關(guān)系數(shù)值。
K-Shape迭代的過程是不斷地求取聚類中心并依據(jù)到聚類中心的距離為光伏出力歷史日序列進行簇劃分的過程。K-Shape算法將聚類中心的計算轉(zhuǎn)化為一個優(yōu)化問題,是使聚類中心與該簇中每一條光伏出力序列之間的DSBD取得最小值,如式(2)所示:
(2)
式中Pk為第k類簇;ui為Pk中的第i條光伏出力序列;ck為該方法所提取的聚類中心。
K-Shape算法的整體計算步驟如表1所示。K-Shape聚類算法可以使光伏出力歷史日數(shù)據(jù)基于整日形態(tài)特征的差異劃分為多個相似日簇,各簇之間光伏出力具有較大差異,簇內(nèi)光伏出力較為相似。針對特定的相似日簇建立模型進行特征學習,可以使預測模型的訓練更具有針對性。
MIC是一種新型的相關(guān)性度量方法。相較于pearson系數(shù)等傳統(tǒng)統(tǒng)計學方法,該方法能較好地反映數(shù)據(jù)中的非線性相關(guān)性強度且具有較好的魯棒性[22]。根據(jù)MIC的基本原理,對于待預測日某一氣象特征序列S=[s1,s2,…,sn]與歷史日該氣象特征序列T=[t1,t2,…,tn]組成的一個二元數(shù)據(jù)集D∈R2,將其劃分為x列y行的網(wǎng)格G,則數(shù)據(jù)之間的相關(guān)性可以體現(xiàn)在網(wǎng)格內(nèi)數(shù)據(jù)的分布上,其互信息值為:
(3)
式中p(s,t)為S和T的聯(lián)合概率密度;p(s)和p(t)分別為S和T的邊緣概率密度。
表1 K-Shape算法流程
由于網(wǎng)格G的劃分有多種方案,則互信息值MI(D,x,y)有多種取值。取其中的最大值作為網(wǎng)格劃分G的最大互信息值:
I(D,x,y)=maxMI(D,x,y)
(4)
將求得的最大互信息值歸一化,并求得最大信息系數(shù)如下:
(5)
式中B是一個關(guān)于樣本規(guī)模n的函數(shù),通常情況下B=n0.6,分母log2(min(x,y))為歸一化操作。MIC的取值范圍是[0,1],MIC越大表明該待預測日氣象特征與歷史日氣象特征的相關(guān)性越強;反之,則越弱。
通過MIC將K-Shape聚類得到的歷史相似日簇與待預測日進行基于氣象相似性的匹配,避免歷史日與待預測日氣象差異過大引起的誤差。采用MIC匹配歷史相似日簇訓練子集具體過程為:
(1)定義待預測日n種NWP氣象特征序列(如溫度序列、濕度序列等)組成的矩陣為A=[a1,a2,…,an],其中向量at(t∈[1,n])為該日第t種氣象序列。定義聚類中心對應(yīng)氣象特征序列組成的矩陣為B=[b1,b2,…,bn],其中向量bt(t∈[1,n])為該聚類中心所在簇中所有歷史日第t種氣象序列的均值序列;
(2)通過MIC計算待預測日與聚類中心相應(yīng)氣象特征的相關(guān)性得到相關(guān)性向量M=[m1,m2,…,mn],其中mt=MIC(at,bt),t∈ [1,n];
(3)根據(jù)相關(guān)性向量求得待預測日與聚類中心的綜合氣象相似度Z如式(6)。選擇綜合氣象相似度最大的聚類中心所在歷史相似日簇作為該待預測日的訓練子集。
(6)
時序卷積網(wǎng)絡(luò)是一種序列建模結(jié)構(gòu),融合了一維全卷積網(wǎng)絡(luò)、因果卷積和擴張卷積,有效地避免了循環(huán)神經(jīng)網(wǎng)絡(luò)面臨的梯度消失或者梯度爆炸問題,具有并行計算、低內(nèi)存消耗、通過改變感受野來控制序列記憶長短等優(yōu)勢。
TCN卷積結(jié)構(gòu)如圖2所示。與傳統(tǒng)卷積不同的是,TCN卷積結(jié)構(gòu)允許卷積時的輸入存在間隔采樣,采樣率為圖2中的d。最下面一層的d=1,表示輸入時每個點都采樣,中間層d=2,表示輸入時每2個點采樣一個作為輸入。由此可見,越高的層級使用的d的大小越大。所以,TCN卷積結(jié)構(gòu)中有效窗口的大小隨著層數(shù)呈指數(shù)型增長。因此,時序卷積網(wǎng)絡(luò)用比較少的層,就可以獲得很大的感受野。
圖2 TCN卷積層結(jié)構(gòu)示意圖
由TCN卷積結(jié)構(gòu)可知,該網(wǎng)絡(luò)的記憶長度,即每個神經(jīng)元的特征學習范圍,與核大小、擴張系數(shù)、模型深度均有關(guān)。設(shè)輸入的序列為x,模型設(shè)置的一系列卷積核為f:{0,…,k-1},則經(jīng)過擴張卷積計算后第s個神經(jīng)元輸出值的表達式為:
(7)
式中k為卷積核尺寸;d為擴張系數(shù);“*”為卷積運算;f(i)為卷積核中的第i個元素;xs-d·i為與卷積核中元素對應(yīng)相乘的序列元素。
Attention機制是對人腦分配注意力形式的一種模擬,其本質(zhì)是改變隱藏層中特征的權(quán)重[23]。Attention機制能夠從大量特征中合理地篩選出少量關(guān)鍵特征,并對他們賦予更多的權(quán)重,減少非關(guān)鍵特征的權(quán)重從而突出關(guān)鍵特征的影響。將Attention機制與TCN進行融合可以更好地突出影響光伏出力的關(guān)鍵特征、提高預測精度。Attention機制結(jié)構(gòu)原理如圖3所示。
圖3 Attention機制原理示意圖
其中,xt(t∈[0,n])表示TCN網(wǎng)絡(luò)的輸入,ht(t∈[0,n])對應(yīng)于每一個輸入通過TCN得到的隱藏層輸出,at(t∈[0,n])為Attention機制對TCN隱藏層輸出的注意力權(quán)重,yt(t∈[0,n])為引入Attention機制的輸出值。Attention機制的權(quán)重系數(shù)計算公式可表示為:
et=utanh(wht+b)
(8)
(9)
(10)
式中et表示第t時刻由TCN網(wǎng)絡(luò)輸出層向量ht所確定的注意力權(quán)重;u和w為權(quán)重系數(shù);b為偏置系數(shù);yt為Attention層在第t時刻的輸出。
針對短期光伏出力預測問題,文章將前述相似日匹配方法與引入Attention機制的TCN模型相結(jié)合,提出一種基于相似日匹配及TCN-Attention的組合預測模型(以下簡稱KTCNA),模型流程圖如圖4所示。
在相似日匹配階段。首先,通過K-Shape聚類算法基于整日光伏出力形態(tài)特征將光伏出力歷史數(shù)據(jù)劃分為多個相似日簇;然后,采用MIC計算待預測日NWP數(shù)據(jù)與各個聚類中心NWP數(shù)據(jù)的相關(guān)性,為待預測日匹配訓練子集。
圖4 KTCNA組合模型流程圖
在預測模型階段,將待預測日對應(yīng)的訓練子集及其NWP數(shù)據(jù)輸入到TCN-Attention預測模塊中進行模型訓練,再輸入待預測日的NWP數(shù)據(jù)預測出光伏出力預測值。TCN-Attention預測模塊如圖5所示。
圖5 TCN-Attention預測模塊
該模塊由輸入層、TCN殘差模塊、Attention機制、輸出層組成。模塊中每層描述如下:
(1)輸入層輸入歷史相似日訓練子集及其NWP歷史數(shù)據(jù)進行訓練,然后輸入待預測日NWP數(shù)據(jù)進行預測;
(2)TCN殘差模塊在TCN卷積層的基礎(chǔ)上加入了WeightNorm層、激活函數(shù)和Dropout層,并在輸入經(jīng)過兩層TCN卷積層后增加輸入的直接映射。WeightNorm層能有效加快計算速度,Dropout層使神經(jīng)元隨機失活防止模型出現(xiàn)過擬合現(xiàn)象。添加輸入的直接映射構(gòu)建殘差連接使模型能夠進行更深層次的訓練。為了讓模型訓練充分,文中模型包含了多個TCN殘差模塊,并通過加入一個1×1卷積,解決殘差模塊輸入輸出數(shù)據(jù)可能具有不同維度的問題;
(3)Attention機制為深層特征自動計算相應(yīng)的權(quán)重分配并與其合并為新的向量。該層輸入為TCN的輸出向量,Permute層將輸入的維度按照給定模式進行重排,Multiply層將Attention的輸出與TCN殘差模塊的輸出完成位與位相乘輸出,實現(xiàn)了對隱層單元的動態(tài)加權(quán)過程,從而突出關(guān)鍵特征對光伏出力的影響;
(4)輸出層為全連接層,接受來自Attention機制加權(quán)處理后的輸出向量,將其處理為光伏出力預測值。
由此可見,輸入向量從輸入層開始,經(jīng)過多個TCN殘差模塊處理后進入Attention機制。Attention機制會依據(jù)當前輸入的向量計算注意力權(quán)重向量,并將兩者合并得到新的向量,輸入到全連接層中輸出預測值。
文章選取全球能源預測競賽提供的國外某地區(qū)光伏電站數(shù)據(jù)集為研究對象。選取2013年1月1日至2013年12月15日數(shù)據(jù)為訓練集,2013年12月16日至12月31日數(shù)據(jù)為測試集。文中依據(jù)所提KTCNA模型對測試集中的待預測日進行日前預測,即根據(jù)NWP數(shù)據(jù)對未來一天的光伏出力值進行預測。為說明文章所提出的KTCNA組合模型的有效性,文中與TCN、LSTM和無相似日匹配的TCN-Attention(以下簡稱TCNA)對光伏出力的預測精度進行對比,并按照簇的劃分,以均方根誤差(Root Mean Square Error,RMSE)和擬合系數(shù)(R2)兩種指標對TCN、LSTM、TCNA和KTCNA的預測精度進行評價。
對原數(shù)據(jù)集按照4種典型的天氣類型進行相似日匹配后得到4個簇,其情況統(tǒng)計如表2所示。
表2 相似日匹配結(jié)果統(tǒng)計
為防止各特征量綱不同對模型的訓練造成影響,在輸入模型前對原始數(shù)據(jù)進行標準化處理,使其處在(0,1)之間,其計算公式為:
(11)
式中x為各特征原始數(shù)據(jù);xmax和xmin為各特征的最大值與最小值;xnormal是標準化處理后的各特征數(shù)據(jù)。
為驗證模型的有效性,采用RMSE和R2對預測效果進行評價,其計算公式分別如下:
(12)
(13)
本實驗平臺硬件配置為處理器是Intel Xeon E5,GPU顯卡是Tesla P100的工作站。模型開發(fā)基于Python語言。實驗中基于TCN的模型在設(shè)計上均采用7個殘差模塊,卷積層的卷積核個數(shù)均設(shè)置為128個。相對應(yīng)的,基于LSTM的模型在設(shè)計上包含了7個隱藏層,隱藏層的神經(jīng)元個數(shù)均設(shè)置為128個。所有模型防止過擬合的dropout率均設(shè)定為0.3。由于LSTM無法進行并行計算,其速度較慢,為最大限度提高LSTM計算速度,文中采用TensorFlow框架的GPU加速版開發(fā)LSTM模型。詳細實驗結(jié)果如表3所示。
表3 預測誤差定量對比
3.2.1 待預測日各簇整體誤差對比
圖6為表3中的各簇誤差指標平均值的可視化展示。在圖6(a)中,對于絕對誤差RMSE而言,KTCNA的誤差在各簇中都是最小的,其效果最好;TCNA與LSTM各具優(yōu)勢,在簇3與簇4中LSTM誤差較小,而在簇1與簇2中TCNA誤差較?。籘CN只在簇2中好于LSTM,在其他簇中的誤差都較大。在圖6(b)中,從擬合系數(shù)R2分析,簇4的擬合程度整體低于其他簇,表明其預測難度較大,其中KTCNA擬合程度明顯優(yōu)于其他方法;簇1的預測難度較小,各方法均能在該簇取得較好的效果。
圖6 評價指標平均值對比
由此可見,文中所提基于相似日匹配的組合模型KTCNA較之其他模型更具有針對性,在待預測日各簇中均能取得較好效果。
3.2.2 各簇中某待預測日具體光伏出力預測對比
圖7中分別為TCN,LSTM,TCNA和KTCNA對簇1中12月19日,簇2中12月18日,簇3中12月16日,簇4中12月23日的光伏出力預測曲線。
如圖7(a),在對簇1中12月19日的預測中,在光伏出力較為平穩(wěn)的情況下,LSTM,TCNA和KTCNA都能相對穩(wěn)定地進行預測。就擬合程度而言,KTCNA的R2值為0.965,這表明該方法在出力平穩(wěn)時具有較好的預測效果。
如圖7(b),在對簇2中12月18日的預測中,KTCNA在大部分采樣點處都能較好地預測出力(RMSE為0.045MW,R2為0.976),但對于14:00處的波動未能預測準確。
如圖7(c),在對簇3中12月16日的預測中,光伏出力波動較大。此時TCN的預測效果顯著降低,但是由于Attention機制的引入,TCNA和KTCNA的預測效果得到了較大提升。
圖7 某日具體光伏出力預測誤差對比
如圖7(d),在對簇4中12月23日的預測中,光伏出力整體縮減且劇烈波動。但是KTCNA(RMSE為0.054 MW,R2為0.733)能夠較好地學習到曲線“雙峰”的特征,LSTM(RMSE為0.065 MW,R2為0.615)也能學習到該特征,但是效果較差,TCNA(RMSE為0.077 MW,R2為0.481)和TCN(RMSE為0.086 MW,R2為0.333)不能學習到該特征。
3.2.3 不同方法整體預測效果對比
文中在考慮預測精度的同時,也考慮到了各方法存在的時間成本。由于深度學習方法的時間成本在于模型的訓練過程,因此文中通過對各方法訓練多次,求取訓練時間的平均值來量化模型的時間成本。
表4為所有預測日的RMSE、R2和模型訓練時長的平均值??梢?,KTCNA的精度是最高的,其RMSE平均值相對于其他方法分別降低了44.83%、35.35%和20.99%,其R2平均值明顯高于其他方法。對于模型的平均訓練時長來說,LSTM模型訓練速度最慢,消耗的時間最長,其次是TCNA和TCN。得益于相似日匹配的效果,數(shù)據(jù)集復雜度得到有效降低,在不損失精度的前提下提高了模型訓練速度,減少了平均訓練時長,使得KTCNA精度高、速度快。
表4 不同方法整體對比
文章提出了一種基于相似日匹配的TCN-Attention組合預測方法。采用K-Shape算法和MIC對光伏出力數(shù)據(jù)進行相似日匹配降低訓練集的數(shù)據(jù)冗余,讓模型訓練更具有針對性,有效地減少了模型的訓練時長。該模型融合了TCN網(wǎng)絡(luò)與Attention機制,在進行特征學習的同時能夠調(diào)整不同深層特征的權(quán)重,與基于LSTM的方法相比,避免了梯度問題并且可以大規(guī)模并行處理數(shù)據(jù)。此外,從預測效果可知,文章所采用的方法具有精度高、速度快的特點。
文中采用相似日匹配進行預測的思想為光伏出力預測提供了新的研究思路,具有一定的實用性。在文章中,僅用該方法進行了確定性預測,下一步可以考慮將該方法應(yīng)用于光伏出力概率預測。