孟鑫禹,王睿涵,張喜平,王明杰,丘 剛,王政霞
(1.重慶交通大學信息科學與工程學院,重慶 400074;2.中國大唐集團新能源科學技術研究院有限公司,北京 100043;3.積成電子股份有限公司,濟南 250104;4.國網新疆電力公司,烏魯木齊 830002;5.海南大學計算機與網絡空間安全學院,海口 570228)
當今世界面臨能源危機,風能是最具開發前景的一種可再生能源。風力發電具有環保可持續、成本低廉、規模經濟顯著等優點。但由于受溫度、海拔、地形、氣壓等因素的影響,風能具有波動性、隨機性和不穩定性的特點。而風機的運行效率隨著風速的變化而變化[1],大規模風電并網必然會對電網調度產生負面影響,從而降低電網的可靠性[2]。風電場需要完備的風功率預測系統來制定合適的發電、配電和維護策略,提高風電并網的可靠性。因此,精準的風功率預測能夠有效提高電網調峰能力,增強電網的風電接納能力,改善電力系統運行的安全性與經濟性,對于風電一體化和電力系統的穩定運行至關重要[3]。
根據預測時間范疇,風功率預測可分為四類[4]:應用于風電場設計可行性研究的長期預測;應用于指導風電場維護規劃和運行管理的中期預測;應用于電網調度,以保證供電質量[5]的短期預測;以及超短期預測。超短期風功率預測精度要求較高,用于平衡負荷和優化調度能源,通常需要提前幾分鐘或幾小時進行預測[6]。
風功率預測方法可分為物理方法和統計方法兩大類。物理方法通常使用數值天氣預報[7]、地形、地貌等信息,建立完整的流體力學和熱力學模型,通過求解高維非線性方程,計算出風機輪轂高度處的風速大小,然后結合風機功率曲線,得到風機的輸出功率。該類方法能較好地運用大氣運動的本質,不需要積累大量的歷史風電機組運行數據。但由于風電場特殊的地理環境和一些物理現象(如尾流效應等)的影響,風況往往難以準確評估,因此數值天氣預報的時空分辨率往往會制約預測結果的準確率。另一方面需根據風機自身運行狀態和外部環境因素建立符合風機真實運行工況的風機功率曲線模型[8-9],這增加了風功率預測的不穩定性因素。統計方法是通過分析歷史風功率數據的統計規律,建立時序風功率樣本之間的非線性映射關系,以此得到風功率的預測值。傳統的時間序列預測方法,如自回歸移動平均(AutoRegressive Moving Average,ARMA)模型,常用于風功率的預測;文獻[10]提出了使用Burg 和Shanks 算法的ARMA 過程預測風功率,文獻[11]考慮了風速的自相關和波動特性,基于F 準則建立了ARMA模型用于風功率預測。隨著人工智能技術的飛速發展,一些基于機器學習算法的風功率預測工作涌現。如:文獻[3]提出一種基于支持向量機(Support Vector Machine,SVM)和改進的蜻蜓算法的短期風功率預測方法;文獻[12]介紹了一種基于深度神經網絡(Deep Neural Network,DNN)的預測方法;文獻[13-14]介紹了循環神經網絡(Recurrent Neural Network,RNN)在預測引擎中的應用,其中,文獻[13]提出了脊波神經網絡(Ridgelet Neural Network,RNN)與埃爾曼神經網絡(Elman Neural Network,ENN)結合的兩階段預測方法,文獻[14]提出了一種結合門控循環單元(Gated Recurrent Unit,GRU)與卷積神經網絡(Convolutional Neural Network,CNN)的預測方法。這些基于統計模型的算法,可以避免對物理機制把握不足的差異,更適合于風功率的短期和超短期預測任務。
ARMA 算法適合處理平穩時序信號,對于風速、風功率這樣的非平穩信號,往往需要將原始信號差分處理成平穩信號再輸入模型訓練。文獻[15]提出了小波分解與重構的方法;文獻[16-17]采用了局域波分解以及經驗模態分解(Empirical Mode Decomposition,EMD)的方法,將原始信號轉化為平穩信號后使用ARMA算法,取得了較好的效果;文獻[18]提出了基于集合經驗模態分解(Ensemble Empirical Mode Decomposition,EEMD)與小波神經網絡(Wavelet Neural Network,WNN)的新型風功率組合預測模型,WNN 集人工神經網絡和小波分析優點于一身,具有網絡收斂速度快,避免陷入局部最優,同時又具備時頻局部分析的特點。近年來,循環神經網絡作為一種利用時間關系的統計模型,在風功率預測任務中顯示出了良好的優勢。然而,由于天氣環境、切入切出風速、風機狀態等諸多不確定因素的存在,風功率信號表現出非平穩的性質,循環神經網絡的預測機制也很難捕獲其時序規律。考慮到信號分解能增強數據的平穩性,提出了一種基于經驗模態分解與融合GRU 層、卷積層的多分支神經網絡模型——經驗模態分解的卷積循環神經網絡(Convolutional Recurrent Neural Network based on Empirical Mode Decomposition,EMD_CRNN):首先,原始風功率信號經過EMD 算法分解后再重構,獲得風功率的相對平穩信號;然后,將重構后的張量輸入一個融合了GRU 層與卷積層的多分支神經網絡,分別學習風功率時序信號的趨勢特征和局部特征;最后經過特征融合得到風功率預測結果。該模型具有如下優點:
1)經過EMD 算法分解后再重構的多維度信號,每個維度是相對平穩的,網絡在平穩頻域學習到的特征有更強的時間趨勢表示性,該方法可以弱化非平穩因素帶來的擾動;
2)原始信號分解成多個信號分量后重構成多維張量輸入網絡,并非每一分量單獨預測,考慮了分量之間的內在相關性,采用信息互補的策略增強網絡模型的魯棒性;
3)兼顧時間序列分量的趨勢特征和局部特征,兩部分特征并行提取并融合。不僅保留了不同策略提取特征的獨立性,同時也在特征融合階段對目標函數做了整體約束。
經驗模態分解(EMD)是將非平穩信號按不同尺度的波動或趨勢逐級分解成若干個內在模式函數(Intrinsic Mode Function,IMF)的平穩化處理。IMF 滿足以下條件:1)函數在整個時間序列范圍內,局部極值點和過零點的數目相等或最多相差一個;2)在任意時間點,局部最大值的包絡(上包絡線)和局部最小值的包絡(下包絡線)平均值為零。
設x(t)為任意時序信號,經驗模態分解具體步驟如下。
1)確定信號x(t)的局部極大值點和局部極小值點,利用三次樣條插值擬合形成原數據的上、下包絡線;
2)令上包絡線和下包絡線的均值為m(t),計算h(t)=x(t) -m(t),判斷h(t)是否滿足IMF 條件,若不滿足,則把h(t)看作新的x(t),重復以上操作,即:

直到hk(t)滿足IMF 條件,這樣就得到了第一個IMF,即c1(t)和信號的剩余分量r1(t):

3)對r1(t)按照步驟2)的方法繼續進行分解,直到所得的剩余分量滿足給定的終止條件,分解過程結束,得到若干IMF和一個剩余分量:

原始信號可表示為若干IMF和剩余分量之和,即:

剩余分量rn(t)反映原始信號的中心趨勢。
受不確定性環境因素影響,風速是非平穩的時序信號,風速與風功率存在一定的映射關系,因此風功率是隨風速波動的非平穩信號。將風功率原始時序信號利用EMD 算法進行分解,得到的信號分量與原始信號結合進行數據重構,重構的張量作為神經網絡模型的輸入。設原始風功率信號長度為t,經驗模態分解之后得到n個IMF分量和1個剩余分量,加上原始信號后數據重構成t×(n+2)的2D 張量。重構過程表示為:

其中:x是重構后的2D 張量,x(t)是原始時序信號,ci(t)是IMF,rn(t)是剩余分量。重構后的信號既保留了原始風功率的信息也融合了多個頻段的平穩信號信息,對后面的神經網絡學習過程有促進作用。
這部分將詳細介紹本文模型(EMD_CRNN)的結構,依次介紹了卷積層和GRU 層在特征提取方面各自的優勢,以及特征融合的方法。EMD_CRNN的整體架構如圖1所示。

圖1 EMD_CRNN 整體架構Fig.1 Overall framework of EMD_CRNN
卷積神經網絡(CNN)的核心是對數據張量的卷積。CNN學到的模式具有平移不變性,這使得它可以高效地利用數據,少量的樣本也可以學到具有泛化能力的數據表示。此外CNN還可以學到模式的空間層次結構,這使得它可以有效地學習抽象的空間層次概念。卷積層具有指定大小的濾波器,用以提取數據的局部特征,這一過程可以表示為:

