江善和,李偉,徐小艷,王德凱*
(安慶師范大學 a.電子工程與智能制造學院;b.經濟與管理學院,安徽 安慶 246011)
風能作為一種無污染、儲量豐富且分布廣泛的可再生能源,受到廣泛關注[1-2]。然而,風能屬于間歇性能源,其對天氣的依賴性和不穩定性帶來的高隨機性和低可預測性極大地影響了大型電網集成風力發電系統的安全性和穩定性[3]。由于大規模電力儲存仍然成本高昂,有效的風能預測成為應對風力發電在不同規模電網中高滲透的一個解決方案。因此,風電功率預測對促進風電并網至關重要[4-5],是將風力發電與不同規模的現有電網相結合的關鍵技術。而風電功率預測中的短期預測,即預測未來30 min~6 h 的輸出,對風電調度和控制等具有重要指導作用[6-7]。
風電功率預測從模型原理角度可分為4 類:物理模型、傳統統計模型、基于人工智能的模型和混合模型[8-11]。混合模型通過組合不同類型的模型來更好地表征風速或風電功率波動的特點。文獻[12]提出了將信號濾波或分解方法與其他方法有效結合的預測模型;Shukur 等[13]提出了基于自回歸移動平均的卡爾曼-人工神經網絡混合模型,實驗結果表明該算法能有效減小預測誤差;Giorgi 等[14]提出了結合小波分解與最小二乘支持向量機的不同區間的風速預測建模方法,實例驗證所提的方法預測效率較高。
深度學習方法因具有顯著的能夠挖掘數據中的非線性關系和識別數據抽象特征的能力,在許多領域得到了廣泛應用[15-17]。Goodfellow 等[18]提出的生成對抗網絡(Generative Adversarial Networks,GAN),已在計算機視覺和自然語言處理等領域取得良好的應用效果[19]。Aldausari 等[20]提出的ForGAN 首次應用于預測任務中,隨后GAN 成功應用于金融領域等時間序列預測問題[21],但其在風電功率預測領域的應用卻很少。
本文針對風電數據強非線性和序列不穩定性問題,提出一種變分模態分解改進GAN(Variational Mode Decomposition-GAN,VMD-GAN)的風電功率短期預測方法,并應用于提前1 h 的短期風電功率預測。該方法以深度學習中的GAN 為基本框架:首先,通過VMD 方法,將非平穩復雜序列風電數據的預測任務轉化為多個較為平穩簡單序列風電數據的預測任務;其次,改進傳統GAN,重新設計了激活函數和損失函數,利用深度學習GAN 強大的擬合非線性能力,提高風電數據的預測性能;最后,利用Bengaluru 某風場的真實數據對上述方法進行仿真分析,并進行了算法關鍵參數的敏感性分析。結果表明,改進方法有效地提高了風電輸出功率的短期預測精度。
VMD 是由Dragomiretskiy 和Zosso 提出的用于信號分解的技術[22],它具有自適應、完全非遞歸的特點,能夠對非平穩信號進行有效分解和處理。VMD 可以自適應地匹配各模態的中心頻率和帶寬,可以實現固有模態分量(Intrinsic Mode Function,IMF)的分離,進而得到給定信號的有效分解成分[23]。VMD 相比經驗模態分解(Empirical Mode Decomposition, EMD),具有更堅實的數學理論基礎,不存在其他分解模型的限制,如:EMD 存在端點效應和模態分量混疊的問題,無法正確處理噪聲;小波方法存在硬帶限值等問題。使用VMD 可將原始序列的非穩定和非線性分散在子序列中,得到相對平穩的子序列,降低了下一步處理的難度。
風電數據一般受風速、風向等多因素影響,是由多種成分組成的非平穩信號。VMD 算法首先構造變分問題,假設原始信號f被分解為K個分量,保證分解序列為具有中心頻率帶寬的模態分量,同時各模態的估計帶寬之和最小,約束條件為所有模態之和與原始信號相等,則相應的約束變分表達式為
式中:K為模態數;{uk}和{wk}為分解后第k個模態分量及中心頻率;δ(t)為單位脈沖函數。
求解式(1),引入Lagrange 乘法算子λ,將該問題轉化為非約束變分問題,得到增廣Lagrange 表達式
式中:α為二次懲罰因子。
利用交替方向乘子迭代算法和傅里葉等距變換方法等,交替尋優迭代uk,wk和λ,優化得到各個模態分量和中心頻率分別為
式中:γ為噪聲容限,即信號分解的保真度要求;?分別為u,f,λ對應的傅里葉變換。
VMD算法的具體步驟如下。
GAN 是利用博弈論中的零和博弈估計生成模型的新框架。GAN 由生成器和判別器組成。生成器和判別器的構成不局限于特定的結構或網絡。生成器G 將輸入的隨機噪聲轉化為生成數據,使生成數據盡可能符合真實樣本的特征,從而使判別器D 無法將生成數據與真實樣本分開;判別器D 則是將生成器G 產生的生成數據與樣本數據分開,輸出為判別結果。其結構如圖1所示。

