陳柏恒, 陳志聰, 吳麗君, 林培杰, 程樹英
(福州大學物理與信息工程學院, 微納器件與太陽能電池研究所, 福建 福州 350108)
太陽能由于其清潔性、 可持續性、 安全性和普遍性, 被認為是未來最有潛力的新能源之一[1]. 然而, 光伏發電高度依賴于氣象條件, 天氣變化的不確定性嚴重影響光伏發電的穩定性[2]. 隨著光伏發電在電網中的日益普及, 光伏發電固有的不連續性和波動性對電力系統的安全性、 穩定性和經濟性構成了巨大挑戰. 準確的光伏功率預測可以消除光伏發電設備并網過程中的負面影響.
目前, 現有的光伏功率預測方法主要分為物理法、 統計法、 傳統機器學習法和新興深度學習法. 物理法基于太陽輻照度傳遞方程、 光伏組件運行方程和其他物理方程, 以實現光伏功率與其他物理參數之間的建模[3]. 但是物理法常常需要大量的輸入參數來創建理論公式, 且抗干擾性和魯棒性較差, 預測精度有限[4]. 統計法通過擬合未來光伏功率, 建立歷史數據和目標預測數據之間的映射關系[5]. 常規的統計法包括時間序列模型[6-7]、 模糊邏輯模型[8]、 回歸分析模型[9]、 馬爾可夫鏈模型[10-11]等. 而光伏發電仍然是一個動態的、 非周期性的復雜時間序列, 這將削弱統計法通過歷史數據對實際功率的擬合能力. 近年來, 大量基于人工神經網絡算法的機器學習預測法被提出[12-13], 神經網絡技術的發展極大地提高了光伏發電的預測精度. 由于其相對簡單的網絡結構, 機器學習算法容易出現過擬合和局部最小等問題. 作為機器學習的分支, 深度學習法在準確性、 穩定性和通用性方面取得了巨大進步, 已成為當下光伏功率預測的主流方法[14-17]. 常見的深度學習網絡包括全連接神經網絡(fully connected neural network, FC)、 卷積神經網絡(convolutional neural network, CNN)和循環神經網絡(recurrent neural network, RNN). 許多學者通過深度學習法來提高光伏發電功率的預測精度, 文獻[16]提出了一種深度CNN模型進行光伏功率點預測和概率預測, 文獻[18]應用LSTM-RNN模型預測特定日模式下的光伏功率.
在這些深度學習法中, 與前饋神經網絡(FC、 CNN等)相比, RNN不僅可以實現輸入層、 隱藏層和輸出層之間的信息前饋傳輸, 還可以實現不同時間輸入節點之間的內部狀態共享. 因此, RNN在時間序列預測中具有更好的性能. 但RNN仍然存在與前饋神經網絡相同的梯度爆炸和梯度消失問題[19-20]. 為了克服這些問題, 文獻[21]提出了具有內部存儲單元和特殊門結構的長短期記憶(long short-term memory, LSTM)神經網絡. LSTM作為一種特殊結構的RNN, 可以有效地記憶和編碼長距離時間序列, 并且花費更少的訓練時間. 更進一步地, 作為結構改進的LSTM, 雙向長短期記憶(bidirectional long short-term memory, BiLSTM)神經網絡通過雙向連接實現了細胞之間的信息傳輸. BiLSTM的雙向傳輸結構包括前向層和后向層, 可以同時學習前向和后向時間相關信息. 與LSTM相比, BiLSTM可以學習更多的輸入信息, 具有更高的預測精度和更快的學習速度. BiLSTM已應用于許多領域, 如文本聚類[22]、 語音識別[23]等. 但相比LSTM, 現有的光伏功率預測較少能夠有效地利用BiLSTM實現預測. 這是由于現有的研究大多是對功率進行點預測, 屬于單向時間序列預測. 而BiLSTM的網絡特性決定了其在訓練和測試時需要同時輸入前向和后向時間信息, 點預測無法違背時間規律使用尚未發生的后向信息訓練和測試BiLSTM網絡. 當一天的光伏功率曲線被視為整體進行預測時, 曲線上的不同時間采樣點是被同時預測的, 這使得BiLSTM連接前向和后向的預測信息成為可能.
同時, 短期的光伏發電與短期的天氣條件具有關聯度, 相同特定天氣類型下的光伏功率曲線間相似性往往高于不同天氣類型下的相似性. 研究[24-25]表明: 天氣分類是提高短期光伏功率預測精度的有效預處理步驟. 特別是對于日前預測, 根據對不同天氣分類的預測日建立不同的預測模型對功率預測的精度提升效果更明顯[26]. 因此, 本研究根據日功率曲線的波動性將歷史數據分為晴空條件、 輕度非晴空條件和重度非晴空條件3種類別.
為預測日前光伏發電日功率曲線, 本研究提出一種二維灰度關聯分析-雙向長短期記憶神經網絡(two-dimensional grey relational analysis and bidirectional long short-term memory network, 2DGRA-BiLSTM)模型. 首先, 2DGRA獲取相似日數據, 擴充輸入參數. 其次, 基于不同的天氣分類條件獨立訓練BiLSTM模型, 利用其雙向傳遞特性以提高預測精度.
本研究所提出2DGRA-BiLSTM預測模型的結構如圖1所示. 2DGRA基于溫度、 濕度和降雨數據獲取歷史最佳相似日. 所得最佳相似日的功率和斜面漫反射輻照度(radiation diffuse tilted, RDT) 用于擴充原有的氣象參數訓練BiLSTM網絡. 3種天氣分類的BiLSTM網絡獨立訓練后進行日功率曲線預測.

