江善和,李偉,徐小艷,王德凱*
(安慶師范大學(xué) a.電子工程與智能制造學(xué)院;b.經(jīng)濟(jì)與管理學(xué)院,安徽 安慶 246011)
風(fēng)能作為一種無污染、儲量豐富且分布廣泛的可再生能源,受到廣泛關(guān)注[1-2]。然而,風(fēng)能屬于間歇性能源,其對天氣的依賴性和不穩(wěn)定性帶來的高隨機(jī)性和低可預(yù)測性極大地影響了大型電網(wǎng)集成風(fēng)力發(fā)電系統(tǒng)的安全性和穩(wěn)定性[3]。由于大規(guī)模電力儲存仍然成本高昂,有效的風(fēng)能預(yù)測成為應(yīng)對風(fēng)力發(fā)電在不同規(guī)模電網(wǎng)中高滲透的一個解決方案。因此,風(fēng)電功率預(yù)測對促進(jìn)風(fēng)電并網(wǎng)至關(guān)重要[4-5],是將風(fēng)力發(fā)電與不同規(guī)模的現(xiàn)有電網(wǎng)相結(jié)合的關(guān)鍵技術(shù)。而風(fēng)電功率預(yù)測中的短期預(yù)測,即預(yù)測未來30 min~6 h 的輸出,對風(fēng)電調(diào)度和控制等具有重要指導(dǎo)作用[6-7]。
風(fēng)電功率預(yù)測從模型原理角度可分為4 類:物理模型、傳統(tǒng)統(tǒng)計模型、基于人工智能的模型和混合模型[8-11]?;旌夏P屯ㄟ^組合不同類型的模型來更好地表征風(fēng)速或風(fēng)電功率波動的特點。文獻(xiàn)[12]提出了將信號濾波或分解方法與其他方法有效結(jié)合的預(yù)測模型;Shukur 等[13]提出了基于自回歸移動平均的卡爾曼-人工神經(jīng)網(wǎng)絡(luò)混合模型,實驗結(jié)果表明該算法能有效減小預(yù)測誤差;Giorgi 等[14]提出了結(jié)合小波分解與最小二乘支持向量機(jī)的不同區(qū)間的風(fēng)速預(yù)測建模方法,實例驗證所提的方法預(yù)測效率較高。
深度學(xué)習(xí)方法因具有顯著的能夠挖掘數(shù)據(jù)中的非線性關(guān)系和識別數(shù)據(jù)抽象特征的能力,在許多領(lǐng)域得到了廣泛應(yīng)用[15-17]。Goodfellow 等[18]提出的生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN),已在計算機(jī)視覺和自然語言處理等領(lǐng)域取得良好的應(yīng)用效果[19]。Aldausari 等[20]提出的ForGAN 首次應(yīng)用于預(yù)測任務(wù)中,隨后GAN 成功應(yīng)用于金融領(lǐng)域等時間序列預(yù)測問題[21],但其在風(fēng)電功率預(yù)測領(lǐng)域的應(yīng)用卻很少。
本文針對風(fēng)電數(shù)據(jù)強(qiáng)非線性和序列不穩(wěn)定性問題,提出一種變分模態(tài)分解改進(jìn)GAN(Variational Mode Decomposition-GAN,VMD-GAN)的風(fēng)電功率短期預(yù)測方法,并應(yīng)用于提前1 h 的短期風(fēng)電功率預(yù)測。該方法以深度學(xué)習(xí)中的GAN 為基本框架:首先,通過VMD 方法,將非平穩(wěn)復(fù)雜序列風(fēng)電數(shù)據(jù)的預(yù)測任務(wù)轉(zhuǎn)化為多個較為平穩(wěn)簡單序列風(fēng)電數(shù)據(jù)的預(yù)測任務(wù);其次,改進(jìn)傳統(tǒng)GAN,重新設(shè)計了激活函數(shù)和損失函數(shù),利用深度學(xué)習(xí)GAN 強(qiáng)大的擬合非線性能力,提高風(fēng)電數(shù)據(jù)的預(yù)測性能;最后,利用Bengaluru 某風(fēng)場的真實數(shù)據(jù)對上述方法進(jìn)行仿真分析,并進(jìn)行了算法關(guān)鍵參數(shù)的敏感性分析。結(jié)果表明,改進(jìn)方法有效地提高了風(fēng)電輸出功率的短期預(yù)測精度。
VMD 是由Dragomiretskiy 和Zosso 提出的用于信號分解的技術(shù)[22],它具有自適應(yīng)、完全非遞歸的特點,能夠?qū)Ψ瞧椒€(wěn)信號進(jìn)行有效分解和處理。VMD 可以自適應(yīng)地匹配各模態(tài)的中心頻率和帶寬,可以實現(xiàn)固有模態(tài)分量(Intrinsic Mode Function,IMF)的分離,進(jìn)而得到給定信號的有效分解成分[23]。VMD 相比經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition, EMD),具有更堅實的數(shù)學(xué)理論基礎(chǔ),不存在其他分解模型的限制,如:EMD 存在端點效應(yīng)和模態(tài)分量混疊的問題,無法正確處理噪聲;小波方法存在硬帶限值等問題。使用VMD 可將原始序列的非穩(wěn)定和非線性分散在子序列中,得到相對平穩(wěn)的子序列,降低了下一步處理的難度。
風(fēng)電數(shù)據(jù)一般受風(fēng)速、風(fēng)向等多因素影響,是由多種成分組成的非平穩(wěn)信號。VMD 算法首先構(gòu)造變分問題,假設(shè)原始信號f被分解為K個分量,保證分解序列為具有中心頻率帶寬的模態(tài)分量,同時各模態(tài)的估計帶寬之和最小,約束條件為所有模態(tài)之和與原始信號相等,則相應(yīng)的約束變分表達(dá)式為
式中:K為模態(tài)數(shù);{uk}和{wk}為分解后第k個模態(tài)分量及中心頻率;δ(t)為單位脈沖函數(shù)。
求解式(1),引入Lagrange 乘法算子λ,將該問題轉(zhuǎn)化為非約束變分問題,得到增廣Lagrange 表達(dá)式
式中:α為二次懲罰因子。
利用交替方向乘子迭代算法和傅里葉等距變換方法等,交替尋優(yōu)迭代uk,wk和λ,優(yōu)化得到各個模態(tài)分量和中心頻率分別為
式中:γ為噪聲容限,即信號分解的保真度要求;?分別為u,f,λ對應(yīng)的傅里葉變換。
VMD算法的具體步驟如下。
GAN 是利用博弈論中的零和博弈估計生成模型的新框架。GAN 由生成器和判別器組成。生成器和判別器的構(gòu)成不局限于特定的結(jié)構(gòu)或網(wǎng)絡(luò)。生成器G 將輸入的隨機(jī)噪聲轉(zhuǎn)化為生成數(shù)據(jù),使生成數(shù)據(jù)盡可能符合真實樣本的特征,從而使判別器D 無法將生成數(shù)據(jù)與真實樣本分開;判別器D 則是將生成器G 產(chǎn)生的生成數(shù)據(jù)與樣本數(shù)據(jù)分開,輸出為判別結(jié)果。其結(jié)構(gòu)如圖1所示。
圖1 GAN結(jié)構(gòu)Fig.1 Structure of a GAN
生成器和判別器的對抗過程可以表述為對V(D,G)的最大最小博弈
式中:G(z)為噪聲變量的先驗pz(z)在數(shù)據(jù)空間的映射;D(x)為x來自真實數(shù)據(jù)的概率;pdata(x)為真實數(shù)據(jù)的先驗。
GAN的訓(xùn)練過程為交替訓(xùn)練判別器和生成器。
首先訓(xùn)練判別器。對于固定的判別器,其輸入包括真實數(shù)據(jù)和生成器產(chǎn)生的數(shù)據(jù),判別器判斷輸入數(shù)據(jù)是否為真實數(shù)據(jù),給出輸入為真實樣本的概率作為輸出。輸入真實數(shù)據(jù)時輸出應(yīng)為1,而輸入生成數(shù)據(jù)時其輸出應(yīng)為0。訓(xùn)練判別器時,應(yīng)使得輸出盡可能接近對應(yīng)狀態(tài)下的值,即取使V(D,G)為最大值的D,
式中:pg(x)為生成數(shù)據(jù)的先驗。
其次訓(xùn)練生成器。固定判別器的參數(shù),將噪聲z輸入生成器,產(chǎn)生生成數(shù)據(jù),然后將其與真實數(shù)據(jù)輸入給判別器。對于假數(shù)據(jù)樣本,訓(xùn)練生成器時,應(yīng)使判別器的輸出盡可能接近0,即取合適的G,使V(D,G)取最小值,
由式(8)可得:當(dāng)pdata(x) =pg(x)時,V(D,G)取最小值。
在訓(xùn)練過程中,生成器和判別器互相對抗,最后接近或者達(dá)到納什均衡,即D*(x)=0.5。此時認(rèn)為判別器已經(jīng)無法分辨輸入是否為真實的樣本數(shù)據(jù),同時生成器已經(jīng)具有產(chǎn)生符合真實樣本特征數(shù)據(jù)的能力。
在進(jìn)行短期風(fēng)電功率預(yù)測時,由于風(fēng)電數(shù)據(jù)常具有強(qiáng)非線性及非平穩(wěn)特性,導(dǎo)致預(yù)測模型的精度不高,而傳統(tǒng)GAN 在訓(xùn)練時容易發(fā)生模式崩潰。為解決該問題,設(shè)計了VMD-GAN 模型。該模型使用VMD 得到子序列。相比原始序列,其非線性和非平穩(wěn)性降低,更容易實現(xiàn)預(yù)測。通過構(gòu)造GAN,實現(xiàn)非線性關(guān)系的擬合,從而提高模型的精度。
VMD-GAN 的結(jié)構(gòu)可分為3 部分,分別為數(shù)據(jù)預(yù)處理、含VMD 及多個預(yù)測器的生成器G、判別器D,其結(jié)構(gòu)如圖2所示。
圖2 VMD-GAN結(jié)構(gòu)Fig.2 Structure of a VMD-GAN
數(shù)據(jù)預(yù)處理主要是采用三次樣條插值方法對數(shù)據(jù)樣本的缺失值進(jìn)行補(bǔ)缺,然后將其歸一化,并將數(shù)據(jù)改為所需的結(jié)構(gòu),形成風(fēng)電功率預(yù)測的數(shù)據(jù)集。
生成器如圖2 所示,由VMD 和k+1 個預(yù)測器組成,其中k為VMD 分解的階數(shù)。長短期記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)在時間序列預(yù)測任務(wù)中表現(xiàn)出良好的性能,故生成器中的預(yù)測器采用LSTM神經(jīng)網(wǎng)絡(luò)作為核心。
本方法改進(jìn)了生成器的結(jié)構(gòu),采用分解的思想,使用VMD 分解原始序列,將分解出的子序列送入以LSTM 神經(jīng)網(wǎng)絡(luò)為核心的子預(yù)測器進(jìn)行預(yù)測,最終將子序列預(yù)測結(jié)果求和作為預(yù)測輸出。風(fēng)電數(shù)據(jù)經(jīng)過VMD 后得到k個本征模態(tài)函數(shù),再對數(shù)據(jù)進(jìn)行處理得到1 個余波,這k+1 組數(shù)據(jù)具有良好的規(guī)律性。將分解得到的數(shù)據(jù)分別輸入到對應(yīng)的k+1 個子預(yù)測器中,得到對應(yīng)的輸出并進(jìn)行求和作為預(yù)測輸出,并生成相應(yīng)的生成數(shù)據(jù)。考慮到經(jīng)過VMD 后的數(shù)據(jù)相比原始數(shù)據(jù)復(fù)雜度降低,可預(yù)測性提高,預(yù)測子序列相比預(yù)測原始序列對于生成器的擬合非線性的能力要求更低,更容易提高預(yù)測精度。
VMD-GAN的判別器以LSTM神經(jīng)網(wǎng)絡(luò)為核心,判別器作為一個二分類器,其作用是判別輸入的數(shù)據(jù)是否為真實的樣本數(shù)據(jù)。傳統(tǒng)的判別器使用卷積神經(jīng)網(wǎng)絡(luò)[24],然而在風(fēng)電功率預(yù)測中,LSTM 更適宜處理真實樣本中的時間相關(guān)性,可以有效降低模型的復(fù)雜程度和參數(shù)數(shù)量,故使用LSTM 作為判別器的核心[25]。
為了解決GAN 存在的模型不穩(wěn)定問題,本文設(shè)計了激活函數(shù)和損失函數(shù)。激活函數(shù)的設(shè)計在GAN 模型的構(gòu)建中發(fā)揮關(guān)鍵的作用。風(fēng)電輸出受制于物理和電氣性能,其輸出有明顯的截斷特性,而GAN 的生成器的前期預(yù)測結(jié)果相比實際結(jié)果的差距會非常大,使用傳統(tǒng)的激活函數(shù)會使得模型容易陷入梯度爆炸或梯度消失的狀態(tài),因此,設(shè)計了一種新的生成器激活函數(shù)
式中:l為可調(diào)參數(shù)。該激活函數(shù)的優(yōu)點在于使模型訓(xùn)練中梯度值雖較小但始終存在,避免了由于模型參數(shù)快速變化而導(dǎo)致模型的不穩(wěn)定。
損失函數(shù)的設(shè)計也是GAN 模型中的關(guān)鍵之一,恰當(dāng)?shù)膿p失函數(shù)可以兼顧網(wǎng)絡(luò)訓(xùn)練速度和網(wǎng)絡(luò)的穩(wěn)定性,進(jìn)而影響網(wǎng)絡(luò)收斂時的精度。生成器和判別器的作用是完成分類任務(wù),模型設(shè)計中常采用交叉熵、均方誤差(Mean Square Error,MSE)方法實現(xiàn)有效分類。本文對2種不同的損失函數(shù)都進(jìn)行了實驗,結(jié)果發(fā)現(xiàn),GAN 的損失函數(shù)單獨使用二元交叉熵很難使模型穩(wěn)定,故本文采用交叉熵和MSE 的加權(quán)和作為GAN 的損失函數(shù)。判別器的損失函數(shù)仍然使用二元交叉熵。此時GAN 的損失函數(shù)表征輸入數(shù)據(jù)正確分類的平均概率。
VMD-GAN 訓(xùn)練過程選用的優(yōu)化器為Adam[26],具體訓(xùn)練步驟如下。
(1)初始化生成器和判別器的權(quán)重以及優(yōu)化器的參數(shù),確定激活函數(shù)和損失函數(shù)的具體表達(dá),準(zhǔn)備數(shù)據(jù)集。
(2)若VMD-GAN算法未滿足停止條件,則:1) 更新判別器,固定生成器的參數(shù),將給定的歷史數(shù)據(jù)進(jìn)行VMD并輸入生成器得到相應(yīng)的生成數(shù)據(jù),將其與真實數(shù)據(jù)輸入給判別器,使用優(yōu)化器更新其權(quán)重;2) 更新生成器,從生成器重新產(chǎn)生生成數(shù)據(jù),將其與真實數(shù)據(jù)輸入判別器,使用優(yōu)化器更新其權(quán)重。
(3) 計算訓(xùn)練后的生成器在訓(xùn)練集和測試集上的損失,驗證此時VMD-GAN是否滿足停止條件,如果滿足則訓(xùn)練終止,否則重復(fù)步驟(2)直至滿足終止條件或者達(dá)到最大迭代次數(shù)。
本文的模型和算法使用Python 3.9 和TensorFlow 2.10進(jìn)行實驗驗證。考慮到風(fēng)電數(shù)據(jù)存在長時依賴性,采用的數(shù)據(jù)集為Bengaluru 風(fēng)電場某風(fēng)機(jī)2007年1月—2021年7月的風(fēng)電數(shù)據(jù)。數(shù)據(jù)采集為1 次/h,記錄的內(nèi)容除風(fēng)電功率外還包含風(fēng)速、風(fēng)向、氣壓、環(huán)境溫度、露點溫度、相對濕度等氣象數(shù)據(jù)。實驗設(shè)計使用前72 h的風(fēng)電數(shù)據(jù)預(yù)測第73 h的風(fēng)電功率。首先使用三次樣條插值對缺失值進(jìn)行預(yù)處理,處理后總數(shù)據(jù)共127 315 條,每條數(shù)據(jù)的形狀為72×12,其中前4/5 為訓(xùn)練集,其余作為測試集。
VMD-GAN 模型中生成器由VMD 模塊、多個基于LSTM的子預(yù)測器、多個全連接層和1個求和器構(gòu)成。每個基于LSTM 的子預(yù)測器由2 層共包含32 個神經(jīng)元的LSTM 構(gòu)成,預(yù)測器最后一層的激活函數(shù)為式(9)的激活函數(shù),前述各個層之間添加了Dropout層防止過擬合,生成器的學(xué)習(xí)率為0.001;判別器由2 層LSTM、2 個Dropout 層、2 個全連接層構(gòu)成,學(xué)習(xí)率與生成器相同。
風(fēng)電功率預(yù)測性能常用的定量評價指標(biāo)主要有平均絕對誤差(Mean Absolute Error,MAE)、MSE、均方根誤差(Root Mean Square Error,RMSE)、最大預(yù)測誤差(δmax)等。MAE,MSE,RMSE 和δmax分別代表預(yù)測值與真實值之間誤差的均值、方差、標(biāo)準(zhǔn)差和最大值,取值越小表示預(yù)測與實際的誤差越小,精度越高,預(yù)測方法的性能越好。
4.2.1 VMD算法關(guān)鍵參數(shù)k值的確定
首先,需要確定VMD 算法中的關(guān)鍵參數(shù)k,將k取值由小到大依次分解并分析結(jié)果的中心頻率,見表1??煽闯觯≈? 和5 的最大中心頻率相似,可以認(rèn)為在k取值為5 時出現(xiàn)了模態(tài)混疊,故確定k取值為4。對應(yīng)的分解結(jié)果如圖3所示??梢?,原始數(shù)據(jù)經(jīng)過分解得到4 個頻率和復(fù)雜度依次降低的IMF分量和1個余波。
表1 不同k值對應(yīng)分解結(jié)果的中心頻率Table 1 Center frequencies of decomposition results made based on different k value
4.2.2 激活函數(shù)參數(shù)敏感性分析
VMD-GAN 算法中設(shè)計的激活函數(shù)參數(shù)l的取值對算法性能有重要的影響。為選取合適的l值,本文在0.01~0.50 內(nèi)分別選取若干個數(shù)值,在同一數(shù)據(jù)集上進(jìn)行性能比較實驗,其預(yù)測誤差結(jié)果見表2。可以看出,所設(shè)計激活函數(shù)參數(shù)取值過大和過小均會影響算法的性能,其中l(wèi)取0.10 時,VMDGAN 的預(yù)測性能最佳。此時,VMD-GAN 的預(yù)測MSE 最低。l偏離0.10 越多,模型預(yù)測MSE 越大。因此,本文的VMD-GAN 算法的激活函數(shù)參數(shù)l選取0.10。
表2 l取不同值時VMD-GAN的評價結(jié)果對比Table 2 Prediction results of VMD-GAN with various l value
4.2.3 算法性能比較分析
為進(jìn)一步驗證和比較所提VDM-GAN 方法的預(yù)測性能,本文選用短期風(fēng)電功率預(yù)測領(lǐng)域中的4 種模型進(jìn)行分析:自回歸移動平均模型(ARIMA)[27]、引入VMD的ARIMA模型(VMD-ARIMA)[27],LSTM[28]和僅使用生成器部分的模型(VMD-LSTM)[28]??陀^評價指標(biāo)選取常用的定量評價指標(biāo)MAE、MSE、RMSE 和δmax,并在計算時先對相關(guān)結(jié)果進(jìn)行反歸一化。針對同一測試集,使用上述各種算法進(jìn)行實驗,獲得的客觀評價指標(biāo),見表3。
表3 不同預(yù)測模型結(jié)果對比Table 3 Prediction results of various models
分析表3 可知,對比傳統(tǒng)的ARIMA 和LSTM,引入VMD 的VMD-ARIMA 和VMD-LSTM 預(yù)測模型的精度得到了提升,但在最大預(yù)測誤差方面改善不夠明顯。對比VMD-LSTM 和VMD-GAN,可以發(fā)現(xiàn)添加判別器組成的GAN 性能又得到進(jìn)一步提升,且最大預(yù)測誤差降低。從4 個指標(biāo)總體來看,本文所提VMD-GAN 算法最優(yōu),VMD-LSTM 和VMD-ARIMA兩者性能相近,但均優(yōu)于LSTM 和ARIMA,其中ARIMA的最大誤差最大,LSTM的MAE最大。
同時,將VMD-ARIMA,LSTM,VMD-LSTM 和VMD-GAN 這4 個模型的原始數(shù)據(jù)和預(yù)測結(jié)果進(jìn)行對比輸出,其結(jié)果如圖4 所示。可見,LSTM、VMDLSTM 與VMD-GAN 模型預(yù)測結(jié)果與實際數(shù)據(jù)的走勢基本相同,預(yù)測偏差依次減小,其中VMD-GAN的擬合效果最好,這代表VMD 算法的融入和GAN 的構(gòu)造提高了模型處理非線性、非平穩(wěn)風(fēng)電數(shù)據(jù)的能力,很好地提高了風(fēng)電模型的預(yù)測精度。
圖4 VMD-GAN與其他方法預(yù)測結(jié)果對比Fig.4 Forecasting results of VMD-GAN and other methods
VMD-GAN 與其他方法的預(yù)測結(jié)果誤差分布如圖5 所示??梢姡? 種方法的誤差分布相似,但是VMD-GAN方法的預(yù)測誤差更低,其MSE相比LSTM和VMD-LSTM 分別下降79.65%和51.83%,說明預(yù)測模型通過構(gòu)造GAN 后,4 種誤差評價指標(biāo)均大幅降低,能更好地處理風(fēng)電數(shù)據(jù)和其中的突變值。實驗結(jié)果表明,VMD-GAN 模型相較于ARIMA,VMDARIMA,LSTM和VMD-LSTM 法,能夠更好地分析和處理風(fēng)電數(shù)據(jù),且預(yù)測精度得到極大提高。
圖5 VMD-GAN與其他方法預(yù)測結(jié)果誤差對比Fig.5 Forecasting errors of VMD-GAN and other methods
針對風(fēng)電數(shù)據(jù)非線性強(qiáng)、非穩(wěn)定的特點,以及傳統(tǒng)GAN 容易發(fā)生模式崩潰的問題,引入VMD,提出了一種基于VMD 改進(jìn)GAN 的短期風(fēng)電功率預(yù)測方法VMD-GAN,該方法使用VMD 思想,將復(fù)雜序列的預(yù)測轉(zhuǎn)化為多個較為簡單序列的預(yù)測,設(shè)計了激活函數(shù)和損失函數(shù),解決傳統(tǒng)GAN 模型不穩(wěn)定問題,并對VMD-GAN 方法的關(guān)鍵參數(shù)進(jìn)行了分析。實驗結(jié)果表明,本文方法取得了良好的預(yù)測效果,能夠處理強(qiáng)非線性和非平穩(wěn)特征的短期風(fēng)電功率預(yù)測問題。