苗長新,李 昊,王 霞,韓 麗,馬 也,李 衡
(中國礦業大學電氣與動力工程學院,江蘇省徐州市 221116)
隨著風電并網規模的增加,風電的隨機性、波動性和間歇性給電力系統運行的安全性、穩定性和經濟性帶來了巨大挑戰,準確的風電功率預測是應對該問題的重要手段[1-2]。
風電功率預測的研究主要分為機理預測及數據驅動預測,兩者之間存在本質區別[3-4]。機理預測建立在對大氣運動刻畫的基礎之上,根據地形地貌、氣象環境等信息,利用流體力學、熱力學等物理規律建立模型,重點關注邊界條件和物理求解規則的優化,建模困難、計算量大,一般適用于中長期預測[5]。數據驅動預測強調從多源、多維、多模態數據中找尋其內在規律,以數據挖掘手段和人工智能算法為基礎,建立輸入與目標之間的映射關系,一般更適用于超短期和短期預測[6-7]。
基于數據驅動的風電功率預測的發展背景為:人工智能、大數據、云服務等技術的發展,電網數字新基建、智能電網、能源互聯網等生態的完善,數據采集與監控(SCADA)系統、數值天氣預報(NWP)系統、地理信息系統(GIS)等平臺采集儲存的海量數據資源[8-9]。發展歷程包括統計法、傳統機器學習、深度學習等幾個主要階段。以時間序列法、持續法、卡爾曼濾波為代表的統計法和以人工神經網絡、隨機森林、支持向量機[10]為代表的早期人工智能算法,都有各自的適用場景和局限性[11-12],但共同之處在于,多采用僅反映預測對象某一特征的方法進行預測,如只對單一的風速或風電序列進行統計分析或信號分解[13-14],建模過程僅需要該風電場單維的數據。這些方法忽略了風電場分布排列、上下游效應的影響和風電功率與氣象數據之間的相互耦合,一方面導致數據資源的浪費,同時也限制了預測的精度[15-16]。
風電大數據中不僅包含單一風電場自相關的時間關聯,還包含氣象信息與風電功率的因果關聯和相鄰風電場間互相關的時空關聯[17-20]。隨著數據密集時代的到來,傳統的統計方法和機器學習算法漸漸難以滿足預測任務的需求,越來越多的研究開始使用深度學習工具挖掘風電數據中的深層耦合[21-22]。文獻[23]采用隨機森林法評估多位置NWP 信息的重要程度,再將加權后的NWP 特征與功率一同輸入門控循環單元(GRU)進行預測;文獻[24]采用主成分分析法(PCA)分析風電功率的影響因素,再將降維后的特征輸入長短期記憶(LSTM)網絡。這類方法的特征工程依賴專家指導和人為設置條件,難以發揮深度學習特征工程自動化的優勢。文獻[25]先對輸入的各時間序列建立GRU 并提取時間關聯,再采用卷積神經網絡(CNN)壓縮GRU 的隱藏狀態;文獻[26]先采用CNN 提取多源輸入的耦合特征,再通過GRU 完成預測。針對時空關聯,文獻[27]提出了先提取空間特征,后捕捉時間依賴的兩階段建模方法,分別采用CNN 和雙向GRU 提取空間特征和時序特征,但輸入僅考慮了單維的風速,特征較為單一。
綜上,本文提出一種多尺度時空網絡(multiscale spatio-temporal network,MSTN),它是一個集成了多層、多尺度卷積網絡(multi-scale convolution network,MCNN)和GRU 的深層模型。首先,以相鄰風電場的功率和氣象數據構造MCNN 的多通道輸入,設計并行架構的多尺寸卷積核,提取風電場不同尺度的時空特征。然后,采用1×1 卷積層對不同尺度的時空特征進行賦權、融合、降維,并根據預測目標動態調整網絡對不同特征的依賴。最后,將融合特征輸入GRU 來提取時序聯系,輸出預測結果,并基于真實數據集的仿真結果驗證了所提模型的有效性。
風電大數據包含GIS 提供的風電場地形描述等靜態數據和氣象單位提供的NWP 信息等動態數據,具有多源、多維、多模態的特點。地理位置信息,風速、風向、溫度、氣壓、空氣密度等氣象信息,以及風電功率數據,在離散/連續、采樣頻率、數值大小、計量單位、物理意義上都有顯著差異,但同時又存在風力、風電的因果關聯和相鄰風電場的時空關聯。
因此,基于數據驅動的風電功率預測的關鍵在于既統一又差異化地把握數據間的聯系和區別,抽象多源數據的耦合關系并根據預測目標篩選輸入信息和構造特征向量,這也是本文基于數據驅動的MSTN 模型的關鍵環節。
1.2.1 風電功率與氣象數據的關聯
風力發電受風速、風向、溫度、氣壓、空氣密度等多因素共同影響,各因素與風電出力的Pearson 系數絕對值見附錄A 圖A1。圖中,Speed 指風速信息,Speed-cleaning 指數據清洗后的風速信息,清洗方法見1.3.1 節。
附錄A 圖A1 表明,風速是決定風電出力最直接、最根本的影響因素,同時風向也是時空關聯的重要指標,因此選取風速和風向作為氣象特征,與功率一同用于構造MSTN 的多通道輸入。
1.2.2 相鄰風電場的時空關聯
本文相鄰風電場的Pearson 相關系數如附錄A圖A2 所示,相鄰風電場按位置信息編號。圖A2 表明,距離較近的風電場,出力相關程度較高;而距離較遠的風電場,相關程度較低,為了避免冗余和減小計算復雜度,可以適當撇棄。
1)時空關聯的絕對性
風在空間內的連續性和風電場的相對位置決定了相鄰風電場的出力具有時空關聯:處在同一風向上的風電場,出力將會趨于一致。下游機組與上游機組的功率序列,會表現出相似的波動規律,且具有一定的延時性。
2)時空關聯的相對性
風向和風電場的相對位置決定了時延的先后,風速和風電場間的距離則決定了時延的大小。一般來說,風速越快,相鄰站點的時延越小;風速越慢,相鄰站點的時延越大。
因此,在一定的時空范圍內,可以認為時空關聯是絕對的,關聯程度是相對的。時空關聯可以幫助克服依賴單一時間序列預測未來出力的本質性困難,上游風電場的實時出力為下游風電場的預測提供了未來知識。
多源輸入變量的采樣頻率存在差異,因此,先統一采樣頻率至15 min。多源變量的量綱不同,數值差異也較大,需要對其分別做歸一化處理。風電功率和風速采用式(1)的min-max 法歸一化,風向則采用三角函數化方法歸一化。