圖1 2DGRA-BiLSTM模型流程圖Fig.1 Framework of 2DGRA-BiLSTM model
在光伏功率預測中, 灰度關聯分析算法(grey relational analysis, GRA)通常用于搜索歷史相似日, 以提高功率預測精度[27]. 傳統的GRA算法通過計算一維序列之間的關聯度來獲得相似日數據, 其輸入數據維度受限. 當使用多個氣象特征作為GRA的輸入參數時, 需要對多維輸入數據進行重提取或下采樣, 以滿足一維輸入格式的要求. 相比之下, 沒有進行特征重提取或下采樣的原始氣象數據包含更多信息.
為了使用二維數據作為獲取相似日的基礎, 本研究引入2DGRA算法. 2DGRA算法用于計算比較矩陣和參考矩陣之間的幾何相似性. 使用2DGRA計算氣象特征矩陣之間的關聯度并獲得最佳相似日數據的具體步驟如下.
步驟1歸一化. 歸一化過程為

(1)
其中:xj(k) 表示第j個特征中的第k個采樣點(j=1, 2, …,m;k=1, 2, …,n).
步驟2構建二維氣象矩陣族. 歸一化后的歷史氣象數據按天(24 h)重組成L個m行n列矩陣(A1,A2, …,AL).即
其中: 矩陣族中每個矩陣Ai(i=1, 2, …,L)代表總體氣象數據中一天包含的數據分量.每個矩陣每行(j=1, 2, …,m)對應不同天同一時刻的氣象特征采樣點, 每個矩陣每列(k=1, 2, …,n)對應氣象特征數.
步驟3確立參考矩陣和比較矩陣.初始化令p=1, 將矩陣族中第p個矩陣Ap設為參考矩陣, 除第p個矩陣外的其他矩陣設為比較矩陣族(Ai, i≠p).令y(j,k)為參考矩陣Ap中第j行k列的值,xi(j,k)為比較矩陣族(Ai, i≠p)中第i個比較矩陣j行k列的值.
步驟4計算關聯系數.依次計算y(j,k)和xi(j,k)的關聯系數, 即

(2)
其中:ρ為分辨率系數, 且ρ=0.5.
步驟5計算關聯度. 在已知關聯系數的基礎上, 依次計算參考矩陣和比較矩陣族的關聯度. 即

