張 進,劉 運,彭曙蓉
(1.陜西科技大學(xué)電氣與控制工程學(xué)院,西安710021;2.長沙理工大學(xué)電氣與信息工程學(xué)院,長沙410114)
光伏發(fā)電是可再生能源太陽能最重要的一種應(yīng)用,截至2018 年底,全球總光伏裝機量大于500 GW,2018 年全球新增光伏裝機量約103 GW,其中,我國新增光伏發(fā)電裝機量為43 GW,占2018 年全球新增光伏發(fā)電裝機量的40%以上,中國已成為全球最大的光伏發(fā)電市場。光伏出力具有很大的隨機性和波動性,大面積并網(wǎng)會對電力系統(tǒng)產(chǎn)生一定影響[1]。有學(xué)者提出,光伏發(fā)電系統(tǒng)的發(fā)電功率在電力系統(tǒng)總發(fā)電功率中占比的提高會使電網(wǎng)調(diào)度難度加大,當比例大于15%時,則會造成發(fā)電系統(tǒng)錯亂的后果[2]。因此,對光伏發(fā)電功率的準確預(yù)測能夠很大程度上解決光伏發(fā)電所帶來的問題,使電網(wǎng)實現(xiàn)效率最大化。
國內(nèi)外學(xué)者針對光伏預(yù)測已經(jīng)做了較多的研究,主要的預(yù)測方法分為直接法和間接法[3]。直接預(yù)測法是根據(jù)光伏發(fā)電的歷史數(shù)據(jù)和氣象預(yù)測數(shù)據(jù)直接預(yù)測發(fā)電功率或發(fā)電量,直接法雖然預(yù)測過程簡單但是考慮因素比較單一,預(yù)測的發(fā)電功率也不夠精確;例如文獻[4-5]中采用直接法構(gòu)造了ARMA模型以及馬爾科夫鏈模型預(yù)測短時間光伏發(fā)電功率,這種模型僅僅在晴天狀況下的出力預(yù)測效果較好,適用條件太單一。間接預(yù)測法則是先根據(jù)相關(guān)數(shù)據(jù)預(yù)測出太陽輻照度,再通過某種算法來預(yù)測光伏發(fā)電功率或者光伏發(fā)電量,間接法的預(yù)測精度比直接法高很多,使用也越來越廣泛。文獻[6-7]中參考了相似日和相似時段光伏出力的基礎(chǔ)上,對不同天氣狀況下的光伏出力預(yù)測搭建了BP 神經(jīng)網(wǎng)絡(luò)、Elman 神經(jīng)網(wǎng)絡(luò)和Spiking 神經(jīng)網(wǎng)絡(luò)模型,這些模型只適合于天氣類型單一的日光伏出力預(yù)測,而對于1 d 當中歷經(jīng)多種天氣變化情況的預(yù)測效果相對較差。文獻[8]中進行光伏出力預(yù)測的方法選取的是灰度神經(jīng)網(wǎng)絡(luò)混合模型算法,對光伏出力有主要影響的因素納入了考量范圍,所得結(jié)果比單一模型好,但利用此模型進行預(yù)測時必須依照天氣情況來劃分子模型,實際適用效果較差;文獻[9]中使用多種灰色預(yù)測模型相互結(jié)合的方式對光伏出力預(yù)測進行建模,但是因為未結(jié)合天氣、溫度、濕度等因素,預(yù)測的精度不是很好。文獻[10-11]中建立了基于支持向量機的光伏預(yù)測系統(tǒng),利用歷史數(shù)據(jù)和氣象數(shù)據(jù)按照統(tǒng)一建模和按時間順序建模對光伏出力進行了分析與預(yù)測,將兩種建模方式進行對比,得到按時間順序建模預(yù)測精度較高的結(jié)論,但是因為考慮的影響因素較少,沒有進行特征挖掘,得到的結(jié)論并不精準。深度學(xué)習(xí)方法預(yù)測過程簡單、結(jié)果較為準確,近年來受到了廣大學(xué)者的青睞。文獻[12-13]中則利用了SVG 模型、玻爾茲曼機算法、梯度累積策略等深度學(xué)習(xí)方法對光伏出力進行分析與預(yù)測,得到了較為精確的預(yù)測結(jié)果,但由于沒有考慮光伏出力的特征挖掘,預(yù)測精度還可有待提高。
本文提出深度學(xué)習(xí)方法中基于特征挖掘的門控循環(huán)單元網(wǎng)絡(luò)和注意力機制(Gated Recurrent Unit-Attention,GRU-A)光伏發(fā)電功率預(yù)測模型。門控循環(huán)模型(Gated Recurrent Unit,GRU)是基于長短期記憶模型(Long Short-Term Memory,LSTM)的一種變體,它把LSTM的遺忘門和輸入門合并成一個更新門,這樣可以簡化模型,使計算過程變得更加快速簡單。但LSTM和GRU均無法表示隱層輸出的重要性[14]。所以,文中在GRU的基礎(chǔ)上加入了可以體現(xiàn)每個輸出重要程度的注意力機制(Attention),賦予隱層不同的權(quán)重,處理長向量序列。將GRU模型和Attention模型結(jié)合起來,建立了GRU-A 光伏預(yù)測模型。最后,根據(jù)某個光伏電站的實際光伏數(shù)據(jù)進行仿真,仿真結(jié)果證明了基于特征挖掘的GRU-A 光伏發(fā)電功率預(yù)測模型相比于其他模型能得到更為精確的結(jié)果。
由光伏發(fā)電原理可知,太陽實發(fā)輻照度與實際功率呈現(xiàn)正相關(guān)關(guān)系,光伏發(fā)電功率的實際大小很大程度上由實際輻照度決定。由圖1 可以看出,實發(fā)輻照度與實際功率呈完全正相關(guān),尤其在時間點50 和150前后,兩條曲線完全重合,實發(fā)輻照度和實際功率大致成100 倍的關(guān)系(文中相關(guān)圖片橫坐標時間點的數(shù)據(jù)采樣頻率為15 min。)
圖1 光伏實際功率與實發(fā)輻照度關(guān)系
圖2 展示了光伏實際功率與溫度的關(guān)系??梢钥闯鰞烧咧g并不是簡單的正比例關(guān)系,當溫度出現(xiàn)峰值時,光伏實際功率則會驟降至零,并在溫度下降過程中,一直保持為零。
圖2 光伏實際功率與溫度關(guān)系
雖然實發(fā)輻照度與溫度和實際功率呈線性關(guān)系,但濕度、風(fēng)速、風(fēng)向和壓強與光伏實際出力并沒有明顯的線性關(guān)系,由圖3 ~6 很難找到兩條曲線的線性關(guān)系。除此之外,由輻照度、溫度、濕度、風(fēng)速、風(fēng)向及壓強構(gòu)成的統(tǒng)計特征和多項式特征對光伏實際功率也存在一定影響。因此需要以這些特征為基礎(chǔ)建立構(gòu)造特征,以便模型能夠更好地學(xué)習(xí)各個特征與光伏實際出力之間的關(guān)系。
圖3 光伏實際功率與濕度關(guān)系
圖4 光伏實際功率與風(fēng)速關(guān)系
圖5 光伏實際功率與風(fēng)向關(guān)系
圖6 光伏實際功率與壓強關(guān)系
預(yù)測未來的光伏實際功率用到的數(shù)據(jù)都是未來的相關(guān)預(yù)測數(shù)據(jù)。溫度、濕度、壓強等和天氣相關(guān)的預(yù)測數(shù)據(jù)都可以通過氣象預(yù)報得到,但是預(yù)測輻照度(文中簡稱輻照度)就得通過圖7 分析獲得。從圖中可以看出,輻照度具有較強的周期性規(guī)律,因此構(gòu)造兩種特征來表示這種周期性,即dis2peak和peak輻照度。前者代表距周期峰值的距離;后者代表輻照度峰值的實際值。
圖7 dis2peak與peak輻照度特征構(gòu)造方法
為了使模型預(yù)測更精確,需要考慮更多的影響因素。通過分析,在上文1.1 的基礎(chǔ)上添加了時間特征、相關(guān)因素的均值、方差、平方等特征,以及每天的白天溫差特征,還有各因素差值構(gòu)造,例如白天溫差就是當天白天最大溫度和最小溫度差值,其他因素差值做相同處理。
風(fēng)速及大氣濕度會影響太陽能光伏板表面的積灰程度,從而影響光伏出力。諸如此類的影響因素通過特征構(gòu)造后共有132 個特征,這種特征構(gòu)造對光伏出力的影響因素考慮全面,既能增加特征的非線性性,還可以發(fā)掘特征融合后對光伏發(fā)電功率的影響,使光伏預(yù)測更加精確。特征構(gòu)造的方法是對相關(guān)因素之間進行多項式特征和統(tǒng)計特征構(gòu)造,其中多項式特征的構(gòu)造方法為:假設(shè)有特征a、b,則對應(yīng)特征為1,a,b,ab等;統(tǒng)計特征的構(gòu)造方法為:假設(shè)有特征a、b,則對應(yīng)統(tǒng)計特征為amean,bmean,astd,bstd。
1.2.1 多項式特征
(1)a,b分別為各個特征的獨立模型,如風(fēng)速、風(fēng)向、濕度、溫度、輻照度、壓強、白天溫差等。
(2)特征a·b:輻照度·風(fēng)速、風(fēng)速·溫度、溫度·壓強、風(fēng)速·壓強、輻照度·壓強、風(fēng)速·風(fēng)向、輻照度std·風(fēng)速mean、風(fēng)速·風(fēng)速、濕度·濕度、溫度·溫度等。
(3)特征a/b:輻照度/風(fēng)速、風(fēng)速/溫度、溫度/壓強、風(fēng)速/壓強、輻照度/壓強、風(fēng)速/風(fēng)向、輻照度std /風(fēng)速std、濕度mean/風(fēng)速mean等。
(4)特征a+b:輻照度+風(fēng)速、風(fēng)速+溫度、溫度+壓強、風(fēng)速+壓強、輻照度+壓強、風(fēng)速+風(fēng)向、輻照度std+風(fēng)速mean等。
(5)特征a-b:輻照度-風(fēng)速、風(fēng)速-溫度、溫度-壓強、風(fēng)速-壓強、輻照度-壓強、風(fēng)速-風(fēng)向、風(fēng)速mean-輻照度std等。
1.2.2 統(tǒng)計特征
(1)特征a或b的均值(mean)。如風(fēng)速mean、濕度mean、溫度mean、輻照度mean、壓強mean、白天溫差mean等。
(2)特征a或b的標準差(std)。如風(fēng)速std、濕度std、溫度std、輻照度std、壓強std、白天溫差std等。
文中考慮到的特征與其他現(xiàn)有文章相比更加全面,不再拘泥于幾個因素,而是全方位地構(gòu)造出了上百個特征,同等條件下,考慮的特征越多,則預(yù)測精度就越高。在預(yù)測模型建造好之后,構(gòu)造好的特征將作為輸入數(shù)據(jù)傳送到預(yù)測模型中,以實現(xiàn)使文中光伏發(fā)電功率預(yù)測精度更高的目的。
GRU網(wǎng)絡(luò)是一種比LSTM 網(wǎng)絡(luò)更加簡單、快速的循環(huán)神經(jīng)網(wǎng)絡(luò),加進了門控機制來控制信息更新的方式。在LSTM原有的基礎(chǔ)上引入了一個更新門來決定此刻狀態(tài)從上一時刻狀態(tài)中保留的信息量以及從候選狀態(tài)中選取的信息量[15]。它的傳遞公式如下:
其中:
①Zt∈[0,1]是更新門,當Zt=0 時,當前狀態(tài)ht和前一時刻狀態(tài)ht-1互為非線性函數(shù)關(guān)系;當Zt=1時,當前狀態(tài)ht和前一時刻狀態(tài)ht-1互為線性函數(shù)關(guān)系,ht-1是上一時刻狀態(tài)。?為向量乘積符號。
②ht是當前時刻的候選狀態(tài)。rt∈[0,1]是重置門,用來控制ht的計算。當rt=0 時,ht只和當前輸入xt有關(guān),和歷史狀態(tài)無關(guān)。當rt=1 時,ht和當前輸入xt與歷史狀態(tài)ht-1都有關(guān)。
③σ為Sigmoid函數(shù);tanh為雙曲正切函數(shù)。
由式(1)可以看出,Zt= 0,rt=1 時,GRU 網(wǎng)絡(luò)為簡單循環(huán)網(wǎng)絡(luò);Zt=0,rt=0 時,ht只和xt有關(guān),和ht-1無關(guān);當Zt=1 時,ht=ht-1,和當前輸入xt無關(guān)。
圖8 為GRU循環(huán)單元結(jié)構(gòu),其中zt表示更新門,rt代表重置門。zt用于控制前一時刻的狀態(tài)信息被帶入到當前狀態(tài)中的程度,zt的值越小,前一時刻的狀態(tài)信息被帶入到當前狀態(tài)的就越少。rt控制前一狀態(tài)的信息被傳送到當前候選狀態(tài)ht中的數(shù)量,rt越大,前一狀態(tài)的信息被寫入當前候選狀態(tài)的就越多。
圖8 GRU結(jié)構(gòu)圖
當需要處理大量輸入數(shù)據(jù)時,就可以用注意力機制(Attention機制)來從大量信息中選擇一些關(guān)鍵信息進行處理,這可以簡化運算、減小神經(jīng)網(wǎng)絡(luò)的計算負擔、節(jié)約計算機資源。注意力模型如圖9 所示,其中x1,x2,x3,…為輸入,h1,h2,h3,…為輸出。
圖9 注意力模型
Attention機制的計算可以分為兩個步驟:① 在所有輸入數(shù)據(jù)中計算注意力分布;②根據(jù)注意力分布來計算加權(quán)平均。這里選用自注意力模型作為輸入的注意力模型。假設(shè)輸入信息為x=[x1,x2,…,xN,]∈,輸出信息為,通過線性變換可以得到以下3 組向量序列:
式中:Q是查詢向量序列;K 是鍵向量序列;V 是值向量序列;WQ、WK、WV分別是可學(xué)習(xí)的參數(shù)矩陣;i,j∈[1,N]為輸出和輸入向量序列的位置,連接權(quán)重αij由注意力機制動態(tài)生成。
文中所提的GRU-A 模型結(jié)構(gòu)如圖10 所示。GRU-A模型使用上文中所搭建的特征群作為輸入x1,x2,…,xi,通過GRU 模型進行計算得到對應(yīng)輸出h1,h2,…,hi,然后在隱藏層中利用Attention 機制計算各個輸入的注意力概率分布值a1,a2,…,ai,輸出層的輸入是上一層Attention 層的輸出。最后利用Softmax 函數(shù)對輸出層的輸入進行相應(yīng)計算,從而得到下一時刻的光伏發(fā)電功率預(yù)測。
圖10 GRU-A模型結(jié)構(gòu)圖
GRU-A模型的訓(xùn)練和測試流程圖如圖11 所示。將上文1.2 中提出經(jīng)過特征挖掘工程處理后的特征如濕度、風(fēng)速、輻照度、壓強等作為輸入傳送進GRU-Attention網(wǎng)絡(luò),經(jīng)過一系列計算最終可輸出光伏功率的預(yù)測值。
圖11 模型預(yù)測流程
模型參數(shù)的優(yōu)化采用一階Adam(Adaptive Moment Estimation)優(yōu)化算法。此算法可以通過連續(xù)更新迭代網(wǎng)絡(luò)神經(jīng)元節(jié)點的權(quán)重和偏置使函數(shù)值降至最優(yōu)值。在模型訓(xùn)練期間,根據(jù)訓(xùn)練輸出和標準化實際功率計算GRU-A的損失MSE(Mean Squared Eorr),
式中:n為樣本數(shù);yi為實際值;^yi為模型輸出值。
光伏功率預(yù)測的評價指標選定如下:
R2(R-squared)可決系數(shù)
MAE(Mean Absolute Error)均方根誤差
MAPE(Mean Absolute Percentage Error)相對百分誤差絕對值的平均值
根據(jù)某個光伏電站的實際光伏數(shù)據(jù)共41 853 條數(shù)據(jù),數(shù)據(jù)采樣頻率為15 min,從2018-01-01 0:00:00開始直到2019-04-26 4:00:00。在cpu:i7-9 700K,gpu:2080Ti 11 GB,內(nèi)存:16 GB 的計算機條件下進行。在41 853 條數(shù)據(jù)中選用33 853 條作為訓(xùn)練數(shù)據(jù),剩余8 000 條作為測試數(shù)據(jù)。數(shù)據(jù)中包含了時間、輻照度(預(yù)測輻照度)和來自數(shù)字天氣預(yù)報的風(fēng)速、風(fēng)向、溫度、壓強、濕度。采用下式對數(shù)據(jù)進行標準化,
式中:μ是該特征的均值;σ是該列特征的方差。
文中采集了實際的光伏數(shù)據(jù)集對模型進行實驗,選擇LSTM、BP、SVR、GRU 預(yù)測模型與文中所提出的GRU-A預(yù)測模型進行結(jié)果對比。5 種模型的輸入數(shù)據(jù)保持一致,均包括原始特征和經(jīng)特征工程構(gòu)造后的特征。這些特征組成輸入特征矩陣,分別采用以上5 種模型進行建模訓(xùn)練和預(yù)測。由此可以驗證特征工程構(gòu)造的預(yù)測精度以及GRU-A 模型的優(yōu)良性能。模型及其參數(shù)見表1,其中神經(jīng)網(wǎng)絡(luò)的參數(shù)代表其每層的單元數(shù)。
表1 各個模型參數(shù)
采用表1 中5 個模型分別對原始特征和特征工程構(gòu)造后的特征進行建模,可得表2 給出的共8 000 個點的預(yù)測值平均MAE、R2、MAPE。經(jīng)過對比可以看出,構(gòu)造特征后的5 個模型的MAE、R2、MAPE 基本都有所提高,證明了對輸入數(shù)據(jù)進行特征構(gòu)造可以使模型精度顯著提高。
表2 各個模型預(yù)測結(jié)果
表2 的預(yù)測結(jié)果中包含各類型復(fù)雜天氣情況,由于光伏發(fā)電功率受天氣影響隨機波動性較大,有必要深入分析不同變化情況下的光伏實際預(yù)測情況。為了具體驗證GRU-A模型的有效性,將不同天氣下基于構(gòu)造特征的模型的預(yù)測結(jié)果進行展示。由于夜晚不存在陽光,所以只關(guān)注早上6:00 到晚上18:00 的光伏發(fā)電功率。
圖12 展示了晴天的光伏發(fā)電功率預(yù)測曲線圖。如圖所示,5 個模型都能擬合出實際光伏發(fā)電功率,擬合精度與穩(wěn)定性卻有較大差別。BP 模型的預(yù)測曲線和實際功率曲線走向穩(wěn)定性比較一致,但精確度不夠。SVR、BP、LSTM、GRU 4 個模型的預(yù)測曲線穩(wěn)定性和精度均不佳。而GRU-A 的功率預(yù)測曲線和實際功率曲線最靠近,預(yù)測穩(wěn)定性和精度都最好。
圖12 晴天下光伏發(fā)電功率預(yù)測對比
圖13 展示了復(fù)雜天氣情況下(上午晴天下午陰天)的光伏功率預(yù)測結(jié)果。此時,只有GRU-A 預(yù)測模型曲線與實際功率曲線大致貼合,說明該算法在天氣復(fù)雜時仍然能較好地預(yù)測光伏發(fā)電功率的變化情況。
圖13 天氣變化下光伏發(fā)電功率預(yù)測對比
圖14 展示了陰天情況下光伏功率預(yù)測情況,可看出,在此情況下只有GRU-A模型預(yù)測結(jié)果能大致擬合實際光伏發(fā)電功率。說明此類天氣下,需要有記憶能力的模型來預(yù)測光伏發(fā)電功率才會更加準確。
圖14 陰天下光伏發(fā)電功率預(yù)測對比
將仿真結(jié)果繪制成表格形式如表3 所示,其中,“變天”指1 d當中天氣在晴朗和陰天當中變換不定。對比分析可得,晴天時,GRU-A 模型預(yù)測結(jié)果的MAE和MAPE低了將近50%,而R2則與其他模型接近,顯然,GRU-A預(yù)測模型性能最好。而當天氣由晴好到變天時,其他模型的預(yù)測誤差率增大了50%以上,只有GRU-A的誤差率增大最少,變天情況下,誤差率也最小。由此,天氣復(fù)雜情況下,GRU-A 預(yù)測模型的預(yù)測性能最好。陰天時,GRU-A模型的3 項指標都比其他4 個模型好。由此可得,不論在何種天氣情況下,GRU-A模型的預(yù)測準確率都比其他模型更高。
以上通過仿真實驗曲線圖和數(shù)據(jù)圖表的形式對比了3 種不同天氣情況下各個模型的光伏發(fā)電功率預(yù)測結(jié)果。對此結(jié)果進行對比分析,充分證明GRU-A模型可以獲得更好的光伏發(fā)電功率預(yù)測指標和預(yù)測精度,既具有GRU模型的記憶能力,又比其他傳統(tǒng)模型具有更好的泛化能力和穩(wěn)定性,具有顯著的優(yōu)越性。
表3 不同天氣下不同模型的預(yù)測參數(shù)
光伏發(fā)電功率受到天氣狀況、輻照度、溫度、濕度等因素以及各因素組合等特征的影響,發(fā)電量的不穩(wěn)定性會嚴重影響電網(wǎng)的調(diào)度質(zhì)量、安全穩(wěn)定運行及經(jīng)濟效益。因此提出了一種基于特征挖掘的GRU-A 模型的光伏發(fā)電功率預(yù)測模型。文中首先對影響因素進行特征構(gòu)造,然后對比使用原始特征和構(gòu)造后特征兩種情況下各個模型的預(yù)測準確率,得出使用構(gòu)造后特征會顯著提高預(yù)測精確度的結(jié)論。最后通過仿真實驗對比了使用構(gòu)造后特征的各個模型在不同天氣情況下的光伏預(yù)測情況,經(jīng)過與其他模型的比較,證明了GRU-A模型有以下優(yōu)點:① 具有很強的泛化能力、構(gòu)造了統(tǒng)計特征與多項式特征使預(yù)測結(jié)果更加精確;②搭建的GRU-A模型使預(yù)測結(jié)果更加穩(wěn)定精準,不論天氣情況單一還是復(fù)雜多變,GRU-A模型都能夠精確地預(yù)測光伏出力??偠灾?,與其他傳統(tǒng)模型相比,基于特征挖掘的GRU-A 光伏發(fā)電功率預(yù)測模型的預(yù)測精度更高、預(yù)測穩(wěn)定性更好。