甄 皓
華北電力大學經濟與管理學院
可再生能源的利用是應對中國環境和能源問題的重要措施。中國在《能源發展戰略行動計劃(2014-2020)》《可再生能源中長期發展規劃(2007-2020)》中指出,在2020年實現非化石能源占一次能源消費比重達到15%。然而,可再生能源整合進電網的主要挑戰在于可再生能源的間歇性、不穩定性。為了可靠地利用可再生能源、保障電網平衡、實時調度,不同時間范圍內的可再生能源功率預測十分重要。
針對光伏功率預測,大多數文章都通過間接太陽輻照度等氣象信息來預測光伏功率。一方面,全球水平輻照度預測往往與溫度預測相結合,通過物理模型來預測光伏功率輸出。另一方面,越來越多的學者提出了人工神經網絡模型(Artificial Neural Networks, ANN)[1,2]、支持向量機(Support Vector Machine, SVM)等機器學習模型[3,4]來預測光伏電站輸出。具體來講,用于功率預測模型的輸入數據往往涉及到小型氣象站監測的氣象數據,一般包括全球水平輻射、溫度、漫射輻射水平、風速等。采用物理模型或者機器學習方法,都涉及到一段時間內當地氣象數據的獲取和利用。
一部分學者對有限氣象信息條件下的光伏功率預測進行了研究。Cai Tao等人提出了一種神經網絡預測模型,解決了無輻照量數據情況下的光伏功率預測問題[5]。Gianni Bianchini等人通過PVUSA參數模型,分別利用云量信息和光伏功率歷史數據[6]、以及溫度預測及光伏功率歷史數據等[7]解決了無輻照量和溫度信息下的光伏功率預測問題。然而,這些方法都假定可以得到有關光伏電站所在站點云覆蓋指數或歷史溫度,對很多分布式小型光伏電站均不能適用。
在實際情況中,往往既沒有準確的電站物理模型,也沒有直接的太陽輻照度,或者其它氣象信息(比如溫度、相對濕度)的測量。基于氣象數據的功率預測需要在站內安裝一系列的測試設備,包括濕度、云量、雨量等傳感器,建立分布式光伏電站氣象數據采集系統并配備小型氣象站。大型的光伏電站因規模大可以搭建氣象站,成百上千個小型獨立運營的分布式光伏電站,以及小型微網中的屋頂光伏電站等,往往不具備這種條件。如何在缺少氣象信息的條件下,利用有限的歷史數據準確預測分布式光伏電站功率具有重大的意義。
僅利用歷史數據的光伏功率線性預測模型,比如:模糊理論,灰色理論,馬爾可夫鏈(MC),自回歸移動平均( Auto Regressive Moving Average,ARMA) 模型和自回歸綜合移動平均( Auto Regressive Integrated Moving Average,ARIMA)模型等,由于光伏出力數據的非線性,往往不能做到準確預測。計算機硬件和軟件以及大數據技術的不斷改進,深度學習網絡已經得到關注和發展,深度學習模型具有有效提取高維復雜非線性特征的能力,并具有從輸入到輸出直接映射的能力。至今,人們已經提出了多種深度神經網絡模型來預測光伏功率,包括循環神經網絡( Recurrent Neural Network,RNN)、卷積神經網絡(CNN)等。崔承剛等人[8]基于氣象信息及電站信息等特征值,利用LSTM 模型對光伏電站功率進行了預測。簡獻忠等人[9]通過CNN-LSTM 混合模型對短期光伏電站功率輸出進行預測,結論表明所提模型的性能良好。但深度學習模型進行光伏功率預測大多針對氣象信息齊全的大型光伏電站,對缺乏氣象信息的小型分布式光伏電站研究較少。
本文針對解決無氣象站配備的小型分布式光伏電站,在無法測量氣象變量(即太陽輻照度、溫度、相對濕度等)的情況下,提出了一種僅基于區域內光伏電站歷史功率數據的雙層LSTM深度學習模型,來預測分布式光伏電站的功率。為取得最佳的預測效果,對LSTM 模型的層數及超參數對其預測效果的影響進行了分析。此外,為驗證該模型的準確性,利用澳大利亞愛麗絲泉地區的分布式光伏電站的數據進行實例驗證,并與使用氣象數據進行預測的模型效果進行了對比。結果表明,在有限信息條件下,借助區域內光伏電站歷史功率數據進行光伏功率預測的效果良好,適用于無氣象站情景下的光伏功率預測。
長短期記憶模型(Long Short-Term Memory,LSTM)是Hochreiter&Schmidhuber[10]提出的一種遞歸神經網絡。它的內部存儲單元和門機制克服了傳統遞歸神經網絡(RNN)訓練中的梯度消失和梯度爆炸問題,將時間序列中的延遲事件保存下來,并在后續訓練中進行提取,因此特別出力時間序列預測問題。為了使子模塊保存長期記憶,LSTM 引進了核心結構“遺忘門”和“輸入門”。遺忘門可以讓循環神經網絡遺忘無用的信息,輸入門可以輸入補充最新的記憶,兩者的密切配合決定了信息的遺忘與保留。LSTM 門機制包括遺忘門、輸入門、更新門和輸出門。LSTM 模型的核心計算公式如下:


圖1 LSTM 內部結構
基于梯度的優化算法有隨機梯度下降(Stochastic Gradient Descent,SGD)、AdaGrad、RMSProp、Adam 等算法。Adam 算法是由Diederik Kingma 和Jimmy Ba 在2015 年中提出[12],該算法是隨機梯度下降算法的拓展,它能有效地基于訓練數據迭代更新神經網絡權重,近年來廣泛應用于深度學習中,因此本文采用Adam算法。
LSTM 模型具體的構建與實現分為3個步驟。
1)獲取所需數據集,對原始數據進行清洗和處理,并對訓練集和驗證集進行劃分。
2)確定用于LSTM 模型的輸入向量及輸出,確定LSTM 模型的架構及具體參數,完成模型的構建。
3)利用實驗數據對模型進行檢驗和修改,進行預測。
本文為了驗證所提出的模型,使用了從澳大利亞Alice Springs[51]的DKASC 的發電數據,該地區位于澳大利亞中部,南緯23°42′,東經133°52′,海拔545m。實際五個光伏系統收集的數據,五個光伏系統均采用固定式單晶硅組件[13]。五個電站每5 分鐘記錄一次從DKASC 收集的數據。五個電站信息如表1所示。
(1)路堤表面工后沉降曲線大致呈“勺”形,處理前,工后沉降最大值為6.7 cm,地基處理后,工后沉降值減小至2.2 cm。原因在于地基處理使地表沉降明顯減小,路堤表面工后沉降也隨之減小。

表1 五個光伏電站信息
如何選取合適的輸入量作為光伏功率預測模型的訓練數據,是建立功率預測模型的重要環節。De Giorgi 等人[14]對不同輸入向量對光伏功率預測模型性能的影響進行了研究,他們設計了三種類型的向量,即向量1 包含歷史PV 輸出數據,向量2 包含太陽輻照度值,向量3 包含光伏組件溫度。研究結果表明,三種不同向量情況下,預測誤差分別為12.57%、12.60%和10.91%。Liu等人[15]對歷史PV輸出數據、當日天氣數據、歷史氣溶膠指數(AI)、歷史風速、天氣和濕度數據等作為PV 輸出預測模型的輸入進行了研究,結果表明,PV輸出預測模型的性能隨輸入變量的變化而變化。因此,合適的輸入對提高光伏功率預測的準確性和模型性能,尤其在降低模型計算復雜性和計算成本方面起著至關重要的作用。如果預測模型輸入的選擇不當,將導致預測模型的誤差增加。
光伏電站的輸出功率(P)與整體水平輻射量(GHR)、水平擴散輻射(DHR)、環境溫度(T)、風速(WS)和相對濕度(RH)等相關。本文對臨近電站的歷史輸出、氣象因素等分布式光伏電站的功率輸出相關性進行了分析,對原始數據與各個變量之間相關性進行了直觀描述,后選取2016 年一年的數據計算了各個變量(xi)與分布式光伏電站功率P之間的皮爾遜相關系數r,計算公式如下



圖2 變量與光伏功率輸出變化
原始PV功率序列和相關的氣象因素變化如圖2所示,可以直觀理解所選變量與光伏電站輸出之間的關系。所選輸入變量的范圍和Pearson相關系數r如表2所示。相鄰電站的歷史功率數據既體現了時間和季節變化趨勢,也由于處在同一地區,反映了相關氣象信息的影響。根據分析可得,與10號光伏電站相關性最高的因素從高到低排序為12、13、19、18號光伏電站,整體輻射水平、漫射輻射水平、風速、溫度、相對濕度,同一地區臨近的光伏電站出力數據整體相關性大于氣象數據的相關性。
1)數據標準化
本文標準化采用了min-max標準化方法,它默認將每種特征的值都歸一化到[0,1]之間。首先調用sklearn.preprocessing 中的MinMaxScaler 對數據進行歸一化處理,將每種特征的值都歸一化到[0,1]之間,其轉換公式如下

2)訓練測試集劃分
本文對2015年1月1日到2018年12月31日4年的數據進行模型訓練和驗證。該數據集每5分鐘一個數據點,每天288個數據點,一共420 126條數據。本文將2015 年1 月1 日至2017 年10 月20 日294 088條數據用作訓練數據集,將2015年6月1日至2016 年6 月12 日126 036 條數據用作測試數據集,訓練數據與測試數據之間比例為7:3。