式中:x為實測值;xmin和xmax分別為x的最小值和最大值;x′為歸一化值。
值得注意的是,對于多風電場,一般將它們的功率(風速)合并歸一化。
1.3.1 風速清洗
額定風速是風機的重要參數,是指風機以額定功率輸出的最小風速,不同類型的風機對應的額定風速不同。在實際生產中,大量存在風機滿功率輸出、風速溢出的場景,即當風速超過一定閾值的時候,機組達到滿功率輸出狀態,此時風速繼續爬升不再對風電出力有額外貢獻。風速與風電出力的映射關系在滿功率狀態和不飽和狀態下存在較大變化,但神經網絡往往難以準確捕捉這種變化。
因此,本文把此類場景視為風電功率預測的一種異常、故障狀態。從歷史數據中篩選出此類場景,對風速信息進行統計,定義保證所有機組滿功率輸出的最小風速為滿載風速,超出滿載風速的數值(如圖1 中紫色虛線框所示)都削平為滿載風速,低于滿載風速的數值保持不變。對于本文數據集,100 m高度處風速達到14.2 m/s 時,達到滿功率輸出。數據清洗后,風速與風電功率的Pearson 相關系數由0.934 4 上升至0.979 5。

圖1 風電功率與風速相關性Fig.1 Correlation between wind power and wind speed
1.3.2 風向的三角函數歸一化
風向的范圍為0°~360°,從物理意義上講,0°、360°、1°和359°對風機出力是基本等效的,但對神經網絡而言,輸入的數值差異卻很大,因此,對風向采用三角函數化處理,即取風向的sin 值和cos 值[28]。
本文所提MSTN 模型的結構如圖2 所示。圖中,3×3、5×5 等指單個通道特征圖上的卷積核尺寸,對于多通道卷積而言,其卷積核尺寸實際為C×3×3、C×5×5,參數C的數值取決于上一層輸出的特征通道數。
2.1.1 多尺寸卷積核
如圖3 所示,各風電場按縱向排列,風電時間序列按橫向排列,功率、風速、風向按通道方向排列。
CNN 可通過設置不同尺寸的卷積核來獲取更小或更大視野范圍內的特征,例如:本文3×1 卷積核對應提取同一時刻相鄰風電場的空間相關性;1×3 卷積核提取單一風電場自相關的時間相關性;3×3 卷積核提取3 個時間單位內,相鄰3 個風電場的時空關聯;5×5 卷積核對應的是更大時間和空間范圍內的時空相關性。同理,設計3×5、3×7、5×3、5×7 等其他尺寸的卷積核,由模型端到端自主學習輸入數據不同時空尺度的特征,并通過零填充(zero-padding)控制多尺寸卷積的輸出具有相同的尺寸。同時,多通道卷積引入了功率與風速、風向之間的耦合關系,為預測提供了更多知識。