其中:?表示卷積運算,x是數據張量,ReLU(Rectified Linear Unit)是激活函數,Wc和bc是網絡學習過程中需要修正的權重和偏置。重構后的風功率信號作為卷積層的輸入,網絡可以學習到不同頻段信號之間的相互依賴,卷積層提取到的是不同頻段信號的局部特征。
循環神經網絡(RNN)處理時間序列任務有獨特的優勢,但隨著層數的增加,其面臨梯度消失的問題。門控循環單元(GRU)神經網絡作為RNN 的一種變體,它特殊的門結構可以有效地解決長短時間序列上的變化問題。GRU 層的過程可以表示為:

其中:zt是記憶門,rt是遺忘門是更新的隱含層單元,ht是隱含層單元,⊙表示內積運算,σ表示sigmoid 函數,Wz、Wr、Wh表示網絡學習的權重。重構后的風功率信號作為GRU 層的輸入,網絡可以學習到歷史信號的時序依賴關系,GRU 層提取時序信號的長期趨勢特征。
多分支神經網絡模型由GRU 層和卷積層分別提取特征,經過特征融合后再通過全連接層,最后得到網絡的輸出。GRU 層學習到的特征側重于時序信號的長期趨勢,而卷積層學習到的特征側重于不同頻段信號的局部關聯,全連接層可以擬合復雜的非線性映射[19]。這樣組合的混合神經網絡優勢在于:兼顧了CNN 和GRU 兩種神經網絡的獨立性和相關性,在網絡中兩個分支是并行的,以保證針對數據的不同特性學習到不同的參數分布,并通過特征融合來約束統一的目標。
特征融合采用特征向量連接的方式實現,經過卷積層提取到的特征是3D 張量,經過GRU 層提取到的特征是1D 張量。兩部分特征向量無法直接連接,文章使用Keras 中的Flatten 層將多維特征一維化,即把3D 張量“壓平”,然后再進行連接。連接方式采用向量合并的策略,合并之后的總特征數為各部分特征數相加之和,文章使用Keras 中的concatenate函數實現特征融合。
風功率預測的流程如下:首先原始風功率時序信號經過EMD 算法分解成若干子信號,通過1.2 節提到的方法將信號重構;然后重構張量作為神經網絡的輸入,由GRU 層和卷積層分別提取趨勢特征和局部特征;最后將兩個分支得到的特征融合,經過全連接層后得到最后的預測結果。整個多分支神經網絡可以用式(11)來表示:

其中:p是預測功率;C(x)和R(ht)分別由式(6)、(10)計算得到,代表提取到的特征向量表示向量合并;W和b是需要訓練的權重和偏置,Φ代表整個網絡學習的函數。
本文實驗使用內蒙古某風場的實際運行數據,風機信息如下,風機型號(http://wp.china-nengyuan.com/member_product/21293.html):CCWE-1500/77,額定功率1500 kW,輪轂高度:70 m,轉子直徑:77 m。原始數據的采樣周期是10 s,單位采樣次數下的數據波動很小,因此對原始數據的缺失信息,采用了鄰近值填充的方式,即對于某時刻缺失的風功率數值,向上搜尋一個時間單位的數值,如果依舊缺失則繼續向上搜尋一個時間單位,直到搜尋到數值為止。稱搜尋到的這個數值為當前缺失信息位置的最鄰近值,依次找到所有缺失信息位置的最鄰近值進行填充,補全整個數據集。
樣本數據的波動會影響預測精度,導致解的不確定性。數據的標準化可以減小樣本波動的影響,提高預測性能。標準化方程為:

其中:di是標準化后的值,d是待標準化的數據,dmax是待標準化數據的最大值,dmin是待標準化數據的最小值。
神經網絡的目標函數表示為:

其中:W、b為神經網絡學習的權重和偏置,i是指某一樣本點,pi是實測功率值是預測功率值。網絡優化器選擇考慮了動量的Adam 方法。卷積層、GRU 層和全連接層中相應的神經元參數通過大量的實驗調整到相對最優值,卷積層的過濾器個數為32,尺寸為5×5,GRU 中隱含層的特征數為128。使用平均絕對誤差(Mean Absolute Error,MAE)和均方誤差(Mean Square Error,MSE)來評估各種方法的性能,MAE 的優勢體現在對異常數據的魯棒性[20]。

此課題使用了數據集中2 880 個樣本作為訓練集,1 440個樣本作為測試集,對比了在風功率預測中較常用的一些傳統算法,同時也對比了引言部分提及的幾個重要算法:差分整合自回歸移動平均(AutoRegressive Integrated Moving Average,ARIMA)模型[21]、梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)[22]、支持向量機(SVM)[3]、深度神經網絡(DNN)[12]、門控循環單元神經網絡(GRU)、文獻[14]提出的GRU_CNN 和文獻[17]提出的EMD_ARMA,此外為了說明多分支神經網絡的優勢,還對比了EMD 重構分別與DNN、CNN、GRU 網絡結合的結果(依次記作EMD+DNN、EMD+CNN、EMD+GRU)。為了觀察算法時間跨度預測性能,實驗也列舉了模型在不同時間跨度下的表現。由于計算出的評價指標精度高,為了便于展示,結果上做了1E-1和1E-2的運算。
圖2 可視化了一段時間內的原始風功率信號和分解后各頻段的信號,圖的右邊是EMD 算法對圖左邊原始信號的分解。可以看出原始信號的無周期性和非平穩性,信號分解后,滿足IMF條件的分量是平穩信號,而且表現出了弱規律性,這給神經網絡的學習降低了難度。

