史加榮,殷 詔
(西安建筑科技大學理學院,陜西西安 710055)
隨著傳統(tǒng)化石能源的日益緊缺和環(huán)境污染問題的日益嚴重,清潔可再生能源,特別是太陽能得到了大規(guī)模的開發(fā)和利用[1-2]。然而,光伏輸出功率的波動性和隨機性給光伏并網(wǎng)和電力調度帶來了困難,且對電力系統(tǒng)的安全性和穩(wěn)定性也是一種威脅[3-8]。
精確的超短期光伏功率預測是確保安全、穩(wěn)定和經(jīng)濟的重要解決方案。因此,在1h 或更短的時間內獲得精確的光伏功率預測,將有助于電網(wǎng)部門確定必要的備用發(fā)電容量,對促進光伏電站融入電力系統(tǒng)、提高電網(wǎng)的安全性和穩(wěn)定性具有重要意義[9-10]。
為了提高太陽能發(fā)電功率的預測精度,人們提出并驗證了許多預測方法[11-17]?,F(xiàn)有的光伏發(fā)電預測模型主要將環(huán)境因素和歷史數(shù)據(jù)作為輸入特征變量[18-21],再通過神經(jīng)網(wǎng)絡[22-24]等自適應學習算法對光伏發(fā)電功率進行預測。近年來,隨著深度學習的發(fā)展,越來越多的混合模型被用于光伏發(fā)電功率的預測。比如Kumari 等[25]基于長短期記憶(Long and Short Term Memory,LSTM)和卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)建立了提取時空特征的混合模型,它在不同氣候、季節(jié)和天氣條件下均具有較好的預測精度。Tariq 等[26]將LSTM和時間卷積網(wǎng)絡模型相結合,提出了用于光伏發(fā)電單步和多步預測的組合模型,其在不同季節(jié)和時間段都優(yōu)于單一的模型。Li 等[27]建立了一種多步超前光伏功率預測的混合模型,它結合了時間序列生成對抗網(wǎng)絡、軟動態(tài)時間扭曲的中心聚類、CNN 以及門控循環(huán)單元(Gate Recurrent Units,GRU)。此外,寬度學習系統(tǒng)(Broad Learning System,BLS)也逐漸應用到光伏發(fā)電功率預測中,周楠等[28]基于自組織映射與BLS 構建了預測模型,它在網(wǎng)絡寬度上擴展節(jié)點數(shù)目,并通過求解矩陣偽逆訓練神經(jīng)網(wǎng)絡。李潤澤等[29]采用淺層模糊寬度學習網(wǎng)絡來預測光伏發(fā)電。
深度學習模型雖有出色的泛化能力和高的學習精度,但存在學習時間過長的問題。BLS 構建了與深度網(wǎng)絡結構不同的寬度神經(jīng)網(wǎng)絡,雖然學習速度得到了很大的提升,但由于多隱藏層結構導致其學習精度受到影響。深度學習模型能夠從訓練數(shù)據(jù)中挖掘出更抽象的特征,具有很好的泛化能力,而BLS 能夠從訓練數(shù)據(jù)中學習到重要特征,且對訓練數(shù)據(jù)擬合度較高。因此,本文將GRU 與BLS 相融合,提出GRU-BLS 模型,并將其應用于超短期光伏發(fā)電功率預測。所提出的模型可有效緩解深度學習訓練時間長和易陷入局部極值的缺點,同時寬度學習擬合能力不足的問題也得以改善。
作為循環(huán)神經(jīng)網(wǎng)絡的變體之一,GRU 能夠很好地捕捉光伏發(fā)電功率序列長短期之間的依賴關系,解決復雜因素影響下的預測問題。GRU 網(wǎng)絡分為重置門、更新門、候選隱藏狀態(tài)及隱藏狀態(tài)[30]。
在第t個時刻,重置門的輸入為發(fā)電功率特征向量xt∈Rd×1和上一時刻的隱藏層狀態(tài)向量it-1,d為輸入特征維數(shù)。重置門輸出向量rt為:
式中:Wr和Ur為重置門的參數(shù)矩陣;br為重置門的偏置向量;σ為Sigmoid 函數(shù)。
更新門的輸入與重置門相同,輸出向量zt為:
式中:Wc和Uc為更新門的參數(shù)矩陣;bc為更新門的偏置向量。
候選隱藏狀態(tài)的輸入比更新門多了一項rt,輸出向量為:
式中:W和U為隱藏層的參數(shù)矩陣;bh為候選隱藏狀態(tài)的偏置向量;“⊙”為向量對應元素相乘;tanh為雙曲正切函數(shù)。
隱藏狀態(tài)將更新門輸出、上一時刻隱藏狀態(tài)和當前時刻候選隱藏狀態(tài)進行組合,計算公式為:
記xt樣本輸出為yt∈Re×1,e為輸出特征維數(shù),則GRU 模型中yt的預測值為:
式中:Wo和bo分別為輸出部分的連接權重矩陣和偏置向量。
與LSTM 相比,GRU 僅通過更新門和重置門實現(xiàn)對信息的保留和遺忘,加快樣本訓練速度。
作為一種簡單的新型快速增量學習模型,BLS采用了隨機向量函數(shù)連接網(wǎng)絡[31]。它將模型結構拓寬以克服深度學習易陷入局部最優(yōu)的缺點,實現(xiàn)訓練速度和預測精度的提高。將N個時刻的發(fā)電功率特征構成矩陣X,即X=(x1,…,xN)T。建立從原始特征矩陣X到n個特征節(jié)點的映射,第k個節(jié)點的特征Tk為:
將n個特征節(jié)點組成矩陣T(n)=(T1,…,Tn)。
根據(jù)T(n)生成m個增強節(jié)點:
將所有增強節(jié)點構成矩陣H(m)=(H1,…Hm)。
令Y=(y1,…,yN)T,BLS 將映射特征T(n)和H(m)進行連接,進而對Y進行預測:
式中:W(m)為輸出層的連接權重矩陣。
基于深度學習和寬度學習系統(tǒng)的優(yōu)勢,提出GRU-BLS 預測模型。該模型先利用GRU 提取時間序列特征,再使用BLS 進行預測,可以更好地表達光伏發(fā)電功率的非線性特性。
將輸入實例xt輸入到GRU 網(wǎng)絡,訓練模型參數(shù),經(jīng)式(1)至式(4)得到隱藏狀態(tài)it。記I(N)=(i1,…,iN)T,將I(N)視為輸入特征矩陣,根據(jù)式(6)生成n個新的特征節(jié)點:
其中‖·‖F(xiàn)表示矩陣的Frobenins 范數(shù),式(12)的最優(yōu)解表示為:
式中:Q+為Q的偽逆。
由于式(13)泛化誤差可能較大,故考慮正則化的目標函數(shù),即新的優(yōu)化模型為:
式中:λ為懲罰項系數(shù),λ>0。
稱優(yōu)化模型式(14)為嶺回歸問題,最優(yōu)的權重矩陣為:
式中:E為單位矩陣。
所提出的GRU-BLS 模型的結構框架如圖1 所示。在GRU 模塊,根據(jù)輸入特征矩陣X重新構造樣本集的輸入特征。在BLS 模塊,依據(jù)所構建的特征矩陣I(N),建立寬度學習系統(tǒng),再根據(jù)輸出特征訓練網(wǎng)絡模型。
將所提出的GRU-BLS 模型用于光伏發(fā)電功率數(shù)據(jù)的預測,流程如圖2 所示。
圖2 光伏發(fā)電功率的GRU-BLS預測流程圖Fig.2 Flow chart of GRU-BLS prediction for photovoltaic power generation
圖2 中RMSE,TIC,MAPE 分別表示均方根誤差(Root Mean Squared Error,RMSE)、希爾不等系數(shù)(Theil’s Inequality Coefficient,TIC)、平均絕對百分誤 差(Mean Absolute Percentage Error,MAPE)。RMSE,TIC 和MAPE 的值分別用ERMS,CTI,EMAP表示。預測流程主要分為以下4 個步驟。
1)數(shù)據(jù)預處理:篩選出異常值,并用正常值進行替換;對于缺失值,利用插值方法進行恢復;將數(shù)據(jù)進行歸一化處理。
2)數(shù)據(jù)集的劃分:對預處理后的序列數(shù)據(jù),根據(jù)指定的滑動窗口構造樣本集,并將其分為訓練集和測試集。
3)模型訓練:將訓練集輸入到GRU 模型中進行初步訓練,并構造新特征;再將這些新特征輸入到BLS 中,確定最優(yōu)連接權重。
4)模型評價:將所提出GRU-BLS 模型應用在光伏發(fā)電功率預測中,并考慮不同季節(jié)和天氣類型下的預測結果。
本文所用數(shù)據(jù)集來自澳大利亞Yulara 光伏電站(https://dkasolarcentre.com.au/download?location=alice-springs),光伏材料為聚硅橡膠、1 058.4 kW 固定式面板。選取2018 年1 月1 日到2020 年1 月1日光伏功率穩(wěn)定輸出的時段(8:00—17:55),采樣間隔為5 min。
為提高數(shù)據(jù)的質量以及減少噪聲的影響,需要對原始數(shù)據(jù)集進行預處理。本文采用3σ原則篩選異常值:以正態(tài)分布為基礎,落在正態(tài)分布3σ邊界外的數(shù)值則為異常值。對缺失和異常的數(shù)據(jù)點進行標記,通過取相鄰數(shù)據(jù)的平均值來代替異常值和缺失值。最后將清洗后的數(shù)據(jù)進行[0,1]區(qū)間歸一化處理。
數(shù)據(jù)集共86 859 條記錄,使用前6 個時刻的光伏發(fā)電功率值來預測下一時刻功率輸出值,即步長d=6,輸出特征維數(shù)e=1。按照時間順序選取前80%的樣本集用作訓練,其余的20%用作測試。將所提出模型的預測性能與BLS,GRU,LSTM 和LSTMBLS 等幾種學習方法進行比較。
使用網(wǎng)格搜索方法確定GRU-BLS 模型中的超參數(shù)。在GRU-BLS 的GRU 模塊中,設置隱藏層的層數(shù)為4,各層神經(jīng)元數(shù)分別為128,64,32,32;稠密層的層數(shù)為2,對應神經(jīng)元數(shù)分別為10 和1;選取的損失函數(shù)為均方誤差(Mean Squared Error,MSE),迭代輪數(shù)為20。在GRU-BLS 的BLS 模塊中,設置映射特征節(jié)點個數(shù)n為10,增強節(jié)點個數(shù)m為280,懲罰項參數(shù)λ為10-5。對于單一的GRU或BLS 模型,超參數(shù)的設置與GRU-BLS 模型的對應模塊相同。LSTM 和LSTM-BLS 2 種模型的迭代輪數(shù)均設置為20。與GRU 類似,設置LSTM 的層數(shù)為4,神經(jīng)元數(shù)目分別為64,64,32 和16。在LSTM-BLS 中,BLS 模塊的超參數(shù)與GRU-BLS 對應的超參數(shù)設置相同。
為了有效地評估模型的預測精度,使用ERMS,CTI,EMAP3 項指標作為依據(jù),它們的計算公式為:
式中:yi為第i個測試樣本的真實值;為第i個測試樣本的預測值;Ntest為測試集樣本的數(shù)量。
ERMS用來評價功率預測值與真實值之間的偏差。CTI越小表明預測精度越高,當CTI=0 時預測曲線與真實曲線完全吻合。EMAP常用于評估時間序列的預測誤差,其值越小,預測精度越高。
將GRU-BLS 的預測性能與其他4 種模型進行比較,3 項評價指標如表1 所示。觀察表1 可知:3種單一模型中,BLS 對數(shù)據(jù)的特征提取能力最差,這可能是因為LSTM 和GRU 保持了數(shù)據(jù)集的時序結構;組合模型LSTM-BLS 和GRU-BLS 的預測性能顯著優(yōu)于單一模型;與LSTM-BLS 相比,GRU-BLS的ERMS,CTI和EMAP分別改善了39.49%,11.65%和16.38%。綜上所述,在不同的評價指標下,GRUBLS 模型取得了最佳的預測精度。
表1 各模型的預測誤差對比Table 1 Comparison of prediction errors among different models
圖3 繪制了各模型在部分測試集上的預測結果,此處對光伏發(fā)電功率進行了反歸一化處理。
圖3 各模型部分預測值與真實值比較Fig.3 Comparison between predicted values and actual values of each model
從圖3 可以看出:除BLS 外,所有模型的預測曲線與原始時序曲線變化趨勢均保持一致,且GRU-BLS 模型的預測結果更接近真實觀測值。
比較GRU 和GRU-BLS 2 種模型的訓練時間。選取ERMS作為評估誤差,時間效率的比較如圖4 所示。從圖4 可以看出:當GRU 模型訓練時間為1 758 s 時,ERMS為0.064 3,而GRU-BLS 模型的ERMS達到0.062 1 時僅用時224 s,即相近的預測誤差下所提模型GRU-BLS 具有更少的訓練時間。
圖4 GRU與GRU-BLS模型的訓練時間效率對比Fig.4 Comparison of training time efficiency between GRU and GRU-BLS models
光伏發(fā)電功率與季節(jié)有很強的相關性。為了進一步說明所提出模型的有效性和優(yōu)越性,另選取2020 年5 月(秋季)、6 月(冬季)、10 月(春季)、12月(夏季)的數(shù)據(jù)進行測試。圖5 至圖8 分別繪制了所選季節(jié)的部分預測值曲線。對比各模型的仿真結果,可得如下結論:在各季節(jié)中太陽輻射度變化導致光伏發(fā)電有間歇性,但GRU-BLS 仍然捕捉到每個季節(jié)的光伏功率變化模式,預測曲線更接近實際光伏發(fā)電功率曲線。在圖5—圖8 的上方繪制其方框內預測曲線和真實值曲線放大圖,以便可視化預測性能對比,可知當真實光伏功率波動較大時,GRU-BLS 的預測曲線與真實值曲線幾乎一致,其中秋季的預測性能最好。當真實光伏發(fā)電功率較小時,所提出的模型也能更準確預測光伏功率,其擬合度優(yōu)于其它方法。
圖5 秋季光伏發(fā)電功率部分預測值和真實值Fig.5 Partial predicted and actual values of photovoltaic power generation in autumn
圖6 冬季光伏發(fā)電功率部分預測值和真實值Fig.6 Partial predicted and actual values of photovoltaic power generation in winter
圖7 春季光伏發(fā)電功率部分預測值和真實值Fig.7 Partial predicted and actual values of photovoltaic power generation in spring
圖8 夏季光伏發(fā)電功率部分預測值和真實值Fig.8 Partial predicted and actual values of photovoltaic power generation in summer
表2 給出了不同季節(jié)下5 種模型的預測評價指標。觀察表2 可以發(fā)現(xiàn):所有模型在秋冬2 季的評價指標比較好,這是因為當?shù)? 月到8 月晴天多、雨天少,陽光強度高;而春夏兩季暴雨多,氣候濕度大,從而導致太陽輻射的不確定性和不穩(wěn)定性愈加嚴重。在春季,所提模型的ERMS比BLS,LSTM,GRU,LSTM-BLS 分別低55.21%,45.57%,33.84%,36.4%,CTI分別低70.63%,50.82%,41%,40.07%,EMAP值分別低77.02%,66.45%,66.22%,48.79%。在秋季,GRU-BLS 的ERMS比其它4 種方法分別低75.68%,57.09%,44.4%,37.76%,CTI分別低66.12%,33.09%,44.06%,26.18%,EMAP分別低71.57%,35.27%,54.21%,32.42%。此外,在夏冬季節(jié),所提模型也取得了最優(yōu)性能??傊珿RU-BLS 模型在各季節(jié)的評價指標值均為最低,預測效果顯著優(yōu)于其它模型。
表2 不同季節(jié)下5種模型的預測性能Table 2 Prediction performance of 5 models under different seasons
這些觀測結果進一步表明:無論太陽輻射波動是否強烈,在相同條件下GRU-BLS 具有最優(yōu)的性能。綜上所述,GRU-BLS 能有效地從數(shù)據(jù)中提取特征、捕獲信息和學習模式。此外,所提模型在不同季節(jié)都表現(xiàn)出良好的性能,適用于一年中的所有季節(jié)。
為了更深入地說明所提出模型的優(yōu)越性,考慮3 種不同的天氣類型:晴天(輻射穩(wěn)定)、雨雪天(PV功率低)和間歇日(輻射變化大),并對它們的功率進行預測。
圖9 至圖11 給出了所提模型在3 種典型天氣日8:00—17:35 的預測光伏功率曲線。通過觀察圖9 至圖11,可以看出:在晴天,GRU-BLS 能精確捕捉小幅度光伏功率變化,其預測曲線幾乎與真實值重合;在雨雪天,GRU-BLS 雖不及晴天預測性能,但也能在光伏功率大幅度波動時逼近真實曲線;在間歇日,GRUBLS 預測曲線在少數(shù)時刻并不能準確預測光伏功率,但整體上預測曲線變化趨勢與真實值大致相同。
圖9 晴天GRU-BLS光伏發(fā)電功率預測值和真實值Fig.9 Predicted and actual values of GRU-BLS photovoltaic power generation on clear days
圖10 雨雪天GRU-BLS光伏發(fā)電功率預測值和真實值Fig.10 Predicted and actual values of GRU-BLS photovoltaic power generation on rainy and snowy days
圖11 間歇日GRU-BLS光伏發(fā)電功率預測值和真實值Fig.11 Predicted and actual values of GRU-BLS photovoltaic power generation on intermittent days
表3 展示了各模型的預測誤差評價指標,可以得出如下結論:以ERMS為例,GRU-BLS 在晴天比LSTM,BLS,GRU,LSTM-BLS 分別低86.17%,85.29%,76.29%,46.8%;在雨雪天的誤差分別低71.18%,79.58%,58.56%,39.72%;在間歇日的誤差分別低62.09%,63.46%,45.75%,39.15%。在3 種天氣類型下,GRU-BLS 在晴天時的預測誤差最小。在雨雪天類型下,太陽輻射的不確定性和隨機性均增高,各模型都無法非常精確地預測。在間歇日類型下,太陽輻照強度產(chǎn)生劇烈變化,光伏功率波動較大,各個模型預測偏差較大。
表3 不同類型日5種模型的誤差值Table 3 Error values of 5 models for different types of days
由各模型在不同天氣類型下的評價指標值和仿真結果可知:無論在光伏功率穩(wěn)定輸出的晴天還是波動較大的突變天氣,本文所提出的GRU-BLS模型的預測曲線與實際光伏發(fā)電功率曲線高度擬合,預測誤差均顯著低于其它模型。
為了提高超短期光伏發(fā)電功率的預測精度和運行效率,提出了GRU-BLS 模型。首先利用GRU網(wǎng)絡從輸入數(shù)據(jù)中提取時間特征;然后根據(jù)GRU學習到的隱特征,構造BLS 的特征節(jié)點和增強節(jié)點,從而得到最終的特征表示。與傳統(tǒng)的BLS 模型相比,所提模型中的特征節(jié)點的輸入是由GRU 學習得到的隱特征,因此提高了BLS 的預測精度,同時減少了GRU 的訓練時間。實驗結果驗證了GRU-BLS 顯著優(yōu)于其它模型。此外,還探討了所提模型在不同季節(jié)和特定的天氣條件(晴天、雨雪天和間歇性天氣)下的預測性能,以及對比了GRU 網(wǎng)絡與GRU-BLS 模型的運行效率??傊疚奶岢龅幕旌夏P驮诒A鬐RU 網(wǎng)絡高精度的同時,還保留了BLS 運行速度快的優(yōu)點。
本文研究內容側重于光伏發(fā)電自身的歷史功率數(shù)據(jù),未考慮溫度、風向和太陽輻射等影響因素,也未探討多步預測,這些問題值得進一步研究。在今后的光伏功率預測的探索中,還可以考慮加入模態(tài)分解,以削弱預測模型中數(shù)據(jù)波動的影響,使寬度學習能增強數(shù)據(jù)的特征提取能力;設計智能算法,優(yōu)化所建模型的超參數(shù),以進一步提高預測能力。