圖2 模型結構Fig.2 Structure of model

圖3 多尺寸卷積核Fig.3 Multi-scale convolution kernel
2.1.2 1×1 卷積
通道特征拼接(Concat)是深度學習中實現特征融合的經典操作,即在通道方向上對輸入向量進行特征拼接[29]。1×1 卷積層進一步對多尺度時空特征進行跨通道的信息融合,并通過控制通道數量靈活調節系統運算規模。1×1 卷積層的輸入為MCNN 的多通道特征,輸出為其融合特征,該層的訓練參數為多通道時空特征的加權系數。特征融合的過程可以表示為:

式中:YCin×L表示輸入的特征,其中Cin為輸入特征的通道數,L為特征向量的長度;為輸出的融合特征,其中Cout為輸出特征的通道數;ωCout×Cin為加權系數。
因此,1×1 卷積層輸出特征的每一個通道實質上都是其輸入特征在通道方向上的加權。定義輸入特征通道的平均權重來衡量各個通道的重要程度,具體地,第i個通道的平均權重αi定義為:

式中:ωji為ωCout×Cin中第j行、第i列的元素。
基于循環神經網絡(RNN)改進的LSTM 網絡和GRU 在提取數據時序特征上有著出色表現。GRU 獨特的更新門和重置門的設計,使其能有效實現對歷史特征的加強與遺忘。與LSTM 網絡相比,GRU 有更加簡潔的網絡參數及網絡結構,這使得GRU 在時間成本方面更加經濟。
輸入時間序列長度的設置一直是GRU 的難點,序列太短會導致信息缺失,序列太長會導致GRU 難以準確捕捉輸入數據的關鍵尺度和關鍵特征。MCNN 交替堆疊的卷積池化結構,具有增強模型壓縮數據規模、凸顯關鍵特征的能力。將輸入向量壓縮降維后再傳遞給GRU,可以有效提高預測準確性。值得注意的是,MCNN 特征輸入GRU 前需要經扁平層(Flatten)將特征扁平化處理。
應用美國國家可再生能源實驗室的公開數據集進行驗證。本文多風電場的裝機容量均為16 MW,地理坐標為78.594 5°~79.866 6°W,39.036 9°~40.344 5°N,數據發生時間為2012 年1 月1 日至12 月31 日,所用風速和風向均為100 m 高度處數據,氣象數據和功率數據的分辨率統一設置為15 min。將全年數據劃分為4 個季度,每個季度取前70 d 為訓練集,后20 d 為測試集,即每組訓練集和測試集分別包含6 720 個和1 920 個樣本。
本文模型同時輸出多個風電場的風電功率預測值,選取均方誤差(MSE)作為預測結果的評價指標。單個風電場和多個風電場風電功率的均方誤差εmse和εMSE的定義分別見式(4)和式(5)。

式中:T為樣本個數;PMt和PPt分別為t時刻實測值和預測值的歸一化功率值;N為風電場數;和分別為t時刻第n個風電場的實測值和預測值的歸一化功率值。當N的值退化為1 時,εMSE反映一個特定風電場的預測誤差。
本文預測任務在Python3.8 環境下執行,實驗硬件配置為Intel Core i5-10300H CPU/16 GB RAM/GeForce GTX 1650。超參數設置如下。
輸入數據的尺寸:通道數為4,即風電功率、風速、風向sin 值、風向cos 值;單個通道特征圖尺寸為5×32,即相鄰5 個風電場待預測時段前8 h 的數據。
MCNN:堆疊2 個多尺度卷積單元,每個單元均含有多尺寸的卷積核,每種尺寸的卷積核數量均設置為10 個;池化方式為最大池化;后接一個小尺寸卷積層,進一步壓縮特征圖尺寸。設置1×1 卷積層輸出的特征通道數為10。
GRU:隱藏層節點數設置為20,經全連接層同時輸出多個風電場待預測時刻的功率。
為了驗證本文所提MSTN 模型的有效性,選取持續法(Persistence)、PCA-GRU、深度 CNN(DeepCNN)、CNN-GRU、GRU-CNN 作為對比實驗的基準模型。其中,PCA 是機器學習領域特征分析的經典算法,CNN-GRU 和GRU-CNN 是當前深度學習在風電功率預測領域的先進算法代表。CNN-GRU 先采用CNN 提取空間聯系再輸入GRU提取時間聯系;GRU-CNN 則先采用GRU 提取各風電場的時間自相關,再采用CNN 提取空間聯系。為了保證對比性,各模型設計的層數和卷積核數量控制在相似水平。
5 個風電場第1 季度的整體預測誤差如表1 所示,5 個風電場第1 季度的單場預測誤差分別見附錄A 表A1 至表A5,第2、3、4 季度的預測結果見附錄A表A6 至表A8。
附錄A 圖A3 展示了1 號和2 號風電場前400 個測試樣本的16 步即4 h 預測結果。綜上可得以下結論。
1)雖然持續法能夠在數值上跟蹤風電出力,但隨著預測步長的增加,其時間延遲和偏移太大,導致了較高的預測誤差。考慮相鄰風電場信息的深度學習算法在多步預測中誤差更小。