圖1 GAN結構Fig.1 Structure of a GAN
生成器和判別器的對抗過程可以表述為對V(D,G)的最大最小博弈
式中:G(z)為噪聲變量的先驗pz(z)在數據空間的映射;D(x)為x來自真實數據的概率;pdata(x)為真實數據的先驗。
GAN的訓練過程為交替訓練判別器和生成器。
首先訓練判別器。對于固定的判別器,其輸入包括真實數據和生成器產生的數據,判別器判斷輸入數據是否為真實數據,給出輸入為真實樣本的概率作為輸出。輸入真實數據時輸出應為1,而輸入生成數據時其輸出應為0。訓練判別器時,應使得輸出盡可能接近對應狀態下的值,即取使V(D,G)為最大值的D,
式中:pg(x)為生成數據的先驗。
其次訓練生成器。固定判別器的參數,將噪聲z輸入生成器,產生生成數據,然后將其與真實數據輸入給判別器。對于假數據樣本,訓練生成器時,應使判別器的輸出盡可能接近0,即取合適的G,使V(D,G)取最小值,
由式(8)可得:當pdata(x) =pg(x)時,V(D,G)取最小值。
在訓練過程中,生成器和判別器互相對抗,最后接近或者達到納什均衡,即D*(x)=0.5。此時認為判別器已經無法分辨輸入是否為真實的樣本數據,同時生成器已經具有產生符合真實樣本特征數據的能力。
在進行短期風電功率預測時,由于風電數據常具有強非線性及非平穩特性,導致預測模型的精度不高,而傳統GAN 在訓練時容易發生模式崩潰。為解決該問題,設計了VMD-GAN 模型。該模型使用VMD 得到子序列。相比原始序列,其非線性和非平穩性降低,更容易實現預測。通過構造GAN,實現非線性關系的擬合,從而提高模型的精度。
VMD-GAN 的結構可分為3 部分,分別為數據預處理、含VMD 及多個預測器的生成器G、判別器D,其結構如圖2所示。

