劉譯文 倪 旻
(云南民族大學(xué)電氣信息工程學(xué)院 昆明 650500)
隨著人們對(duì)環(huán)境問題的持續(xù)關(guān)注,新能源的利用越來越受到人們的重視。太陽能發(fā)電被認(rèn)為是一種重要的新能源利用方式,而它高度依賴地理環(huán)境和天氣狀況,使得光伏輸出功率具有明顯的隨機(jī)性和波動(dòng)性。這種不確定性的輸出功率并網(wǎng)對(duì)電力系統(tǒng)產(chǎn)生巨大的威脅,對(duì)電網(wǎng)的安全穩(wěn)定運(yùn)行帶來了一系列的安全問題[1]。準(zhǔn)確的光伏出力功率預(yù)測(cè)仍然是解決這個(gè)問題經(jīng)濟(jì)有效的手段之一[2]。因此,精確的太陽能出力功率預(yù)測(cè)對(duì)電力系統(tǒng)的穩(wěn)定運(yùn)行至關(guān)重要。在實(shí)際的光伏發(fā)電站中,光伏發(fā)電輸出功率受多種環(huán)境和氣象因素(如太陽輻照度、環(huán)境溫度、濕度、經(jīng)緯度)的影響。相關(guān)氣象信息的可靠程度對(duì)光伏出力預(yù)測(cè)起著決定性的作用,而太陽輻照度是影響光伏出力的主要因素[3],太陽能輻照度的準(zhǔn)確預(yù)測(cè)是準(zhǔn)確光伏發(fā)電預(yù)測(cè)的前提[4]。
隨著預(yù)報(bào)理論和機(jī)器學(xué)習(xí)的快速發(fā)展,大量的研究方法也不斷涌現(xiàn),從早期的物理方法、統(tǒng)計(jì)學(xué)方法到現(xiàn)在比較熱門的機(jī)器學(xué)習(xí)方法[5]。Yanting Li 等[6]提出用ARIMAX 統(tǒng)計(jì)學(xué)方法來預(yù)測(cè)光伏出力功率,保持了常規(guī)ARIMA 模型的簡(jiǎn)單特性但比ARIMA 模型更具實(shí)用性,通過實(shí)例進(jìn)行了驗(yàn)證。Jie Shi 等[7]提出了基于天氣分類和支持向量機(jī)(Support Vector Machines,SVM)的光伏系統(tǒng)功率輸出預(yù)測(cè)模型,基于天氣預(yù)報(bào)數(shù)據(jù)和歷史功率數(shù)據(jù)對(duì)光伏發(fā)電站提前一天進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果表明所提預(yù)測(cè)模型是有效的。M.Bouzerdoum 等[8]結(jié)合季節(jié)性自回歸綜合移動(dòng)平均法(Seasonal Autoregressive Integrated Moving Average,SARIMA)和支持向量機(jī)方法提出了一種新的混合模型,研究表明了混合模型的性能優(yōu)于SARIMA 和SVM 模型。張嵐等[9]建立了基于神經(jīng)網(wǎng)絡(luò)的光伏發(fā)電功率預(yù)測(cè)模型,實(shí)驗(yàn)表明該方法具有較高的預(yù)測(cè)精度。李練兵等[10]采用Elman 神經(jīng)網(wǎng)絡(luò)算法建立光伏發(fā)電短期功率預(yù)測(cè)模型,通過與BP 神經(jīng)網(wǎng)絡(luò)算法對(duì)比表明,Elman神經(jīng)網(wǎng)絡(luò)具有更高的預(yù)測(cè)精度。
隨著深度學(xué)習(xí)理論的發(fā)展,各種神經(jīng)網(wǎng)絡(luò)不斷的遷移應(yīng)用到光伏功率預(yù)測(cè)領(lǐng)域,C.-J. Huang 和P.-H. Kuo[11]提出了一種稱為PVPNet 的高精度深度神經(jīng)網(wǎng)絡(luò)模型來預(yù)測(cè)光伏系統(tǒng)的輸出功率,該模型基于深度神經(jīng)網(wǎng)絡(luò),利用氣象信息(例如溫度,太陽輻射和歷史光伏系統(tǒng)輸出數(shù)據(jù))生成24h 概率和確定性的光伏發(fā)電輸出預(yù)測(cè)。Li,Wang 等[12]提出了一種基于遞歸神經(jīng)網(wǎng)絡(luò)的新的預(yù)測(cè)方法,通過使用比利時(shí)法蘭德斯的實(shí)際太陽能對(duì)提出的預(yù)測(cè)方法進(jìn)行了測(cè)試,結(jié)果表明在非常短期的預(yù)測(cè)中表現(xiàn)出良好的預(yù)測(cè)性能。H.Zang 等[13]提出了一種基于深度學(xué)習(xí)的CNN 預(yù)測(cè)模型,案例研究證明了所提出的預(yù)測(cè)方法的準(zhǔn)確性和可靠性。
最近,長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)在空氣質(zhì)量指數(shù)、電力負(fù)荷、語音識(shí)別預(yù)測(cè)應(yīng)用中取得了不錯(cuò)的效果。由于其循環(huán)的體系結(jié)構(gòu)和存儲(chǔ)單元,可以對(duì)數(shù)據(jù)中的時(shí)間變化進(jìn)行建模,可以捕獲太陽輻照度序列中的抽象概念。文中提出利用長(zhǎng)短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)太陽輻照度的方法。對(duì)不同結(jié)構(gòu)的LSTM 模型在太陽能輻照度預(yù)測(cè)中的性能進(jìn)行了評(píng)估,得到最佳的網(wǎng)絡(luò)架構(gòu)模型。為了驗(yàn)證該方法的有效性,我們將其與四種廣泛使用的深度神經(jīng)網(wǎng)絡(luò)太陽能輻照度預(yù)測(cè)方法進(jìn)行比較驗(yàn)證所提模型的有效性。
遞歸 神經(jīng) 網(wǎng)絡(luò)[12](Recurrent Neural Network,RNN)通過在神經(jīng)元中加入循環(huán)連接解決了時(shí)間序列上的映射關(guān)系。遞歸神經(jīng)網(wǎng)絡(luò)能夠建立上個(gè)時(shí)刻輸入對(duì)下個(gè)時(shí)刻輸出影響的輸入輸出序列映射關(guān)系,使得遞歸神經(jīng)網(wǎng)絡(luò)具有“記憶”的功能。遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(見圖1)。
圖1 遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
如圖1所示將遞歸神經(jīng)網(wǎng)絡(luò)展開,每個(gè)節(jié)點(diǎn)代表一個(gè)單一時(shí)間步,每個(gè)時(shí)間步的神經(jīng)元可以表示為h(h(…),…,h(t-1),h(t),h(t+1),…,h(…)),則輸入序列和輸出序列分別為x和o,它們的前向傳導(dǎo)過程為
其中,I、H、K分別為輸入層、隱含層、輸出層神經(jīng)元的個(gè)數(shù),wih為輸入層到隱含層的權(quán)重,wh′h為t-1時(shí)刻到t時(shí)刻隱含層到隱含層的權(quán)重。為得到最優(yōu)權(quán)重的參數(shù)網(wǎng)絡(luò),模型需要反向傳播得到預(yù)測(cè)誤差修正權(quán)重參數(shù),其過程為
上式中,L表示衡量誤差的代價(jià)函數(shù),表示為t時(shí)刻輸入層神經(jīng)元i的值,為t時(shí)刻神經(jīng)元j的輸入,為t時(shí)刻神經(jīng)元j的激活值。
長(zhǎng) 短 期 記 憶 神 經(jīng) 網(wǎng) 絡(luò)[14](Long Short-Term Memory,LSTM)是由遞歸神經(jīng)網(wǎng)絡(luò)發(fā)展而來,通過引入門控單元改進(jìn)了經(jīng)典的RNN 網(wǎng)絡(luò),通過加入輸入門、輸出門、遺忘門和記憶單元解決RNN 網(wǎng)絡(luò)的梯度消失和梯度爆炸現(xiàn)象。其結(jié)構(gòu)見圖2。
圖2 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖
圖2 所示的分別表示在t時(shí)刻遺忘門、更新門、輸出門的狀態(tài)。更新門控制t時(shí)刻輸入信息能否傳遞到t時(shí)刻記憶單元中,遺忘門控制t-1 時(shí)刻記憶單元中的信息能否保留到t時(shí)刻,輸出門控制t時(shí)刻記憶單元的信息是否保存在隱含層中。如此,LSTM 網(wǎng)絡(luò)便擁有長(zhǎng)期和短期的“記憶”。與BP神經(jīng)網(wǎng)絡(luò)和循環(huán)遞歸網(wǎng)絡(luò)相同的是都通過前向傳播和反向傳播實(shí)現(xiàn)網(wǎng)絡(luò)參數(shù)的訓(xùn)練。LSTM 網(wǎng)絡(luò)在反向傳播中也是用BPTT(Back Propagation Through Time)的方法更新權(quán)重。LSTM單元更新公式如下:
在t時(shí)刻遺忘門、更新門、輸出門的值為、,輸入輸出的值為
其中,at表示激活值,ct、ct表示記憶單元狀態(tài)和候選狀態(tài),σ表示激活函數(shù)。反向傳播權(quán)重系數(shù)更新如下:
文中數(shù)據(jù)來自澳大利亞沙漠知識(shí)數(shù)據(jù)中心Desert Knowledge Australia Solar Centre(DKA Solar Centre)太陽能數(shù)據(jù)中心[15],氣象數(shù)據(jù)包括溫度、濕度、風(fēng)速、全球水平輻射、漫反射水平輻射等,數(shù)據(jù)涵蓋了2009-2018年的每日數(shù)據(jù),數(shù)據(jù)每5min采集一次。如表1所示。
表1 原始數(shù)據(jù)樣例
為消除不同特征的量綱影響和保證數(shù)據(jù)處理和模型訓(xùn)練的高效和收斂速度,需要對(duì)原始數(shù)據(jù)影響標(biāo)準(zhǔn)化處理。具體公式如下:
其中,x為原始數(shù)據(jù),xmin和xmax分別為原始樣本數(shù)據(jù)的最小值和最大值,x′為歸一化后的值。
為增加數(shù)據(jù)采集時(shí)間的間隔,減小數(shù)據(jù)采集的誤差,需要對(duì)原始5min 采集一次的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,文中采用平均值融合,將三條5min 一次的數(shù)據(jù)用平均值法進(jìn)行融合得到15min 分辨率的數(shù)據(jù)。為探究太陽輻照度預(yù)測(cè)模型,將采用原始數(shù)據(jù)中的全球水平輻照度作為研究對(duì)象,為減少不必要的輻照度預(yù)測(cè),只選取早晨7:00 至晚上8:00 時(shí)間范圍的數(shù)據(jù)作為樣本數(shù)據(jù),經(jīng)數(shù)據(jù)融合后一天中有52個(gè)太陽輻照度記錄點(diǎn)(見圖3)。
圖3 輸入數(shù)據(jù)構(gòu)成
太陽輻照度具有連續(xù)性、規(guī)律性和周期性等特點(diǎn),歷史輻照度與待預(yù)測(cè)日輻照度有一定的時(shí)間關(guān)聯(lián)性,所以將歷史時(shí)刻和歷史日的太陽輻照度作為預(yù)測(cè)模型的輸入。按時(shí)刻時(shí)間向量表示,每15min記錄一次太陽輻照度的值。通過第d天的歷史數(shù)據(jù)來預(yù)測(cè)第d+1 日的太陽輻照度。其中輸入的太陽輻照度為Gi:
輸出即預(yù)測(cè)的太陽輻照度序列為Go:
融合后部分?jǐn)?shù)據(jù)樣例如表2所示。
表2 原始數(shù)據(jù)融合為輸入數(shù)據(jù)
為更好地評(píng)估光伏出力功率預(yù)測(cè)模型的性能,使各個(gè)模型間可以相互比較,需要建立統(tǒng)一的評(píng)價(jià)指標(biāo)進(jìn)行定量分析。文中選用的評(píng)價(jià)指標(biāo)有平均絕對(duì)誤差[16](Mean Absolute Error,MAE)和平均方根誤差(Root Mean Square Error,RMSE),其中MAE和RMSE定義式如下:
其中,n為全球水平輻照度序列;N為數(shù)據(jù)總數(shù),yn和yn分別為n時(shí)刻全球水平輻照度的實(shí)際值和預(yù)測(cè)值。
文中選用Desert Knowledge Australia Solar Centre 太陽能數(shù)據(jù)中心[15]的所有年份的氣象數(shù)據(jù)作為驗(yàn)證數(shù)據(jù)集。包括2009 年1 月到2018 年9 月所有天共計(jì)3536 天輻照度數(shù)據(jù),只選擇早晨7:00 到下午8:00的全球水平輻照度每15min一次,每天的太陽輻照度有52 個(gè)時(shí)刻點(diǎn)。其中訓(xùn)練集和測(cè)試集的比 例 設(shè) 置 為0.7∶0.3。在Intel i5-3230M CPU,NVIDIA GeForce GT 750M,8G 的硬件平臺(tái)下,基于Python3.6 軟件環(huán)境使用Keras 搭建預(yù)測(cè)模型進(jìn)行仿真驗(yàn)證。將提出的LSTM 預(yù)測(cè)模型與深度神經(jīng)網(wǎng)絡(luò)模型(Deep Neural Networks,DNN)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)、門控循環(huán)單元(Gated Recurrent Unit,GRU)預(yù)測(cè)模型進(jìn)行對(duì)照實(shí)驗(yàn)。在訓(xùn)練過程中出了這個(gè)模型的基本結(jié)構(gòu)不同以外,其余參數(shù)均設(shè)為一致的。
為提高預(yù)測(cè)模型的性能對(duì)LSTM 模型在不同網(wǎng)絡(luò)架構(gòu)下的性能進(jìn)行了研究。首先對(duì)不同網(wǎng)絡(luò)深度的模型進(jìn)行比較研究,其具體網(wǎng)絡(luò)結(jié)構(gòu)如圖4。
圖4 多層LSTM網(wǎng)絡(luò)結(jié)構(gòu)
圖4 (a)對(duì)應(yīng)的是單層的LSTM預(yù)測(cè)網(wǎng)絡(luò),圖4(b)為兩層LSTM 預(yù)測(cè)網(wǎng)絡(luò),圖4(c)為三層LSTM 預(yù)測(cè)網(wǎng)絡(luò)。在這三個(gè)預(yù)測(cè)網(wǎng)絡(luò)中全部使用tanh 激活函數(shù),這三個(gè)網(wǎng)絡(luò)模型訓(xùn)練全部使用Adam 自適應(yīng)學(xué)習(xí)率算法。模型訓(xùn)練200 個(gè)循環(huán),批量大小全部設(shè)置為32。三個(gè)模型的不同的點(diǎn):圖4(a)中單層LSTM 的神經(jīng)元個(gè)數(shù)設(shè)置為128 個(gè),圖4(b)中兩層LSTM 每層神經(jīng)元個(gè)數(shù)分別為128 個(gè)和64 個(gè),圖4(c)中三層LSTM 的各層神經(jīng)元分別為128、64、32個(gè),其余全部參數(shù)均一致。
在不同神經(jīng)元個(gè)數(shù)性能測(cè)試中,均使用如圖4(a)所示的單層LSTM 結(jié)構(gòu)。在不同神經(jīng)元數(shù)量預(yù)測(cè)模型性能比較中,均使用tanh 激活單元,只調(diào)節(jié)不同預(yù)測(cè)模型的神經(jīng)元個(gè)數(shù),其余全部參數(shù)均一致。
綜合表3 和表4 提供的資料,提高LSTM 網(wǎng)絡(luò)層數(shù)和增加LSTM 網(wǎng)絡(luò)神經(jīng)元個(gè)數(shù)并不能有效改善太陽能輻照度的預(yù)報(bào)表現(xiàn)。在使用不同數(shù)量神經(jīng)元的預(yù)測(cè)中64 個(gè)神經(jīng)元預(yù)測(cè)模型的各項(xiàng)性能指標(biāo)都優(yōu)于其他的預(yù)測(cè)模型。因此,我們可以得出結(jié)論,在不同的預(yù)測(cè)模型結(jié)構(gòu)和全球水平輻照度數(shù)據(jù)集下,使用tanh 激活單元和組合64 個(gè)神經(jīng)元數(shù)量的單層LSTM網(wǎng)絡(luò)的預(yù)測(cè)性能是最佳的選擇。
表3 不同LSTM網(wǎng)絡(luò)層性能比較
表4 不同神經(jīng)元個(gè)數(shù)預(yù)測(cè)性能比較
文中比較所提出的方法與四種預(yù)測(cè)方法(深度網(wǎng)絡(luò)(DNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和門控單元(GRU))的性能。它們的網(wǎng)絡(luò)結(jié)構(gòu)見表5。
表5 預(yù)測(cè)模型結(jié)構(gòu)
如表5 所展示,深度神經(jīng)網(wǎng)絡(luò)(DNN)的結(jié)構(gòu)是由3 層全連接層構(gòu)成,其中第一層的神經(jīng)元個(gè)數(shù)128 個(gè),第二層的神經(jīng)元個(gè)數(shù)是64 個(gè),第三層的神經(jīng)元個(gè)數(shù)是32 個(gè)。卷積神經(jīng)網(wǎng)絡(luò)(CNN)是由2 層卷積層和3 層全連接層構(gòu)成,其中第一個(gè)卷積層是由32 個(gè)卷積窗口為5 的卷積核構(gòu)成,第二層是由8個(gè)卷積窗口為3 的卷積核構(gòu)成,全連接層結(jié)構(gòu)和深度神經(jīng)網(wǎng)絡(luò)一致。為保證所提模型與基準(zhǔn)模型的平衡性,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和門控單元(GRU)與長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)一樣都具有“記憶”的特性和處理針對(duì)時(shí)間序列問題的優(yōu)勢(shì)。它們?nèi)N模型除網(wǎng)絡(luò)結(jié)構(gòu)不一樣其他所有參數(shù)一致。
將2009-2018 年全球水平輻照度按0.7:0.3 的比例劃分為訓(xùn)練集和測(cè)試集分別用LSTM、DNN、CNN、RNN 和GRU 進(jìn)行提前一天預(yù)測(cè)測(cè)試,結(jié)果如表6和圖5所示。
表6 2009-2018年數(shù)據(jù)集預(yù)測(cè)結(jié)果
圖5 2016年某日水平輻照度預(yù)測(cè)結(jié)果
如圖5 所示,文中所提的LSTM 預(yù)測(cè)模型相比較其他的預(yù)測(cè)效果是最好的。但這一天的數(shù)據(jù)并不能說明預(yù)測(cè)模型在每一天的預(yù)測(cè)結(jié)果都要好,為更清楚地分析所有模型的預(yù)測(cè)性能,使用訓(xùn)練時(shí)間、均方根誤差和平均絕對(duì)誤差對(duì)模型精度和訓(xùn)練時(shí)間復(fù)雜度進(jìn)行定量化分析。如表6所示,相較于單一年份的預(yù)測(cè)模型,2009-2018 年數(shù)據(jù)集訓(xùn)練出的預(yù)測(cè)模型的RMSE 和MAE 精度指標(biāo)好于單一年份的預(yù)測(cè)模型。在短期太陽輻照度預(yù)測(cè)中LSTM模型預(yù)測(cè)結(jié)果的平均根方誤差為153.7927,平均絕對(duì)誤差為77.58411。RNN 模型預(yù)測(cè)結(jié)果的平均根方誤差為152.8926,平均絕對(duì)誤差為79.43582。CNN 模型預(yù)測(cè)結(jié)果的平均根方誤差為168.7126,平均絕對(duì)誤差為83.73888。相比較CNN 模型LSTM模型預(yù)測(cè)值的平均根方誤差低8.84%,平均絕對(duì)誤差低了7.34%。與RNN 模型相比較,LSTM 網(wǎng)絡(luò)在平均根方誤差上低了0.58%,在平均絕對(duì)誤差上低2.33%。
文中提出了一種基于LSTM 網(wǎng)絡(luò)的太陽輻照度預(yù)測(cè)方法,該方法針對(duì)時(shí)間序列的太陽輻照度有特殊的優(yōu)勢(shì)。對(duì)多層LSTM 網(wǎng)絡(luò)與單層LSTM 網(wǎng)絡(luò)預(yù)測(cè)模型的性能進(jìn)行了研究。實(shí)驗(yàn)結(jié)果表明,在短期太陽輻照度的預(yù)測(cè)中文中所提的LSTM 預(yù)測(cè)模型比卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型在平均根方誤差上低了8.84%,在平均絕對(duì)誤差指標(biāo)上比卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型低了7.34%。