(3)
步驟6確定第p個矩陣對應最佳相似日.將步驟5中計算關聯度從大到小排列, 最大關聯度所對應比較矩陣即為第p個參考矩陣對應最佳相似日.
步驟7參考矩陣遍歷矩陣族.當p 每個LSTM細胞都具有3個特殊的門結構: 遺忘門、 輸入門和輸出門(圖2). 對應核心計算式[28]為 ft=σ(Wf[ht-1,xt]+bf) (4) 圖2 LSTM細胞結構Fig.2 Structure of single LSTM cell it=σ(Wi[ht-1,xt]+bi) (5) gt=tanh(Wg[ht-1,xt]+bg) (6) ot=σ(Wo[ht-1,xt]+bo) (7) ct=ftct-1+itgt (8) ht=ottanh(ct) (9) 其中:σ為sigmoid函數;Wf, i, g, o和bf, i, g, o分別對應權重矩陣和偏移向量. 每個LSTM細胞通過3個門結構對t-1時刻細胞狀態ct-1和隱藏狀態ht-1進行更新. 將多個LSTM細胞通過單向時間線連接起來即構成了LSTM網絡, 如圖3所示. 每個時刻LSTM單元隱藏狀態ht的sigmoid函數即為當前時刻LSTM網絡的輸出yt, 即 圖3 LSTM網絡結構Fig.3 Network structure of LSTM yt=σ(ht) (10) LSTM網絡通過單向連接實現細胞間的信息傳輸. 進一步地, BiLSTM網絡通過雙向連接實現細胞間的信息傳輸. BiLSTM在網絡結構上比LSTM多了一層后向傳輸隱藏層, 如圖4所示. 相應地, BiLSTM網絡的輸出計算[29]進一步擴展為 (11) (12) (13) 圖4 BiLSTM網絡結構Fig.4 Network structure of BiLSTM 本研究所利用的歷史氣象和功率數據來自沙漠知識澳大利亞太陽能中心(Desert Knowledge Australia Solar Centre, DKASC)13號光伏電站的數據庫. 該光伏系統的最大功率為5.25 kW. 從DKASC網站[30]數據庫上下載2013-04-24—2022-03-23的歷史氣象和功率數據. 所下載的原始數據包括: 功率P(kW)、 斜面漫反射輻照度(RDT, W·m-2)、 環境溫度(℃)、 相對濕度(%)和累計降雨量(mm). 13號電站所在地區的數值天氣預報(numerical weather prediction, NWP)數據來自Weather Underground網站[31]數據庫, 包括環境溫度(°C)、 相對濕度(%)和累計降雨量(mm). 首先, 經下采樣處理, 使得DKASC和Weather Underground數據的分辨率一致. 經下采樣后, 總體數據去除缺失值和異常值, 再歸一化. 其次, 根據2DGRA和BiLSTM的輸入格式要求, 將數據重構為三維張量, 如圖5所示. 第一個維度對應天數, 第二個維度對應每天48個采樣點, 第三個維度對應特征的數量. 圖5 數據重構三維張量Fig.5 Three dimensional tensor reconstruction of data 最后, 根據日功率曲線的波動性將歷史數據分為3種類別: 晴空條件、 輕度非晴空條件和重度非晴空條件. 圖6展示3種分類下的日功率曲線, 橫坐標時間步長為30 min, 縱坐標最大系統功率5.25 kW. 如圖6所示, 晴空條件對應光滑的日功率曲線, 天氣類型常為晴天. 輕度非晴空條件對應在光滑曲線的基礎上存在輕微波動的日功率曲線, 天氣類型常為陰天. 而重度非晴空條件對應波動較大的日功率曲線, 天氣類型常為雨天. 圖6 日功率曲線3種分類Fig.6 Three weather classification daily PV power curve 為驗證所提出2DGRA-BiLSTM模型在日功率曲線預測的性能, 本研究同時設置BiLSTM[29]、 2DGRA-LSTM[27]、 LSTM[28]和2DGRA-BP[32]模型作為對比模型. 文中所有模型都是基于Python 3.8.3和Pytorch 1.4.0實現的. BiLSTM模型由3層128神經元的雙向LSTM層和2層64神經元的雙向LSTM層構成, LSTM模型由3層128神經元的單向LSTM層和2層64神經元的單向LSTM層構成, BP模型配置最優參數. 在數據集的劃分上, 本研究將分類后的數據獨立劃分為訓練集、 驗證集和測試集3個子集, 劃分比例為70%、 20%、 10%, 如圖7所示. 所有實驗結果皆來自于測試集的性能. 各模型訓練集和驗證集輸入氣象數據為DKASC歷史氣象數據, 而測試集輸入氣象數據為NWP數據. 圖7 數據集劃分Fig.7 Data set division 為了便于評估和對比本研究所提出模型的預測精度, 引入3個評價指標. 1) 平均絕對誤差(mean absolute error,EMA). 其計算式為 (14) 2) 均方根誤差(root mean square error,ERMS). 其計算式為 (15) 3) 決定系數(R2). 其計算式為 (16) 表1展示了3種天氣分類下不同模型在測試集上的預測精度. 表1 晴空、輕度非晴空和重度非晴空條件下不同模型預測精度 晴空條件下, 5種預測模型都表現出了較高的預測精度, 5種模型間的預測性能差距較小. 這是由于晴空條件下的光伏功率是一條簡單的光滑曲線, 基本不存在波動, 各個模型只需實現對光滑曲線的幅度和偏置進行預測即可, 相對容易. 在輕度非晴空和重度非晴空條件下, 本研究所提出的2DGRA-BiLSTM模型有著最高的預測精度. 通過表1中的精度對比, 所提出2DGRA-BiLSTM模型在輕度非晴空和重度非晴空條件下均表現出了更佳的預測精度. 在所有模型都展現出高精度的晴空條件下的預測精度雖與2DGRA-LSTM模型存在細微差距, 但綜合應對不同場景的預測性能更強. 總體上來說, 通過2DGRA獲取的相似日信息的加入, 能夠有效提高預測精度. 同時, 具有雙向傳遞特性的BiLSTM預測精度比單向的LSTM高. 為了更加直觀比較不同模型在預測精度上的差距, 圖8展示了不同天氣類別不同模型的日功率曲線預測結果和對應實際功率的對比. 由圖8可知, 在晴空條件下, 由于日功率曲線相對光滑, 所有模型的預測值均能較好地接近實際功率, 模型間精度差距較小; 而在非晴空條件下, 隨著非晴空程度的加深, 日功率曲線的波動性增強, 2DGRA-BiLSTM模型的相對預測性能更加突出. 圖8 3種天氣分類下不同模型對日功率曲線預測的對比Fig.8 Comparison of daily power curve prediction of different models under three weather classifications 為實現日前光伏功率曲線精準預測, 提出一種2DGRA-BiLSTM模型. 其中, 2DGRA用于獲取最佳歷史相似日, BiLSTM模型用于實現氣象數據和相似日數據對第二天光伏功率日曲線的回歸預測. 相比已有研究, 將相似日的獲取方法從GRA改進為2DGRA, 并引入能夠有效進行功率曲線預測的BiLSTM網絡. 為驗證所提出模型的有效性, 實驗分別設置BiLSTM、 2DGRA-LSTM、 LSTM和2DGRA-BP模型作為對比模型. 所有模型皆通過DKASC歷史氣象和功率數據進行訓練, 并通過NWP和功率數據進行測試. 實驗結果表明: 在晴空條件下所有模型都能夠較好地預測功率曲線; 而在輕度與重度非晴空條件下所提出2DGRA-BiLSTM模型R2分別為0.940和0.782, 相對預測精度更高, 且性能優勢隨著非晴空程度的加深而擴大.2.2 雙向長短期記憶神經網絡







3 實驗仿真
3.1 實驗數據
3.2 數據預處理


3.3 超參數設置和模型訓練

4 實驗結果與分析
4.1 評價指標




4.2 實驗結果對比


5 結語