圖2 VMD-GAN結構Fig.2 Structure of a VMD-GAN
數據預處理主要是采用三次樣條插值方法對數據樣本的缺失值進行補缺,然后將其歸一化,并將數據改為所需的結構,形成風電功率預測的數據集。
生成器如圖2 所示,由VMD 和k+1 個預測器組成,其中k為VMD 分解的階數。長短期記憶(Long Short-Term Memory,LSTM)神經網絡在時間序列預測任務中表現出良好的性能,故生成器中的預測器采用LSTM神經網絡作為核心。
本方法改進了生成器的結構,采用分解的思想,使用VMD 分解原始序列,將分解出的子序列送入以LSTM 神經網絡為核心的子預測器進行預測,最終將子序列預測結果求和作為預測輸出。風電數據經過VMD 后得到k個本征模態函數,再對數據進行處理得到1 個余波,這k+1 組數據具有良好的規律性。將分解得到的數據分別輸入到對應的k+1 個子預測器中,得到對應的輸出并進行求和作為預測輸出,并生成相應的生成數據。考慮到經過VMD 后的數據相比原始數據復雜度降低,可預測性提高,預測子序列相比預測原始序列對于生成器的擬合非線性的能力要求更低,更容易提高預測精度。
VMD-GAN的判別器以LSTM神經網絡為核心,判別器作為一個二分類器,其作用是判別輸入的數據是否為真實的樣本數據。傳統的判別器使用卷積神經網絡[24],然而在風電功率預測中,LSTM 更適宜處理真實樣本中的時間相關性,可以有效降低模型的復雜程度和參數數量,故使用LSTM 作為判別器的核心[25]。
為了解決GAN 存在的模型不穩定問題,本文設計了激活函數和損失函數。激活函數的設計在GAN 模型的構建中發揮關鍵的作用。風電輸出受制于物理和電氣性能,其輸出有明顯的截斷特性,而GAN 的生成器的前期預測結果相比實際結果的差距會非常大,使用傳統的激活函數會使得模型容易陷入梯度爆炸或梯度消失的狀態,因此,設計了一種新的生成器激活函數
式中:l為可調參數。該激活函數的優點在于使模型訓練中梯度值雖較小但始終存在,避免了由于模型參數快速變化而導致模型的不穩定。
損失函數的設計也是GAN 模型中的關鍵之一,恰當的損失函數可以兼顧網絡訓練速度和網絡的穩定性,進而影響網絡收斂時的精度。生成器和判別器的作用是完成分類任務,模型設計中常采用交叉熵、均方誤差(Mean Square Error,MSE)方法實現有效分類。本文對2種不同的損失函數都進行了實驗,結果發現,GAN 的損失函數單獨使用二元交叉熵很難使模型穩定,故本文采用交叉熵和MSE 的加權和作為GAN 的損失函數。判別器的損失函數仍然使用二元交叉熵。此時GAN 的損失函數表征輸入數據正確分類的平均概率。
VMD-GAN 訓練過程選用的優化器為Adam[26],具體訓練步驟如下。
(1)初始化生成器和判別器的權重以及優化器的參數,確定激活函數和損失函數的具體表達,準備數據集。
(2)若VMD-GAN算法未滿足停止條件,則:1) 更新判別器,固定生成器的參數,將給定的歷史數據進行VMD并輸入生成器得到相應的生成數據,將其與真實數據輸入給判別器,使用優化器更新其權重;2) 更新生成器,從生成器重新產生生成數據,將其與真實數據輸入判別器,使用優化器更新其權重。
(3) 計算訓練后的生成器在訓練集和測試集上的損失,驗證此時VMD-GAN是否滿足停止條件,如果滿足則訓練終止,否則重復步驟(2)直至滿足終止條件或者達到最大迭代次數。
本文的模型和算法使用Python 3.9 和TensorFlow 2.10進行實驗驗證。考慮到風電數據存在長時依賴性,采用的數據集為Bengaluru 風電場某風機2007年1月—2021年7月的風電數據。數據采集為1 次/h,記錄的內容除風電功率外還包含風速、風向、氣壓、環境溫度、露點溫度、相對濕度等氣象數據。實驗設計使用前72 h的風電數據預測第73 h的風電功率。首先使用三次樣條插值對缺失值進行預處理,處理后總數據共127 315 條,每條數據的形狀為72×12,其中前4/5 為訓練集,其余作為測試集。
VMD-GAN 模型中生成器由VMD 模塊、多個基于LSTM的子預測器、多個全連接層和1個求和器構成。每個基于LSTM 的子預測器由2 層共包含32 個神經元的LSTM 構成,預測器最后一層的激活函數為式(9)的激活函數,前述各個層之間添加了Dropout層防止過擬合,生成器的學習率為0.001;判別器由2 層LSTM、2 個Dropout 層、2 個全連接層構成,學習率與生成器相同。
風電功率預測性能常用的定量評價指標主要有平均絕對誤差(Mean Absolute Error,MAE)、MSE、均方根誤差(Root Mean Square Error,RMSE)、最大預測誤差(δmax)等。MAE,MSE,RMSE 和δmax分別代表預測值與真實值之間誤差的均值、方差、標準差和最大值,取值越小表示預測與實際的誤差越小,精度越高,預測方法的性能越好。
4.2.1 VMD算法關鍵參數k值的確定
首先,需要確定VMD 算法中的關鍵參數k,將k取值由小到大依次分解并分析結果的中心頻率,見表1。可看出,取值4 和5 的最大中心頻率相似,可以認為在k取值為5 時出現了模態混疊,故確定k取值為4。對應的分解結果如圖3所示。可見,原始數據經過分解得到4 個頻率和復雜度依次降低的IMF分量和1個余波。

