保 富,孫夢覺,鄧安明,周植高
(1.云南電網(wǎng)有限責(zé)任公司信息中心,昆明 650000;2.云南云電同方科技有限公司,昆明 650000)
隨著電力市場進一步改革,電力行業(yè)成為了實現(xiàn)“雙碳”目標的關(guān)鍵領(lǐng)域,而電力負荷作為時序數(shù)據(jù)的觀測目標,在各個時間單位對所有對應(yīng)的特征狀態(tài)值都有詳細記錄,通過分析不同特征變量與電力負荷數(shù)據(jù)之間的內(nèi)在聯(lián)系,可實現(xiàn)對電力負荷的預(yù)測,這對電力系統(tǒng)的有效運行、合理調(diào)度及可持續(xù)發(fā)展都具有重要意義[1]。
針對電力負荷的傳統(tǒng)時間序列預(yù)測模型主要圍繞基于統(tǒng)計學(xué)的方法展開[2],例如貝葉斯算法、自回歸移動平均模型、馬爾可夫鏈等。基于統(tǒng)計的預(yù)測算法具有模型構(gòu)造簡單、運算速度較快的特點,但對于非線性及不穩(wěn)定的歷史數(shù)據(jù),該類型方法存在無法實現(xiàn)較高預(yù)測精度的問題。隨著計算機算力的逐步提升,基于機器學(xué)習(xí)的時序數(shù)據(jù)預(yù)測模型逐步發(fā)展并得到了普遍應(yīng)用。基于機器學(xué)習(xí)的預(yù)測模型需要投入大量的數(shù)據(jù)對模型進行訓(xùn)練學(xué)習(xí),且目前尚未提出一套針對優(yōu)化神經(jīng)網(wǎng)絡(luò)泛化性的建模標準與參數(shù)調(diào)整理論,但神經(jīng)網(wǎng)絡(luò)可通過增加訓(xùn)練數(shù)據(jù)量來提升預(yù)測精度,深度挖掘各類樣本特征之間的潛在關(guān)系,對提取線性與非線性數(shù)據(jù)的特征具有較優(yōu)能力。近年來,研究人員將數(shù)據(jù)預(yù)處理與預(yù)測模型相結(jié)合,或?qū)⒍鄠€預(yù)測模型進行組合融合,進一步實現(xiàn)了對時序數(shù)據(jù)預(yù)測精度的提升。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)對于捕獲多維數(shù)據(jù)中的潛在特征具有優(yōu)秀的能力,可有效解決原始時序數(shù)據(jù)帶來的不確定性問題,據(jù)此,Wang 等[3]提出了用于實現(xiàn)風(fēng)力發(fā)電預(yù)測的CNN 模型;Hong 等[4]使用了CNN 徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(Radial Basis Function Neural Network,RBFNN)混合模型對時序風(fēng)電數(shù)據(jù)實現(xiàn)了預(yù)測;文獻[5]將CNN 與長短期神經(jīng)(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)進行融合,實現(xiàn)了對短期電價的預(yù)測;文獻[6]提出了一種基于LSTM 結(jié)合極限梯度提升(XGBoost)的短期電力負荷預(yù)測方法。為進一步實現(xiàn)對原始數(shù)據(jù)的深層次挖掘,研究人員對投入神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練的原始時序數(shù)據(jù)進行處理與分析;文獻[7]利用小波分解(Wavelet Decomposition,WD)將風(fēng)速原始數(shù)據(jù)分解為若干個平穩(wěn)的子序列,再通過自回歸滑動平均(Auto-Regressive Moving Average,ARMA)模型實現(xiàn)對風(fēng)速的預(yù)測,該模型降低了對單一變量的預(yù)測難度;Xiong 等[8]基于經(jīng)驗?zāi)B(tài)分解和支持向量回歸(SVR)理論,提出了針對電力需求的預(yù)測框架;文獻[9]提出了基于變分模態(tài)分解(Variational Mode Decomposition,VMD)結(jié)合CNN 融合門控循環(huán)單元(Gated Recurrent Unit,GRU)的混合模型,提高了對時序風(fēng)電短期預(yù)測的準確率;張未等[10]針對短期電力負荷提出了一種基于VMD-LSTM 神經(jīng)網(wǎng)絡(luò)結(jié)合輕量級梯度提升機(Light Gradient Boosting Machine,LightGBM)的預(yù)測模型;文獻[11]通過優(yōu)化基于鯨魚算法的注意力機制結(jié)合雙向門控循環(huán)單元的混合策略,提出了一種短期電力預(yù)測模型。
經(jīng)驗小波變換(Empirical Wavelet Transform,EWT)是一種用于非平穩(wěn)信號分析的自適應(yīng)信號分解方法[12]。該方法解決了小波分解導(dǎo)致結(jié)果中出現(xiàn)與輸入信號無關(guān)的濾波組現(xiàn)象,同時與經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)相比,EWT 方法解決了由于時域信號不連續(xù)導(dǎo)致的模態(tài)混疊現(xiàn)象,可剔除無關(guān)的信號特征,實現(xiàn)更具有一致性的信號分解。以一組離散的正弦波信號為例,其仿真信號的表示形式如式(1)
式中:x(n)為輸入信號的離散形式;Ah為振幅;fh為組成輸入信號的頻率;φh為初始相位角;H為輸入信號波中不同頻率成分的數(shù)量,其取值范圍在[0,π]之間,根據(jù)傅里葉級數(shù),可將公式(1)表示如下
在此基礎(chǔ)上,可將EWT 分解模式視作一組包含了H個頻譜濾波器的濾波器組,該濾波器組包含了1 個低通濾波器(Lowpass Filter,LPF)及(H-1)個帶通濾波器(Bandpass Filter,BPF)。EWT 的分解方法如下。
首先將輸入的離散信號進行傅里葉變換(Fourier Transform,F(xiàn)T),即
式中:ω為頻率;X(jω)為經(jīng)傅里葉變換的輸入信號,其輸出結(jié)果范圍在[0,π]之間。在輸出信號ωmax=[ω1,ω2,…,ωi,…,ωH]中標記局部頻率最大值ωH,根據(jù)信號集[ω1,ω2,…,ωi,…,ωH]獲取對應(yīng)的濾波帶寬,即Δ=[Δ1,Δ2,…,Δi,…,ΔH-1],其中。
其次,通過經(jīng)驗尺度函數(shù)?1(ω)與經(jīng)驗小波函數(shù)ψi(ω)實現(xiàn)(H-1)個帶通濾波器的自適應(yīng)性質(zhì),其中經(jīng)驗尺度函數(shù)?1(ω)的計算公式如式(4)所示
經(jīng)驗小波函數(shù)ψi(ω)的計算方式如公式(5)所示
式中:γ為常量系數(shù);β(γ,ω,Δi)為變換函數(shù),其表達式如式(6)所示
根據(jù)式(4)與式(5)生成自適應(yīng)濾波器邊界值,即
最后,對式(7)的輸出結(jié)果進行傅里葉逆變換(Inverse Fourier Transform,IFT),得出時域小波近似系數(shù)與細節(jié)系數(shù),即
式中:x1(n)為小波近似系數(shù),即低通濾波器的輸出結(jié)果;xi(n)為小波細節(jié)系數(shù),即帶通濾波器的輸出結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)實現(xiàn)了權(quán)重共享的概念,無論在執(zhí)行分類任務(wù)還是回歸任務(wù)中都有較出色的表現(xiàn)。CNN 通過卷積運算從不同鄰域內(nèi)提取數(shù)據(jù)的局部優(yōu)勢,從而深度挖掘數(shù)據(jù)特征以實現(xiàn)目標預(yù)測[13]。CNN 模型主要由輸入層、隱藏層及輸出層組成,其中隱藏層又包含了卷積層、池化層、全連接層。
卷積層作為CNN 的核心單元,具有提取關(guān)鍵特征及縮減模型以便提高計算速度的功能,是決定預(yù)測結(jié)果精確度的關(guān)鍵所在。其具體計算公式如式(9)所示
式中:Cj為第j層卷積輸出結(jié)果;At為卷積層的輸入;?為卷積符號;ReLu 為激活函數(shù);wi為權(quán)重矩陣;bi為偏置矩陣。
池化層則可為卷積運算壓縮數(shù)據(jù),并剔除不必要的信息,本文在CNN 中使用了最大池化算子。全鏈接層則將卷積運算中提取的特征進行整合,以便獲取最終的預(yù)測結(jié)果。
門控循環(huán)單元(Gated Recurrent Unit,GRU)神經(jīng)網(wǎng)絡(luò)與長短期記憶神經(jīng)(LSTM)網(wǎng)絡(luò)在處理時間序列任務(wù)上都有良好的表現(xiàn),但相較于LSTM,GRU 單元具有更簡單的結(jié)構(gòu),同時,在收斂速度、參數(shù)更新和泛化方面都具有較優(yōu)的表現(xiàn),能有效捕捉時序數(shù)據(jù)之間的依賴關(guān)系,因此,本文采用GRU 作為對電力負荷實行預(yù)測的神經(jīng)網(wǎng)絡(luò)方法[14]。
GRU 的核心結(jié)構(gòu)由2 部分組成:重置門(Reset gate,Rt)與更新門(Update Gate,Zt),其中,重置門Rt用于控制當前時刻t輸入的信息保留量,重置門被允許丟棄與預(yù)測結(jié)果無關(guān)的信息,當Rt趨近于0 時,t時刻之前的隱藏信息將被丟棄,保留t時刻對應(yīng)信息,反之,當Rt趨近于1 時,該神經(jīng)網(wǎng)絡(luò)單元將把過去的信息視作有用信息。
更新門Zt用于控制過去時刻的信息保留量,當Zt接近于0 時,代表對過去的信息遺忘得越多,當Zt趨近于1 時,代表對于過去的信息記憶得越多[15]。GRU 的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 GRU 結(jié)構(gòu)圖
GRU 模型的計算過程如公式(10)、(11)、(12)與(13)所示
式中:σ 為Sigmoid 激活函數(shù);W和U為線性變換的權(quán)重;xt為當前時刻t的輸入;⊙為內(nèi)積符號;tanh 為雙曲正切函數(shù);ht-1和ht分別對應(yīng)t-1 時刻和t時刻的隱藏層狀態(tài)。
由于發(fā)電負荷數(shù)據(jù)具有較強時序性,在模型訓(xùn)練過程中,時刻t-1 所對應(yīng)的數(shù)據(jù)與時刻t+1 所對應(yīng)的數(shù)據(jù)都將對時刻t的預(yù)測結(jié)果產(chǎn)生較大影響。為進一步提高本文針對電力負荷預(yù)測模型的準確性,本文在預(yù)測模型中運用雙向門控循環(huán)單元(Bidirectional Gated Recurrent Units,BiGRU)。BiGRU 將傳統(tǒng)的GRU 神經(jīng)元劃分為正向傳輸狀態(tài)與反向傳輸狀態(tài),分別通過向前計算組件與向后計算組件計算實現(xiàn),二者分別對應(yīng)根據(jù)歷史數(shù)據(jù)更新隱藏狀態(tài)和根據(jù)未來數(shù)據(jù)更新狀態(tài)的功能,其計算公式如(14)、(15)、(16)所示
本文為優(yōu)化電力負荷預(yù)測結(jié)果,提出了基于EWT-CNN-BiGRU 的混合預(yù)測模型,其預(yù)測流程如圖2 所示。
圖2 EWT-CNN-BiGRU 預(yù)測模型流程圖
本文模型實現(xiàn)預(yù)測的具體流程如下。
步驟1,準備數(shù)據(jù)集。本文采用的預(yù)測模型其實質(zhì)為數(shù)據(jù)驅(qū)動的監(jiān)督學(xué)習(xí)模型,通過最小化損失函數(shù)達到盡可能準確的預(yù)測結(jié)果。增加投入訓(xùn)練的歷史數(shù)據(jù)數(shù)量可進一步優(yōu)化預(yù)測結(jié)果的精確率,本文設(shè)定訓(xùn)練集與測試集的比率為8∶2。
步驟2,關(guān)鍵特征選擇。通過計算皮爾遜相關(guān)系數(shù)、距離相關(guān)系數(shù)或互信息熵,可實現(xiàn)對強關(guān)聯(lián)性時序特征的篩選。
步驟3,EWT 分解。根據(jù)EWT 對關(guān)鍵特征進行分解變換,獲得m 組子序列,作為本文預(yù)測模型的特征變量。
步驟4,CNN-BiGRU 預(yù)測。使用CNN-BiGRU 模型對m 組子序列與關(guān)鍵特征原始數(shù)據(jù)進行訓(xùn)練學(xué)習(xí),形成預(yù)測模型,獲取最終預(yù)測結(jié)果。
本節(jié)分別從數(shù)據(jù)集介紹、模型評價指標、模型參數(shù)設(shè)定、預(yù)測模型實現(xiàn)及結(jié)果分析5 個方面進行分析與闡述。
本文使用的數(shù)據(jù)集來自于德國某聯(lián)合循環(huán)電廠(Combined Cycle Power Plant,CCPP)[16],該電廠被設(shè)定為滿負荷工作。該數(shù)據(jù)集包含了9 568 條時間序列數(shù)據(jù)樣本,時間間隔為1 h,含有平均溫度(Average Temperature,AT)、環(huán)境平均壓力(Average Pressure,AP)、相對濕度(Relative Humidity,RH)和真空效果(Vacuum,V)4 個特征,待預(yù)測的目標變量為滿負荷電力輸出(PE)。
為了評價本文所使用的預(yù)測模型的準確性,本文采用了均方根誤差(Root Mean Square Error,RMSE)、平均絕對誤差(Mean Absolute Error,MAE)、絕對百分比誤差(Mean Absolute Percentage Error,MAPE)及擬合優(yōu)度(Goodness of Fit,R2)4 個指標對本工作任務(wù)進行評估。
本小節(jié)內(nèi)容將對本文模型中使用的特征選擇、數(shù)據(jù)清洗及時間步長參數(shù)設(shè)定進行介紹說明。
3.3.1 特征選擇
本文使用皮爾遜相關(guān)系數(shù)對數(shù)據(jù)集中與預(yù)測目標具有強相關(guān)性的特征進行選擇。
在本文使用的數(shù)據(jù)集中含有4 個特征:平均溫度(AT)、環(huán)境平均壓力(AP)、相對濕度(RH)和真空效果(V)。通過計算該四維特征與電力負荷(PE)數(shù)據(jù)的皮爾遜相關(guān)性系數(shù),得到了四維特征與預(yù)測目標的關(guān)系熱圖,如圖3 所示。該熱圖的顏色越深,則代表2 個變量的相關(guān)性越強,反之代表二者的相關(guān)性較弱。通過圖3 可知,環(huán)境平均壓力特征與電力負荷輸出的相關(guān)性系數(shù)為0.52,為與預(yù)測目標相關(guān)性系數(shù)的最大值,因此,環(huán)境平均壓力特征變量被選擇作為模型的輸入?yún)?shù)。
圖3 皮爾遜系數(shù)相關(guān)性熱力圖
3.3.2 數(shù)據(jù)清洗
本文使用的實驗數(shù)據(jù)來自于循環(huán)電廠所收集的樣本,為排除數(shù)據(jù)集中的異常樣本對預(yù)測模型產(chǎn)生的負面影響,對投入訓(xùn)練的數(shù)據(jù)進行數(shù)據(jù)清洗。
3.3.3 時間步長參數(shù)設(shè)定
根據(jù)實驗,時間步長參量數(shù)值對預(yù)測模型的效果具有直接影響,若時間步長太短,會導(dǎo)致EWT 分解效果不佳,預(yù)測模型參數(shù)數(shù)量過多,輸入變量的特征無法被模型完全學(xué)習(xí),相反,時間步長過長會導(dǎo)致預(yù)測結(jié)果精度不夠的現(xiàn)象。本文時序數(shù)據(jù)的原始采集頻率為1 h,即默認時間步長為1 h,為測試不同時間步長對EWT分解效果與預(yù)測結(jié)果精度的影響,本文設(shè)定了不同時間步長的滑動時間窗口,滑動步長為1,分別為1 h、2 h、4 h、5 h 和6 h 五種參數(shù)設(shè)置進行了實驗,通過綜合考慮EWT 分解效果與預(yù)測精度,本文選定時間步長參數(shù)為2,以此展開后續(xù)實驗。
本小節(jié)內(nèi)容將以CCPP 數(shù)據(jù)集為例,對本文預(yù)測模型的實現(xiàn)進行詳細介紹。
3.4.1 EWT 分解
通過3.3.1 小節(jié)中的特征選擇,將環(huán)境平均壓力特征變量作為EWT 分解的對象。EWT 需盡可能分離更多數(shù)量子序列為CNN-BiGRU 提供更多特征,同時需確保子序列之間的模態(tài)差異性。通過測試確定當CCPP 的環(huán)境平均壓力變量分解為4 組子序列時,能滿足上述要求。分解的原始數(shù)據(jù)和子序列如圖4 所示,可見該4 組子序列都保留了原始特征變量的波動特性,同時未出現(xiàn)模態(tài)混疊的現(xiàn)象。其中,子序列1 反映了原始特征變量的變化趨勢,可見該子序列的波動頻率較平穩(wěn);而子序列4 反映了局部波動趨勢,可見該子序列的波動頻率較大。
圖4 EWT 分解結(jié)果
3.4.2 CNN-BiGRU
多層CNN-BiGRU 網(wǎng)絡(luò)可以更深層次挖掘目標變量特征,有助于提高預(yù)測的精度,但過于復(fù)雜的結(jié)構(gòu)可能會帶來過擬合現(xiàn)象的產(chǎn)生,因此,模型結(jié)構(gòu)與參數(shù)選擇對降低預(yù)測結(jié)果誤差具有重要影響作用。
本文分別對2×CNN-1×BiGRU、3×CNN-2×BiGRU、4×CNN-3×BiGRU 及5×CNN-4×BiGRU 4 種不同的多層網(wǎng)絡(luò)結(jié)構(gòu)進行了實驗,實驗結(jié)果見表1,通過對比實驗,可確定針對該數(shù)據(jù)集的最優(yōu)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為2*CNN-1*BiGRU。該結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的其他參數(shù)設(shè)定為:逐步衰減學(xué)習(xí)率,SDG 優(yōu)化器,步長為50,迭代次數(shù)為120。
表1 不同參數(shù)的多層CNN-BiGRU 預(yù)測模型結(jié)果比較
為證明針對短期電力負荷預(yù)測所使用的CNNBiGRU 模型性能,本文使用LSTM、CNN-LSTM 與CNN-GRU 3 種神經(jīng)網(wǎng)絡(luò)預(yù)測模型與CNN-BiGRU 預(yù)測模型使用相同數(shù)據(jù)樣本進行了對比實驗,實驗結(jié)果如圖5 所示,其對應(yīng)的4 個誤差指標結(jié)果,即RMSE、MAE、MAPE及R2見表2。
表2 不同模型的預(yù)測結(jié)果
圖5 不同電力負荷預(yù)測方法的結(jié)果對比
在CCPP 電力負荷數(shù)據(jù)集下,LSTM、CNN-LSTM、CNN-GRU 和CNN-BiGRU 的MAPE分別為1.016%、1.105%、0.270%和0.130%,故上述4 種預(yù)測模型的預(yù)測結(jié)果都存在一定誤差,但CNN-BiGRU 預(yù)測模型較為穩(wěn)定,其誤差率相較于其他3 種方法較低,說明本文模型能在目前已有的預(yù)測模型上繼續(xù)提升精度,在電力預(yù)測上具有較好的表現(xiàn)。
本文針對電力負荷提出了一種基于經(jīng)驗小波變換的卷積神經(jīng)網(wǎng)絡(luò)融合雙向門控循環(huán)單元預(yù)測模型。該模型通過皮爾遜系數(shù)提取關(guān)鍵特征,對關(guān)鍵特征進行經(jīng)驗小波分解,并通過卷積神經(jīng)融合雙向門控循環(huán)單元網(wǎng)絡(luò)對分解的子序列與原始數(shù)據(jù)進行訓(xùn)練,以獲取最終的預(yù)測結(jié)果。通過使用德國某聯(lián)合循環(huán)電廠采集的數(shù)據(jù)對本文模型進行了實驗,實驗結(jié)果表明,本文提出的模型具有較高的預(yù)測精度。