圖2 風功率信號EMD可視化Fig.2 EMD visualization of wind power signal
表1 記錄了所有對比模型的MAE 和MSE 結果,隨著預測步長的增加,預測的準確度會降低。歷史風功率信號經過EMD 重構之后再輸入神經網絡的優勢很明顯,與ARIMA、DNN、GRU 相比,EMD_ARMA、EMD+DNN、EMD+GRU 在MAE表現方面都至少有1E-3 的提升,EMD+GRU 更是提升了將近5E-3。GRU_CNN 并沒有表現出很好的性能,因為對于風功率的單一信號而言,一維卷積并沒有發揮出預測性能方面的優勢。EMD_CRNN 的卷積是針對EMD 分解過后的多維信號,相比之下,它展現出來的優勢就很明顯,其MAE 比傳統的ARIMA 方法下降了30%左右。EMD+CNN 和EMD+GRU 相對其他模型也有較小的MAE 和MSE,EMD_CRNN 發揮了卷積層和GRU 層的優勢,達到了更好的效果。EMD+CNN 和EMD+GRU 在預測性能上差別不大,因為對預測結果起決定性作用的樣本序列較短,CNN 中的卷積核也能挖掘到重要的時序特征。
為了證明EMD_CRNN 的普適性,表2給出了EMD重構后的幾個神經網絡模型在不同采樣周期下的評價指標結果,采樣周期分別為1 min、3 min和5 min。結果表明EMD_CRNN在各個采樣周期上都比其他方法有優勢。采樣間隔時間越長,所有方法預測結果準確度都會降低,因為風速的不穩定性導致長間隔內的不確定性因素的增加,故預測難度增加。
圖3是表1中MAE和MSE的柱狀圖,縱坐標是模型名稱,橫坐標分別是評價指標MAE和MSE的值。
圖4 展示了GRU、EMD+GRU 與EMD_CRNN 三種模型在訓練過程中隨著迭代次數增加的損失折線圖。可以看出,經過EMD 數據重構的神經網絡更能訓練得到較小的損失。GRU 神經網絡在迭代過程中損失一直比較平穩,EMD_CRNN在迭代到5 次時模型效果達到最佳,后面則開始出現過擬合的現象,所以訓練模型時,選擇一個合適的迭代參數尤為關鍵。圖5 給出了EMD_CRNN 預測結果與實測值的對比,采樣周期和預測跨度皆為1 min,模型能較為準確地預測出風功率的走勢和突變值,在應用上有一定的參考價值。

表1 不同模型評價指標對比Tab.1 Evaluation index comparison of different models

表2 不同采樣周期的評價指標對比Tab.2 Evaluation index comparison of different sampling peroids

圖3 MAE、MSE柱狀圖Fig.3 Histograms of MAE and MSE

圖4 不同模型在驗證集上的loss折線圖Fig.4 Loss graph of different models on validation set

圖5 預測結果與實測值可視化Fig.5 Visualization of prediction results and real values
本文模型EMD_CRNN 是一種基于EMD 算法與數據重構,以及多分支神經網絡的超短期風功率預測模型。多分支體現在利用卷積層和GRU 層并行提取局部特征和趨勢特征。實驗結果驗證了該模型在實際風場數據集上預測風功率的優勢,主要包括以下3個方面:
1)把非平穩風功率信號重構為在各頻段相對平穩的數據張量,循環神經網絡在平穩信號的數據驅動下能學習到更強的趨勢依賴特征,克服了風功率預測中非平穩信號給模型學習帶來的困難;
2)卷積層提取不同頻段信號的局部特征,GRU 層提取時序信號的長期趨勢特征,兼顧了不同特征之間的獨立性與相關性,使得模型對風功率數據有更強的挖掘能力;
3)數據重構與多分支神經網絡在數據層面與特征層面都體現出了信息互補的策略,該策略能提高風功率預測模型的魯棒性。