表2 變量范圍以及皮爾遜相關系數
3)誤差評估
本文采用均方根誤差(Root Mean Square Error, RMSE)進行LSTM 預測模型性能評估[48],評價指標的定義如下

本文結合澳大利亞Alice Springs的DKASC發電數據,應用LSTM 預測模型進行實驗驗證。主要包含以下內容。
1)LSTM網絡層的選取及超參數影響分析
改變隱藏層層數,通過實驗預測結果確定合適的網絡層數。一般來講,隱藏層越多,LSTM模型數據處理能力和學習能力越好,但神經元的增加會增加模型復雜度從而降低訓練速度。首先,將LSTM模型設置不同的隱藏層層數,通過訓練集對網絡進行訓練,用測試集進行驗證得到不同隱藏層層數下網絡的預測效果,如表3 所示。根據模型在不同隱藏層層數下的均方根誤差,選擇LSTM 網絡結構隱藏層層數為兩層。

表3 不同隱藏層層數的光伏功率預測結果
選取隱藏層層數后,本文對超參數訓練塊大小(Batch Size)、對LSTM 模型預測效果影響進行了分析。訓練塊大小表示輸入矩陣的大小。在神經網絡訓練過程中,合理范圍內增大訓練塊大小,可以更有效地利用內存,處理數據速度也會得到提升。訓練塊越大,下降方向可以更加容易確定,訓練震蕩會穩定在合理范圍內。但若盲目增大訓練塊大小,內存容量會被迅速占用,造成數據溢出,程序崩潰。不同訓練塊大小訓練效果對比如表4 所示。由表4 可知,當訓練塊大小在80 左右時,訓練效果最好。

表4 訓練塊大小對光伏功率預測效果影響分析
2)基于鄰近電站歷史數據的分布式光伏功率預測性能實證及比較
根據上文分析結果,建立雙層LSTM 分布式光伏功率預測模型,第一層為4個輸入單元,128個輸出單元,第二層為128個輸入單元,一個輸出單元。訓練塊大小設為80,學習率通過keras 提供的回調函數學習率調節器(Learning Rate Scheduler)動態調整,步長為1,優化器采用Adam 算法。根據3.1節相關性分析結果,在缺少氣象數據的條件下,選取12、13、18、19 號光伏電站的歷史功率數據對10號分布式電站進行功率預測,即通過P12(t-1)、P13(t-1)、P18(t-1)、P19(t-1)來預測P12(t)。驗證無大型氣象站下的小型分布式光伏電站通過臨近光伏電站歷史數據預測功率的準確性。
此外,本文也使用LSTM 模型進行了基于氣象信息的分布式光伏電站功率預測,以對比驗證缺乏小型氣象站的分布式光伏電站,充分利用鄰近電站歷史功率數據進行準確功率預測的性能。用于對比的模型輸入向量包括風速(Wind Speed)、溫度(Weather Temperature)、相對濕度(Weather Relative Humidity)、水平輻射量(Global Horizontal Radiation)、水平散射量(Diffuse Horizontal Radiation)五個變量。該模型也采用雙層LSTM 模型,第一層為5個輸入單元,128個輸出單元,第二層為128個輸入單元,一個輸出單元,并為了更好的預測效果,在LSTM模型中引入dropout機制。
基于鄰近電站歷史數據的分布式光伏功率預測結果如圖5 所示,基于氣象信息的LSTM 分布式光伏功率預測如圖6 所示,兩個模型的預測效果如表5所示。根據預測結果基于氣象信息的LSTM分布式光伏功率預測的均方誤差為0.0477,而基于鄰近電站歷史數據的分布式光伏功率預測均誤差為0.0439,這表明在小型分布式光伏電站缺乏氣象站的條件下,通過臨近光伏電站歷史功率數據來預測光伏功率的均方誤差更小,效果良好。

圖5 基于歷史數據的未來三天的光伏功率預測

圖6 基于氣象信息的LSTM分布式光伏功率預測

表5 不同輸入向量下的分布式光伏功率預測
本文針對無氣象站配備的小型分布式光伏電站功率預測問題,提出了一種僅基于區域內光伏電站歷史功率數據的雙層LSTM深度學習模型。本文通過對鄰近光伏電站的歷史數據、輻照度、相對濕度等變量與所研究的光伏電站功率輸出進行了相關性分析,證明了相鄰電站歷史數據作為輸入向量的合理性,通過對LSTM 模型的層數及超參數的影響分析,選取合適的層數及超參數構建了LSTM 模型。同時,為驗證該模型的準確性,利用澳大利亞愛麗絲泉地區的分布式光伏電站的數據進行實例驗證,并與使用氣象數據進行預測的模型效果進行了對比。結果表明,在有限信息情景下,借助區域內光伏電站歷史功率數據進行光伏功率預測的效果良好,均方根誤差為0.0477,適用于無氣象站情景下的分布式光伏功率預測。