表1 不同k值對應分解結果的中心頻率Table 1 Center frequencies of decomposition results made based on different k value
4.2.2 激活函數參數敏感性分析
VMD-GAN 算法中設計的激活函數參數l的取值對算法性能有重要的影響。為選取合適的l值,本文在0.01~0.50 內分別選取若干個數值,在同一數據集上進行性能比較實驗,其預測誤差結果見表2。可以看出,所設計激活函數參數取值過大和過小均會影響算法的性能,其中l取0.10 時,VMDGAN 的預測性能最佳。此時,VMD-GAN 的預測MSE 最低。l偏離0.10 越多,模型預測MSE 越大。因此,本文的VMD-GAN 算法的激活函數參數l選取0.10。

表2 l取不同值時VMD-GAN的評價結果對比Table 2 Prediction results of VMD-GAN with various l value
4.2.3 算法性能比較分析
為進一步驗證和比較所提VDM-GAN 方法的預測性能,本文選用短期風電功率預測領域中的4 種模型進行分析:自回歸移動平均模型(ARIMA)[27]、引入VMD的ARIMA模型(VMD-ARIMA)[27],LSTM[28]和僅使用生成器部分的模型(VMD-LSTM)[28]。客觀評價指標選取常用的定量評價指標MAE、MSE、RMSE 和δmax,并在計算時先對相關結果進行反歸一化。針對同一測試集,使用上述各種算法進行實驗,獲得的客觀評價指標,見表3。

表3 不同預測模型結果對比Table 3 Prediction results of various models
分析表3 可知,對比傳統的ARIMA 和LSTM,引入VMD 的VMD-ARIMA 和VMD-LSTM 預測模型的精度得到了提升,但在最大預測誤差方面改善不夠明顯。對比VMD-LSTM 和VMD-GAN,可以發現添加判別器組成的GAN 性能又得到進一步提升,且最大預測誤差降低。從4 個指標總體來看,本文所提VMD-GAN 算法最優,VMD-LSTM 和VMD-ARIMA兩者性能相近,但均優于LSTM 和ARIMA,其中ARIMA的最大誤差最大,LSTM的MAE最大。
同時,將VMD-ARIMA,LSTM,VMD-LSTM 和VMD-GAN 這4 個模型的原始數據和預測結果進行對比輸出,其結果如圖4 所示。可見,LSTM、VMDLSTM 與VMD-GAN 模型預測結果與實際數據的走勢基本相同,預測偏差依次減小,其中VMD-GAN的擬合效果最好,這代表VMD 算法的融入和GAN 的構造提高了模型處理非線性、非平穩風電數據的能力,很好地提高了風電模型的預測精度。

圖4 VMD-GAN與其他方法預測結果對比Fig.4 Forecasting results of VMD-GAN and other methods
VMD-GAN 與其他方法的預測結果誤差分布如圖5 所示。可見,4 種方法的誤差分布相似,但是VMD-GAN方法的預測誤差更低,其MSE相比LSTM和VMD-LSTM 分別下降79.65%和51.83%,說明預測模型通過構造GAN 后,4 種誤差評價指標均大幅降低,能更好地處理風電數據和其中的突變值。實驗結果表明,VMD-GAN 模型相較于ARIMA,VMDARIMA,LSTM和VMD-LSTM 法,能夠更好地分析和處理風電數據,且預測精度得到極大提高。

圖5 VMD-GAN與其他方法預測結果誤差對比Fig.5 Forecasting errors of VMD-GAN and other methods
針對風電數據非線性強、非穩定的特點,以及傳統GAN 容易發生模式崩潰的問題,引入VMD,提出了一種基于VMD 改進GAN 的短期風電功率預測方法VMD-GAN,該方法使用VMD 思想,將復雜序列的預測轉化為多個較為簡單序列的預測,設計了激活函數和損失函數,解決傳統GAN 模型不穩定問題,并對VMD-GAN 方法的關鍵參數進行了分析。實驗結果表明,本文方法取得了良好的預測效果,能夠處理強非線性和非平穩特征的短期風電功率預測問題。