表1 5 個風電場第1 季度的功率預測誤差Table 1 Power prediction errors of five wind farms in the first quarter
2)MSTN 模型在4 個季度的數據集上表現優于其他模型,且預測步長越長,優勢越明顯。在個別風電場的部分時刻,MSTN 模型的表現可能會不如GRU-CNN 模型等,這是由于MSTN 模型的訓練目標是降低5 個風電場整體的預測誤差,因此,對單個風電場的風電功率預測誤差的控制不足。當對特定風電場的預測精度有較高要求時,可以通過修改模型訓練過程的損失函數來實現,例如:賦予該風電場預測誤差更大的權重,或將訓練目標由全部風電場預測誤差最小改為特定風電場預測誤差最小。
以MSTN 模型中第1 個MCNN 單元為例,對一個測試樣本分別執行4、8、16 步預測時,其不同尺寸卷積下的多通道時空特征、融合特征和各通道的權重如圖4 所示,可以得到如下結論。

圖4 特征提取過程Fig.4 Process of feature extraction
1)1×1 卷積層可以有效降低通道數量,實現信息降維,并通過對各通道權重值的迭代訓練,以高權重值突出關鍵通道的特征信息。如圖4 所示,4 步預測中,3×7 卷積核對應的通道權重較高,表示對于第1 季度數據集的1 h 預測,每相鄰3 個風電場的7 個時間單位窗口學習到的時空特征對預測結果的影響最大。
2)同一個樣本在不同預測任務中提取出的特征存在差異,表示MSTN 模型能夠根據不同的預測目標動態學習輸入樣本的特征并調整通道權重。
3)各尺度的時空特征中,都存在權重相對較高的通道,表明MCNN 對于風電場時空特征的挖掘是有意義的。
MCNN 特征通道數和1×1 卷積輸出的融合特征通道數是影響模型預測精度和運算時間的關鍵參數,因此,有必要對它們的取值進行測試,測試結果如表2 所示。

表2 靈敏度分析Table 2 Sensitivity analysis
綜上可以得出以下結論。
1)MCNN 通道數決定于卷積核數量。若卷積核太少,會降低預測的準確性;若卷積核過多,會大大增加運算耗時,且預測精度與卷積核數量非正相關。融合特征通道數取10 的條件下,當MCNN 通道數由60 增加到120 時,訓練耗時增加56%,預測誤差卻沒有明顯降低。
2)超短期預測要兼顧準確性和時效性,對于本文數據集,MCNN 通道數和融合特征通道數分別取60 和10 時,MSTN 模型有較好的表現。在此結構下,模型訓練平均耗時為29.2 s,預測單個樣本的運算時間為0.028 2 s,滿足超短期預測的要求。
結合數據驅動和深度學習的方法在風電功率預測領域有著很大的應用潛力。風電大數據中不僅包含風電場的時間自相關,同時也存在相鄰風電場間的時空關聯,以及風力、風電的因果關聯。本文所提MSTN 模型有如下特征。
1)在數據預處理環節,將風電場滿功率輸出,風速溢出的場景視為風電功率預測的異常/故障狀態,并提出相應的數據清洗策略以增強風速、風電的相關性。
2)設計多通道卷積挖掘風電與氣象數據之間的耦合關系;設計多尺度卷積挖掘相鄰風電場不同尺度的時空特征。
3)MSTN 模型同時具備MCNN 壓縮數據規模、凸顯關鍵特征的能力和RNN 捕捉時序特征的能力。因此,在執行數據多、維度高、耦合強的基于數據驅動的風電功率預測任務時,具有一定的優勢。
本文所提模型在相鄰數個風電場的預測任務中表現良好,適用于新建風電場缺少歷史數據或精細化調度風電場出力等場景,但電網運行往往需要關注更大空間范圍、更多數量的場群出力情況,因此需要繼續探索更大時空尺度下基于數據驅動的風電場群功率預測方法。
附錄見本刊網絡版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網絡全文。