凡 航,張雪敏,梅生偉,楊忠良
(1. 清華大學電機工程與應用電子技術系,北京市100084;2. 電力系統(tǒng)及大型發(fā)電設備安全控制和仿真國家重點實驗室,清華大學,北京市100084;3. 清華大學電子工程系,北京市100084)
風能具有較強的隨機性和不確定性。隨著中國風電裝機容量和比例的不斷增高,風電消納的難度逐漸增大,棄風問題日益凸顯。提高風電場風電功率超短期預測的精度對電網(wǎng)在線優(yōu)化調(diào)度具有重要的意義[1-2]??紤]“風速-功率”轉換關系中的不確定性與風速不確定性的機理不同,因此有必要對兩者分別進行研究。本文重點探討如何提升風速超短期預測的精度,這也是進一步改進風電場功率預測精度的基礎[3]。
超短期風電功率預測是指預測風電場未來0~4 h 的有功功率,時間分辨率不小于15 min[4]。相應的風速預測的時間尺度亦是如此。文獻[5]提出了利用修正后自回歸差分移動平均-廣義自回歸條件異方差(ARIMA-GARCH)模型進行超短期風速預測。文獻[6]針對風速序列非線性、波動性的問題,首先利用變分模態(tài)分解將信號從低頻到高頻逐次分解,并對每個分量分別建立ARIMA-GARCH 模型再進行疊加。文獻[7]在變分模態(tài)分解的基礎上,分別采用后向傳播的神經(jīng)網(wǎng)絡(BPNN)、自回歸滑動平均(ARMA)模型和最小二乘支持向量機(LS-SVM)對高頻、中頻和低頻信號進行預測。文獻[8]采用了長短期記憶(LSTM)單元對風電場的超短期風速進行了預測,并在此基礎上進行了功率預測。文獻[9]在BPNN 中引入了誤差校正環(huán)節(jié)。文獻[10]提出風電場的風速之間存在較強的空間相關性,并給出了計及空間相關性的風速超短期預測方法。文獻[11]采用了k 近鄰進行空間相關性的超短期預測,并對預測模型的階數(shù)、訓練模型的樣本容量與預測誤差之間的關系進行了研究。文獻[12]采用了最近歷史觀測值和偏最小二乘回歸(PLSR)進行空間相關性超短期風速預測。
上述方法表明,風速超短期預測精度的提升在于獲取更豐富的輸入數(shù)據(jù),并采用合適的方法建立預測模型。鑒于同一個風電場不同高度的風速和風向之間在時間和空間上都存在較強的相關性[13],本文將利用這些實測數(shù)據(jù)改善風速在超短期尺度上的預測精度。同時,數(shù)值天氣預報(NWP)技術的預測精度和更新時間的不斷進步,將為進一步提升風速超短期預測精度提供便利[14]。文獻[15]結合多重聚類和分層聚類方法對風電場的氣象類型進行分類,并利用NWP 數(shù)據(jù)進行了超短期功率預測。
為了高效提取同一個風電場在不同高度的風速、風向歷史數(shù)據(jù)以及NWP 數(shù)據(jù)的時空特征,本文引入了由卷積神經(jīng)網(wǎng)絡(CNN)和循環(huán)神經(jīng)網(wǎng)絡(RNN)組成的時空神經(jīng)網(wǎng)絡。CNN 具有局部連接和權值共享的特點,擅于提取數(shù)據(jù)的空間特征。RNN 采取遞歸的結構,能夠提取數(shù)據(jù)的時序特性。由二者組合構成的深度時空神經(jīng)網(wǎng)絡在處理時序數(shù)據(jù)等方面取得了較大的突破和廣泛的應用[16-18]。文獻[17-18]根據(jù)城市交通流的相應物理特征信息設計了時空神經(jīng)網(wǎng)絡并將其應用到城市街道的人流和車流預測當中,取得了良好的效果。文獻[19]采用CNN 和單向的門控循環(huán)單元(GRU)線性組合構建了時空網(wǎng)絡,對風電場的功率進行了預測,但沒有充分利用不同高度的風速、風向數(shù)據(jù)和NWP 數(shù)據(jù)。
因此,本文設計了一種新的時空神經(jīng)網(wǎng)絡對風電場的超短期風速進行了預測,能夠充分挖掘風電場內(nèi)不同高度風速、風向數(shù)據(jù)之間的時空相關性和NWP 的相關信息,并利用中國東北某風電場的實際數(shù)據(jù)驗證了所提方法的有效性。
傳統(tǒng)單風電場的預測主要利用的是單風電場特定高度風速的時間相關性,結合機器學習算法或者深度學習算法對后續(xù)的風速進行預測。而風電場不同高度處的風速、風向受到區(qū)域內(nèi)部大氣運動的影響,存在較強的關聯(lián)性[9]。這意味著,當前變量在某預測時刻的值,不僅僅與當前變量歷史時刻的值相關,還與其他不同高度風速、風向的歷史時刻取值相關。
風電場風速預測模型利用神經(jīng)網(wǎng)絡等模型對預測值與給定的歷史信息變量之間的函數(shù)關系進行學習。傳統(tǒng)的風電場風速預測只考慮了風電場風速未來時刻的輸出和歷史風速之間存在的耦合,具體可用式(1)來描述。
式中:wi,t+H為待預測變量i 在t+H 時刻的風速;wi,t為待預測變量i 在t 時刻的風速。
而預測算法本身是對這種變量之間的映射關系進行學習??梢钥闯?式(1)中的預測只考慮了單個變量的歷史信息。而考慮了風電場時空相關性的預測指的是當前風電場的風速不僅與當前高度處的歷史風速、風向相關,還與其他高度處的歷史風速、風向以及NWP 數(shù)據(jù)存在一定的聯(lián)系??捎檬剑?)來描述。
式中:Wt為t 時刻不同高度的風速、風向歷史數(shù)據(jù)向量;Pt為t 時刻NWP 數(shù)據(jù)。
風電場的超短期預測需要對未來0~4 h 以每15 min 為時間間隔做預測??紤]到利用單步預測模型滾動16 次會帶來誤差的疊加,而4 h 內(nèi)需預測的時刻數(shù)量并不太多。因此,本文針對0~4 h 的超短期預測是對每個時刻H 采用同樣的網(wǎng)絡結構分別訓練的預測,一共可以得到16 個不同參數(shù)的預測模型。
在風電場風速預測時,能夠利用的信息有測風塔提供的不同高度的風速和風向信息。以東北某風電場為例,該風電場所能提供的數(shù)據(jù)包括10 m 風速、10 m 風向、50 m 風速、50 m 風向、70 m 風速和70 m 風向,而所需預測的是70 m 的風速。各高度的風速、風向之間存在著空間上的聯(lián)系,而不同時刻的截面數(shù)據(jù)之間又存在著時間上的聯(lián)系。因此,風電場的測量數(shù)據(jù)可以建模成時空數(shù)據(jù)。
在每個時刻,多高度的風速、風向數(shù)據(jù)構成一個向量。而隨著時間的推移,這些按時間順序采樣得到的向量可構成一個矩陣。在進行樣本集劃分時,選取每個樣本的長度為n。因為歷史風速包含6 個不同的變量,所以每個樣本為6×n 矩陣。
本文在預測中還考慮了NWP 數(shù)據(jù)。該數(shù)據(jù)來自中國電力科學研究院數(shù)值預報中心,原始的氣象參數(shù)超過100 個。根據(jù)Granger 因果檢驗,選定了對風速預測最有價值的24 個變量(溫度、動量通量、170 m 風速、100 m 風速、30 m 風速、10 m 風速、10 m海上風速、170 m 風向、100 m 風向、30 m 風向、10 m風向、10 m 海上風向、海平面氣壓、云量、潛熱通量、感熱通量、短波輻射、長波輻射、表面氣壓、總降水、大尺度降水、對流降水、2 m 溫度和2 m 相對濕度)。當選取的NWP 時間窗的長度為m 時,每個樣本為24×m 矩陣。
在實際的操作中,風速歷史數(shù)據(jù)和NWP 數(shù)據(jù)屬于不同類型的數(shù)據(jù),在采樣的時間間隔上也存在較大差異,而且狀態(tài)變量之間都存在著時變的非線性關系。傳統(tǒng)的統(tǒng)計和機器學習方法很難對其進行有效的刻畫。因此,本文設計了以下時空神經(jīng)網(wǎng)絡,對風速和NWP 分別進行特征提取和特征融合。
深度學習作為機器學習的一個重要的分支,能夠通過構建更加深層和復雜的神經(jīng)網(wǎng)絡架構來提升對數(shù)據(jù)特征的提取能力。相較于傳統(tǒng)的淺層神經(jīng)網(wǎng)絡,深度學習通過一系列非線性的數(shù)學變換,能夠通過網(wǎng)狀層級結構對數(shù)據(jù)中包含的深層次特征進行提取,從而進行分類或者預測。深度學習中通常用到的模塊有CNN 和RNN。CNN 擅長提取數(shù)據(jù)的空間信息特征,RNN 擅長提取數(shù)據(jù)的時序特征信息。
在之前的研究中,有學者提出了將CNN 和GRU 進行拼接,從而搭建一個復合的網(wǎng)絡進行研究的方法[16-19]。該網(wǎng)絡在機器學習領域的研究中被稱為時空神經(jīng)網(wǎng)絡。時空神經(jīng)網(wǎng)絡首先利用CNN 提取數(shù)據(jù)的空間特征,然后再利用LSTM 單元或者GRU 提取數(shù)據(jù)的時間維度特征,在人工智能領域的視頻行為檢測和分類任務中取得了良好的效果。但文獻[19]采用的GRU 是單向的GRU,其只能提取到單向的特征。而CNN 提取特征并將其傳遞給RNN 之后,特征應該具有多維度的屬性,如果只是利用單向GRU 進行回歸,會損失掉部分有用的信息。因此,本文在文獻[19]提出的時空神經(jīng)網(wǎng)絡的基礎上,將單向GRU 替換成了雙向GRU,從而更好地提取了數(shù)據(jù)的時序特征信息。在此基礎上,提出了考慮NWP 數(shù)據(jù)的預測模型,如圖1 所示。
圖1 考慮NWP 數(shù)據(jù)的時空神經(jīng)網(wǎng)絡模型Fig.1 Spatiotemporal neural network model considering NWP data
圖1 中,考慮了NWP 數(shù)據(jù)的時空神經(jīng)網(wǎng)絡模型分為2 個部分。第1 個部分是離線訓練部分,能夠分別提取預處理后的歷史風速數(shù)據(jù)和NWP 的空間信息,然后再將提取的空間特征分別傳遞到雙向GRU 模塊,提取時序信息。最后,再利用深度學習中經(jīng)典的數(shù)據(jù)拼接的方式融合歷史風速和NWP 的特征信息,并利用全連接層進行預測。而第2 個部分是模型的在線應用部分,能夠將歷史風速信息和NWP 數(shù)據(jù)進行相應的預處理,然后輸入到訓練好的網(wǎng)絡中,快速給出預測的結果。
本文利用不同大小卷積核的CNN 對風電場多變量之間的空間相關性進行了特征提取。圖2 以歷史風速數(shù)據(jù)為例進行說明。歷史風速數(shù)據(jù)包含了10 m 風速、10 m 風向、50 m 風速、50 m 風向、70 m 風速和70 m 風向一共6 個變量。假設預測選取的樣本時間長度為n,那么每個樣本為6×n 矩陣。本文選取了含有3 組不同大小的卷積核的CNN 對輸入數(shù)據(jù)的空間進行提?。ň矸e核的大小分別為6×k1,6×k2和6×k3),其中每組卷積核的個數(shù)為N。再經(jīng)過線性整流函數(shù)(ReLu)單元和1 維的池化(Maxpooling)操作之后,可以得到3 個相同長度的向量,通過對此進行直接的拼接,即為提取出的空間特征向量。在假定CNN 中步長(stride)等于1 的情況下繪制了示意圖,如圖2 所示。
圖2 空間特征提取模塊示意圖Fig.2 Schematic diagram of spatial feature extraction module
對于NWP 數(shù)據(jù)也可以進行同樣的操作。對預測的wi,t+H,采用當前t 時刻之后的長度為m 的NWP 數(shù)據(jù)。NWP 數(shù)據(jù)中包含了24 種不同的狀態(tài)變量。因此,對于卷積核的大小以及池化層的維度也需要分別進行相應的修改,從而得到N ×3 向量。
RNN 擅長提取數(shù)據(jù)的時間信息特征,從而對序列數(shù)據(jù)進行分類或預測。在序列過長的時候,RNN在處理時可能會出現(xiàn)梯度耗散的問題。而且隨著相關信息和預測位置的增長,RNN 很難處理這樣的長期依賴問題。在RNN 的基礎上,有學者提出了LSTM 單元。LSTM 單元通過一些“門”的設計能夠有選擇性地影響RNN 中每個時刻的狀態(tài)。GRU網(wǎng)絡是LSTM 網(wǎng)絡的一種變體,因為GRU 網(wǎng)絡把LSTM 網(wǎng)絡中的遺忘門和輸入門用更新門代替了,其結構相比于LSTM 網(wǎng)絡的結構更加簡單,而且效果也更好。GRU 網(wǎng)絡中單元狀態(tài)(cell state)和隱藏狀態(tài)(hidden state)進行了合并,計算當前時刻信息的方法和LSTM 網(wǎng)絡有所不同[19]。GRU 網(wǎng)絡包含了重置門、更新門、候選記憶單元和當前時刻記憶單元4 個單元,其計算分別如式(3)—式(6)所示。
式中:xt為輸入向量;rt,zt,ht分別為重置門、更新門、候選記憶單元和當前時刻記憶單元向量;Wr和Ur為重置門參數(shù);Wz和Uz為更新門參數(shù);Wh?和Uh?為候選記憶單元的參數(shù);σ(?)和τ(?)表示激活函數(shù);“☉”表示向量元素依次相乘。
在經(jīng)典的RNN、LSTM 網(wǎng)絡和GRU 網(wǎng)絡當中,狀態(tài)的傳輸是從前往后單向的,因此只能提取數(shù)據(jù)在一個方向上的特征。但是在許多序列的預測或者分類任務中,當前時刻的輸出不僅和之前的數(shù)據(jù)相關,而且和之后的數(shù)據(jù)也緊密關聯(lián)[20-21]。所以,需要利用雙向的網(wǎng)絡,因此在此基礎上衍生出了雙向RNN、雙向LSTM 網(wǎng)絡和雙向GRU 網(wǎng)絡。
文獻[22]提出了在風功率預測中的雙向預測機制。因為用于風速預測的數(shù)據(jù),在經(jīng)歷了CNN 部分的特征提取之后,傳遞給了RNN,如果只用單向GRU 去提取特征,只能提取到單向的信息,不能準確地實現(xiàn)特征提取。而且,本文在進行風功率預測的時候,利用了未來時刻的NWP 信息,數(shù)據(jù)具有相應的反向相關性。因此,本文在提取時序特征的時候,采用了雙向GRU 網(wǎng)絡。一方面,能夠對長序列的時序特征進行提取,而不出現(xiàn)梯度耗散的問題,另一方面,也能夠捕捉到序列的雙向特征,如圖3所示。
圖3 時序特征提取模塊示意圖Fig.3 Schematic diagram of temporal feature extraction module
特征融合是指把不同數(shù)據(jù)源的特征進行合并。利用Concatenate 方法對網(wǎng)絡結構進行特征融合在機器學習中是一種經(jīng)典的操作,在DenseNet 和U-net 中都采用了相應的方式進行特征融合[23-24]。文獻[25]采用了時空網(wǎng)絡對出租車的需求量進行了預測,并將地理信息和時序信息進行了Concatenate 融合。本文采用了文獻[25]中的特征融合辦法,對于分別通過CNN 和雙向GRU 網(wǎng)絡提取出的風速、風向歷史數(shù)據(jù)和NWP 數(shù)據(jù)的2 個特征向量進行拼接,得到1 個向量,再將其輸入全連接層,即可得到預測的結果。
用神經(jīng)網(wǎng)絡的方法對風電場的風速進行訓練的過程本質(zhì)上是對式(2)中的函數(shù)f 進行最優(yōu)的逼近,需要求解優(yōu)化問題,而訓練過程也就是對優(yōu)化問題的求解過程。常見的機器學習優(yōu)化算法包括隨機梯度下降(stochastic gradient descent,SGD)算法、Momentum 算 法、Nesterov Momentum 算 法 以 及Adam 算法等。因為Adam 算法能夠對學習率進行自適應調(diào)節(jié),在眾多深度學習的任務中取得了較好的效果,本文選用Adam 算法進行訓練,其參數(shù)更新的具體機制可參見文獻[26]。
本文采用了中國東北某風電場的實際數(shù)據(jù)作為測試算例,對所提方法進行了測試。其中深度學習的算例在Linux 系統(tǒng)服務器集群進行測試,采用了Pytorch 框架。
本文選取了東北某額定容量為45 MW 的風電場作為測試系統(tǒng)。
測風塔測量數(shù)據(jù)時間間隔為5 min,包含10 m風速、10 m 風向、50 m 風速、50 m 風向、70 m 風速和70 m 風向。NWP 數(shù)據(jù)的時間間隔為15 min,包含了溫度、動量通量、30 m 風向等24 個變量。采用某年1 月份的數(shù)據(jù)用于訓練和測試,整個數(shù)據(jù)集中前80%的數(shù)據(jù)作為訓練集,后20%的數(shù)據(jù)作為測試集。例如:測風塔1 個月的數(shù)據(jù)共8 640 個樣本。其中前7 000 個樣本作為訓練集,后1 640 個樣本作為測試集進行試驗。
因為風電場風速的超短期預測要求時間分辨率不低于15 min,本文采用每15 min 一個點的單步預測方式,分別設計了16 個模型對0~4 h 的超短期風速進行預測。
風向數(shù)據(jù)的實際測量中,風向在360°和0°之間波動,由此導致風向的時序數(shù)據(jù)呈現(xiàn)出不連續(xù)的特性。因此,對風向角度在50°以下的數(shù)據(jù)認為是上一次波動的結果,故在此基礎上增加360°,并將異常值除去。
因為風速的測量具有不同的量綱,為了減少量綱和變量類型不同對預測結果的影響,采用式(7)對風速、風向進行歸一化。
式中:xe為標準化之后的模型輸入數(shù)據(jù);xs為原始的輸入數(shù)據(jù);xmax和xmin分別為原始數(shù)據(jù)的最大值和最小值。
為了更加直觀有效地對預測方法進行準確評估,本文定義了4 種誤差評估指標,分別為均方根誤差、平均絕對誤差、歸一化的均方根誤差和歸一化的平均絕對誤差,其表達式分別為:
式 中:xi和? 分 別 為 真 實 值 和 預 測 值;xNi和分 別為歸一化之后的真實值和預測值;IRMSE和IMAE分別為未經(jīng)歸一化的均方根誤差和平均絕對誤差;INRMSE和INMAE分別為歸一化之后的均方根誤差和平均絕對誤差。
本部分利用時空神經(jīng)網(wǎng)絡對單個風電場進行風速預測。經(jīng)過對模型結構以及參數(shù)的調(diào)整,最終模型的參數(shù)如下。
1)CNN 層:CNN 中包含了3 組不同大小的卷積核。第1 組卷積核大小為3×6 向量,第2 組卷積核大小為5×6 向量,第3 組卷積核大小為7×6 向量。激活函數(shù)都為ReLu,每組包含了60 個卷積核。
2)雙向GRU 層:采用3 層的雙向GRU 網(wǎng)絡,其中隱藏節(jié)點的數(shù)目為90 個。
3)Dropout 層:為避免過擬合,按照一定概率對網(wǎng)絡中的隱含神經(jīng)元進行隨機丟棄,本文選用的概率為0.2。
4)全連接層:連續(xù)2 個單一神經(jīng)網(wǎng)絡的全連接層作為時空神經(jīng)網(wǎng)絡的輸出層,輸出的結果即為t 時刻風速的預測值。
模型訓練的時候迭代次數(shù)為100 次,并采用5 折交叉檢驗的方式進行驗證。
為了驗證本文所提方法的有效性,下面對既采用雙向GRU 網(wǎng)絡又引入了NWP 數(shù)據(jù)的時空神經(jīng)網(wǎng)絡模型(用STNN2 表示)、采用了雙向GRU 網(wǎng)絡但不考慮NWP 數(shù)據(jù)的時空神經(jīng)網(wǎng)絡(用STNN1 表示)與其他比較典型的風速超短期預測模型的誤差進行對比。以未來4 h 的風速預測為例,式(8)—式(11)中定義的4 種誤差指標的結果如表1 所示。
表1 不同預測方法的性能比較Table 1 Performance comparison of different prediction methods
表1 中,MLP,SVR,GBR,RF 和C-GRU 分 別表示多層感知器、支持向量回歸、梯度提升回歸、隨機森林和文獻[19]中設計的網(wǎng)絡;Y 和N 分別表示考慮了不同高度、風速、風向相關性的模型和不考慮不同高度、風速、風向相關性的模型。表1 中的數(shù)據(jù)說明,通過引入不同高度的風速、風向數(shù)據(jù),能夠提高預測的精度。同時,時空神經(jīng)網(wǎng)絡(STNN1 和STNN2)相比于傳統(tǒng)的機器學習算法和簡單的CNN 以及LSTM 網(wǎng)絡具有更高的預測性能。而且通過在STNN1 中增加NWP 的信息,STNN2 能夠進一步地提升預測的精度。
在超短期預測中,3~4 h 的預測精度往往比1 h以內(nèi)的精度更難以提升。 圖4 比較了CNN,LSTM,SVR,GBR,RF,MLP,C-GRU,STNN1,STNN2 在不同預測時間下的性能。
由圖4 可見,各方法的預測誤差都隨著預測時間的增加而增加。但是,計及了NWP 信息的時空神經(jīng)網(wǎng)絡STNN2 在各個時段的預測性能均優(yōu)于其他預測,且誤差增長較慢,因此可以說明本文在對數(shù)據(jù)的輸入維度和預測方法層面進行改進后,能夠有效提升預測精度。本文也對NWP、實測風速的誤差以及對預測性能的影響做了分析,詳細結果可參見附錄A。當前實驗結果中NWP 與實測風速誤差在1.9~2.7 m/s 之間。可見,本文算法得到的風速預測誤差比NWP 的誤差降低了大約1 m/s。
圖4 預測誤差隨時間變化圖Fig.4 Variation diagram of prediction error with different time scales
CNN 的預測性能和Adam 算法中學習率初始值、隱藏層數(shù)目及GRU 層數(shù)等參數(shù)緊密相關。通過分析可以發(fā)現(xiàn),學習率對預測結果的影響較大,而隱藏層數(shù)目和GRU 層數(shù)對預測結果的影響較小。從整體上來說,包含了NWP 數(shù)據(jù)的預測模型的預測性能在各種參數(shù)下的預測性能均優(yōu)于不含NWP 數(shù)據(jù)的情形。模型參數(shù)的靈敏度分析結果見附錄B。
考慮到預測精度與輸入數(shù)據(jù)的時間長度緊密關聯(lián),本文選取了不同長度的數(shù)據(jù)對風電場的風速進行預測。歷史數(shù)據(jù)的輸入數(shù)據(jù)的時間長度分別為20、30 和40(即100,150,200 min),NWP 數(shù) 據(jù) 的時間長度固定為20(即100 min)。以未來3 h 的風速預測為例,表2 給出了輸入數(shù)據(jù)長度與預測誤差的關系。
由表2 的結果可以看出,在不同的輸入數(shù)據(jù)長度下,計及NWP 信息的時空神經(jīng)網(wǎng)絡STNN2 的預測模型的精度均高于其他幾種預測模型。而且隨著輸入數(shù)據(jù)的長度增加,預測精度逐漸提升。但在實際操作過程中,當輸入數(shù)據(jù)的長度為20 時,訓練耗時為839.48 s。當輸入數(shù)據(jù)的長度為40 時,訓練耗時為2 133.10 s。鑒于訓練模型并不需要頻繁更新,這一速度基本能滿足要求。
表2 不同預測方法在不同輸入數(shù)據(jù)長度下的性能比較Table 2 Performance comparison of different prediction methods with different lengths of input data
本文提出了一種基于時空神經(jīng)網(wǎng)絡的超短期風速預測方法。算例分析表明,該方法能夠充分利用不同高度的風速、風向數(shù)據(jù)和NWP 數(shù)據(jù)中的時空相關性,有效提升了風電場超短期風速預測的精度。
在后續(xù)的研究中,將把該時空網(wǎng)絡拓展到多風電場風速預測的研究中,以進一步提升預測的精度。
附錄見本刊網(wǎng)絡版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡全文。