竺筱晶, 薛睿萌
(上海電力大學(xué)數(shù)理學(xué)院, 上海 201306)
近些年來,我國電力體制不斷改革。2021年9月,綠色電力集中交易正式達成,各個市場主體可以直接參與交易,在相對自由又充滿競爭的交易環(huán)境下,參與者希望得到最精準(zhǔn)的預(yù)測電價來做出合理決策,達到收益最大化[1]。目前,我國新能源技術(shù)得到快速發(fā)展,發(fā)電水平不斷提高,新能源發(fā)電成本低且綠色環(huán)保,未來將會成為電力系統(tǒng)穩(wěn)定運行的主要力量[2]。而當(dāng)前,大多數(shù)研究者僅考慮天氣、電力負(fù)荷、日?;顒訌姸鹊葘﹄妰r的影響,沒有考慮到新能源對電價的影響。
迄今為止,對短期電價進行預(yù)測的方法主要有時間序列法和機器學(xué)習(xí)法等[3]。時間序列方法易于搭建模型,但僅考慮了時間對電價的影響,沒有考慮到其他影響因素,且不能容納大量數(shù)據(jù)的輸入,無法深入了解特征的具體波動情況,所以預(yù)測精度普遍較低。機器學(xué)習(xí)方法能夠緩解特征難以提取的問題,提高模型泛化能力,但對于時序數(shù)據(jù)之間的關(guān)系挖掘不足。
相比于上述方法,深度學(xué)習(xí)方法對圖像、語音等數(shù)據(jù)的處理方面具有良好的應(yīng)用效果,能夠緩解特征難以提取的問題,同時也可以彌補機器學(xué)習(xí)方法泛化能力差的難題,因此逐漸成為研究者用于時間序列預(yù)測的方法[4]。文獻[5]對比了七種基準(zhǔn)模型,證明長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)的預(yù)測準(zhǔn)確率最高。但LSTM對于較長時間序列,會遺忘較早的信息,從而學(xué)習(xí)不到數(shù)據(jù)的全部內(nèi)容[6],因此雙向長短期記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory, Bi-LSTM)作為LSTM的延伸被提出,它可以考慮到數(shù)據(jù)的全局信息,避免時序數(shù)據(jù)太長而遺忘較早的內(nèi)容。文獻[7]運用時間卷積網(wǎng)絡(luò)(Temporal Convolution Network, TCN)預(yù)測電力負(fù)荷,證明了TCN可以解決深層網(wǎng)絡(luò)學(xué)習(xí)的退化問題。文獻[8]利用小波包分解序列,建立雙重注意力機制的TCN進行預(yù)測,獲得更高的預(yù)測精度。文獻[9,10]分別用奇異譜分析和小波包對原始數(shù)據(jù)進行處理,改善了模型框架,說明對數(shù)據(jù)進行信號處理可以提高模型的有效性。文獻[11]建立基于注意力機制的門控循環(huán)單元(Attention Gated Recurrent Unit, Attention-GRU)模型對電價進行預(yù)測,但沒有考慮新能源發(fā)電量對電價的影響。文獻[12]針對含高比例風(fēng)能和太陽能的電力市場建立預(yù)測模型,但沒有對電價的不同影響因素進行分類特征提取處理。
綜上所述,本文提出一種基于小波變換的Bi-LSTM-TCN的模型,對含高比例風(fēng)電新能源的DK1市場進行短期電價預(yù)測。首先運用離散小波變換(Discrete Wavelet Transform, DWT)對原始數(shù)據(jù)進行分解,并對重構(gòu)后的子序列進行相關(guān)性分析,得出影響各子序列的主要因素;然后對于主要影響因素為負(fù)荷的子序列建立基于Bi-LSTM和深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks, DNN)的Bi-LSTM-DNN模型進行預(yù)測,對于主要影響因素為風(fēng)電量的子序列建立Bi-LSTM-TCN模型進行預(yù)測;最后疊加各子序列預(yù)測結(jié)果得到電價預(yù)測值。實驗結(jié)果表明,相較于一些其他模型,該方法具有更高的預(yù)測精度,為電力市場交易中的參與者提供一定參考。
傅里葉變換作為早期的信號處理方式應(yīng)用廣泛,但不能處理非平穩(wěn)的信號,所以在此基礎(chǔ)上延伸出小波變換[13]。小波變換又分為連續(xù)和離散小波變換。因本實驗用到的數(shù)據(jù)是按小時記錄的,所以采用離散小波變換,公式如下:
(1)
式中,α0為尺度參數(shù);τ0為平移參數(shù);m、n分別為縮放和平移參數(shù);ψ*(x)為復(fù)共軛函數(shù);f(t)為時間序列。
運用不同的小波基得到的分解結(jié)果不同。對于時間序列數(shù)據(jù)來說,采用3~5層Daubechies小波函數(shù)的效果最好[14]。本文經(jīng)實驗對比最終選取db5進行3層小波分解重構(gòu)。對原始電價序列進行DWT得到的時頻圖如圖1所示。
運用皮爾遜相關(guān)系數(shù)法(Pearson Correlation Coefficient, PCC)分析每條子序列中影響電價的主要特征。計算結(jié)果見表1,其中A3和D1的主要影響因素為風(fēng)力發(fā)電量,D2和D3的主要影響因素為負(fù)荷。計算過程如下:
表1 各子序列r值Tab.1 r value of each subsequence
(2)
式中,E(x)、E(y)分別為x和y的期望。
Bi-LSTM由前向LSTM和后向LSTM組合而成[15]。LSTM的遺忘門ft用來忘記上一時刻記憶細(xì)胞中不重要信息,輸入門it控制輸入,輸出門ot控制輸出,由值域為[0,1]的σ激活函數(shù)計算得出。計算過程如下:
ft=σ(Wxfxt+Whfht-1+bf)
(3)
it=σ(Wxixt+Whiht-1+bi)
(4)
ot=σ(Wxoxt+Whoht-1+bo)
(5)
(6)
(7)
隱藏狀態(tài)ht是通過輸出門對記憶細(xì)胞的控制來進行輸出。計算過程如下:
ht=ot?tanh(Ct)
(8)
式中,Wxf、Whf、Wxi、Whi、Wxo、Who、Wxc、Whc為權(quán)重;bf、bi、bo、bc為偏置。LSTM的內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 LSTM單元結(jié)構(gòu)Fig.2 Unit structure of LSTM
對于t時刻的輸入,Bi-LSTM計算過程如下:
(9)
(10)
(11)
圖3 Bi-LSTM 結(jié)構(gòu)Fig.3 Structure of Bi-LSTM
TCN是一種基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的新型網(wǎng)絡(luò)結(jié)構(gòu),其特殊性在于以一維卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),結(jié)合了因果卷積、擴張卷積和殘差連接,在對時間序列數(shù)據(jù)預(yù)測方面有著良好的效果[16]。
TCN的核心是擴張因果卷積[17]。因果卷積即第i層的輸出a僅與第i-1層a及其以前時刻的值有關(guān)。擴張卷積即卷積時對輸入數(shù)據(jù)間隔采樣,計算過程如下:
(12)
式中,*為卷積運算;f:{0,…,k-1}為卷積核;d=[1,…,2L]為空洞參數(shù)。
擴張因果卷積的結(jié)構(gòu)如圖4所示,本文設(shè)置參數(shù)為d=1,2,4,8,16,k=3。隨著層數(shù)增加,d通過指數(shù)級增長以較少層數(shù)獲得更大感受野,同時降低網(wǎng)絡(luò)復(fù)雜度。
圖4 TCN擴張因果卷積結(jié)構(gòu)Fig.4 Dilated causal convolutional structure of TCN
TCN的感受野取決于網(wǎng)絡(luò)深度n、k和d,當(dāng)捕獲更長時間序列數(shù)據(jù)之間的關(guān)系時,TCN模型采用殘差模塊使前一層的誤差直接傳入后一層。TCN的殘差模塊如圖5所示。
圖5 TCN的殘差模塊結(jié)構(gòu)Fig.5 Residual module structure of TCN
電價、負(fù)荷和風(fēng)力發(fā)電量都具有波動性和隨機性,屬于非平穩(wěn)序列,而深度學(xué)習(xí)對這類序列具有較高的適應(yīng)性。其中,負(fù)荷的多少不僅與當(dāng)前溫度、日類型等因素有關(guān),還與消費者心理、用戶響應(yīng)程度有關(guān)[18],而用戶的消費心理受目前和未來一段時間電價、政策等因素的影響,所以當(dāng)前以及未來時刻的部分因素共同影響負(fù)荷。Bi-LSTM對數(shù)據(jù)進行雙向?qū)W習(xí),同時捕獲歷史以及未來時間序列中的全部特征,在對由負(fù)荷影響電價的序列進行預(yù)測時具有較高的預(yù)測精度[19]。而風(fēng)力發(fā)電量的多少主要與當(dāng)前時刻的風(fēng)速、風(fēng)能密度、環(huán)境溫度等因素有關(guān)[20],因此TCN的擴張因果卷積結(jié)構(gòu)恰是符合對由風(fēng)力發(fā)電量影響電價的序列進行預(yù)測。
因此,對DWT后的子序列進行了PCC分析,對于主要影響因素為負(fù)荷的子序列D2和D3建立Bi-LSTM-DNN預(yù)測模型,對于主要影響因素為風(fēng)電量的子序列D1和A3建立Bi-LSTM-TCN預(yù)測模型。
Bi-LSTM-DNN預(yù)測模型先是對輸入的數(shù)據(jù)集進行雙向?qū)W習(xí),從而更好地記憶較長時序數(shù)據(jù)的內(nèi)部變化規(guī)律,再用經(jīng)過Dropout處理的DNN提取數(shù)據(jù)更深層次的特征,防止模型過擬合,并減少訓(xùn)練時間,提高模型的擬合能力。
Bi-LSTM-TCN預(yù)測模型運用Bi-LSTM對輸入的電價和負(fù)荷數(shù)據(jù)集進行雙向?qū)W習(xí),運用TCN捕獲歷史風(fēng)電量的變化特征,最后進行電價預(yù)測。
綜上所述,本文建立DWT-Bi-LSTM-TCN模型預(yù)測電價,預(yù)測模型的基本框架如圖6所示。
圖6 預(yù)測模型流程Fig.6 Process of predictive model
具體步驟如下:
(1)運用PCC分析法對多維輸入特征進行篩選,計算各影響因素與電價之間的相關(guān)性,選取相關(guān)性值較高的特征作為實驗數(shù)據(jù)集。
(2)對所選特征進行數(shù)據(jù)預(yù)處理,離群值用閾值替代,缺失值采取均值插補法進行填補。
(3)對預(yù)處理后的各特征分別進行小波分解和系數(shù)重構(gòu),得到含有不同頻率的多條子序列,按照頻率相關(guān)性進行序列重組。
(4)對重組后的4組序列分別進行最大最小歸一化處理,將數(shù)據(jù)縮放到[0,1]之間,避免各個特征在數(shù)值上的差別過大而導(dǎo)致預(yù)測誤差增大,計算過程如下:
(13)
式中,xi為原數(shù)據(jù);x′i為歸一化數(shù)據(jù);xmin為最小值;xmax為最大值。
(5)得到4條處于不同頻率的組合序列,運用PCC分析影響每條序列的主要因素,對主要影響因素是負(fù)荷的序列建立Bi-LSTM-DNN模型,對主要影響因素是風(fēng)力發(fā)電量的序列建立Bi-LSTM-TCN模型。
(6)獨立構(gòu)建并訓(xùn)練模型,對4條序列分別進行電價預(yù)測,將預(yù)測結(jié)果反歸一化處理。
(7)疊加各子序列的預(yù)測值,得到最終的預(yù)測電價值。
本文數(shù)據(jù)采集于含高比例風(fēng)電新能源的北歐丹麥DK1電力市場,丹麥實施風(fēng)力發(fā)電最早,是風(fēng)電占電力消費比例最高的國家之一[21]。數(shù)據(jù)從2021年1月21日到3月21日,以小時為記錄單位,共1 440條數(shù)據(jù),前936條為訓(xùn)練集,后48條為測試集,中間456條為驗證集。其60天的電價曲線如圖7所示。從圖7中可以看出,電價曲線波動幅度較大,有時候會出現(xiàn)極大值和極小值,屬于非平穩(wěn)序列。
圖7 DK1電價曲線Fig.7 Electricity price curve of DK1
采集的原始數(shù)據(jù)包含歷史電價、歷史負(fù)荷、歷史風(fēng)電發(fā)電量、歷史交易量、日期和溫度等,并引入外部變量風(fēng)荷比,即風(fēng)能與負(fù)荷的比值[22]。由于影響電價的因素較多,在預(yù)測中會出現(xiàn)維度災(zāi)難問題,所以運用PCC計算電價與其影響因素之間的影響因子,篩選出相關(guān)性較高的特征,從而防止過擬合。計算結(jié)果見表2,選取絕對值在0.5~1.0之間的影響因素,包括電價、負(fù)荷、風(fēng)電和風(fēng)荷比。
表2 電價序列r值Tab.2 r value of electricity price series
對原始數(shù)據(jù)進行預(yù)處理,避免在采集時出現(xiàn)人為因素、設(shè)備故障等問題,從而確保數(shù)據(jù)的有效可靠性。對于缺失值本文采取均值插補法進行填補,對于離群值用閾值代替。
本文以均方根誤差(Root Mean Square Error, RMSE)和平均絕對誤差(Mean Absolute Error, MAE)為評價指標(biāo),計算過程如下:
(14)
(15)
式中,yi為實際值;y′i為預(yù)測值;T為測試集總數(shù)。
為驗證本文方法的有效性和泛化性,進行了四個維度的對比實驗,分析評估模型的性能。
4.3.1 模型性能分析
為了驗證本文所建立的預(yù)測模型的有效性,根據(jù)DWT-Bi-LSTM-TCN得到4種變體模型:
(1)Bi-LSTM。在本文模型的基礎(chǔ)上去掉了小波變換和TCN網(wǎng)絡(luò),僅對原始數(shù)據(jù)集進行數(shù)據(jù)預(yù)處理,然后運用Bi-LSTM模型對4條子序列進行預(yù)測。
(2)Bi-LSTM-TCN。在本文模型的基礎(chǔ)上去掉了小波變換部分,即預(yù)處理后的數(shù)據(jù)直接參與模型訓(xùn)練與預(yù)測,不經(jīng)過小波分解與系數(shù)重構(gòu)。
(3)DWT-Bi-LSTM。在本文模型的基礎(chǔ)上去掉了TCN模型,對預(yù)處理后的數(shù)據(jù)進行小波變換后,只通過Bi-LSTM模型進行訓(xùn)練和預(yù)測,不特殊考慮發(fā)電量對電價的影響。
(4)DWT-Bi-LSTM-TCN。對數(shù)據(jù)進行小波變換,運用Bi-LSTM-TCN模型進行預(yù)測,即本文建立的電價預(yù)測模型。
得到的各模型的電價預(yù)測結(jié)果曲線如圖8所示,預(yù)測結(jié)果誤差見表3。由圖8和表3可知:
表3 變體模型預(yù)測誤差Tab.3 Prediction error of variant model
圖8 變體模型預(yù)測曲線Fig.8 Prediction curve of variant model
(1)DWT-Bi-LSTM-TCN模型的預(yù)測曲線最接近原始電價曲線,模型誤差最小,RMSE和MAE分別為3.081和2.588,整體預(yù)測結(jié)果優(yōu)于其他模型。主要原因是在預(yù)測前用DWT對數(shù)據(jù)進行頻率信息的提取與重構(gòu),然后構(gòu)建Bi-LSTM-TCN模型,其中Bi-LSTM對長時間序列有較強的記憶能力,TCN針對風(fēng)電量對電價的影響做預(yù)測。
(2)Bi-LSTM模型最簡單,未對數(shù)據(jù)進行小波變換提取頻率信息,僅對數(shù)據(jù)進行單個模型電價預(yù)測,預(yù)測誤差均最大。表明預(yù)測前的數(shù)據(jù)處理及組合模型對模型預(yù)測很重要,DWT-Bi-LSTM-TCN模型相較于此模型,RMSE、MAE分別降低42%和37%。
(3)與Bi-LSTM-TCN模型相比,本文所建模型對數(shù)據(jù)進行了離散小波變換,預(yù)測效果有明顯提升,RMSE和MAE分別降低了37%和29%。實驗結(jié)果表明DWT通過提取數(shù)據(jù)中的不同頻率信息,形成多條子序列,針對不同序列建立不同模型進行預(yù)測,可以更好地擬合到數(shù)據(jù)的變化規(guī)律,從而提高電價預(yù)測精度。
(4)與DWT-Bi-LSTM模型相比,本文針對新能源發(fā)電量對電價的影響,建立TCN網(wǎng)絡(luò)進行預(yù)測,改善了預(yù)測效果,RMSE和MAE分別降低了25%和22%。
4.3.2 不同模型對比分析
為了進一步說明本文模型在電價預(yù)測中的優(yōu)勢,選取現(xiàn)有論文中的模型CNN、3L-GRU[23]和CNN-LSTM[24]與本文模型進行對比。得到各個模型的電價預(yù)測結(jié)果曲線如圖9所示,對比各個預(yù)測模型的預(yù)測誤差如圖10所示。
圖9 對比模型預(yù)測曲線Fig.9 Prediction curve of contrasting model
圖10 不同預(yù)測模型的預(yù)測誤差值對比圖Fig.10 Prediction error of contrasting model
由圖9和圖10可知,本文建立的預(yù)測模型誤差評價指標(biāo)最小,預(yù)測曲線最接近原始電價曲線。其中,CNN作為單一模型進行預(yù)測效果最差;3L-GRU模型由于層數(shù)的增加,訓(xùn)練模型的內(nèi)存開銷增大,易產(chǎn)生過擬合的現(xiàn)象,所以預(yù)測誤差偏高;CNN-LSTM利用CNN提取特征,LSTM進行預(yù)測,但LSTM無法考慮到時序數(shù)據(jù)中較早的信息,CNN進行卷積運算時會發(fā)生信息泄露的問題,所以相比于Bi-LSTM-TCN的預(yù)測結(jié)果仍有不足。
4.3.3 不同輸入特征對比分析
電價受多個特征的影響,為了驗證不同特征對電價預(yù)測的影響,共建立了3種模型進行實驗對比,模型分別包含不同的輸入特征,具體輸入輸出形式如下:
(1) A模型。輸入特征為前一天24個時刻的電價、負(fù)荷、風(fēng)電量和風(fēng)荷比,輸出當(dāng)天0點時的電價,以此類推,得到24個時刻的電價。即本文所選取的全部特征。
(2) B模型。僅輸入電價和負(fù)荷進行預(yù)測,輸出形式與A模型相同,即不考慮風(fēng)電和風(fēng)荷比對電價的影響。
(3) C模型。輸入電價、負(fù)荷和風(fēng)電量數(shù)據(jù)集,輸出形式相同,即不考慮風(fēng)荷比對電價的影響。
運用DWT-Bi-LSTM-TCN模型對含不同輸入特征的3個模型進行電價預(yù)測,記錄總的預(yù)測結(jié)果誤差值,以及對4條子序列的預(yù)測誤差值并進行對比分析。電價預(yù)測結(jié)果的RMSE見表4,預(yù)測結(jié)果的MAE見表5。
表4 不同輸入特征的RMSETab.4 RMSE for different input features
表5 不同輸入特征的MAETab.5 MAE for different input features
由表4和表5可知,A模型考慮了全部的輸入特征,預(yù)測結(jié)果誤差最小,RMSE和MAE分別為3.081和2.588。與B、C模型相比,RMSE分別降低了25%和14%,MAE分別降低了24%和12%。其中B模型僅考慮電價和負(fù)荷兩個特征,其預(yù)測結(jié)果誤差最大,說明風(fēng)電新能源對電價預(yù)測的重要性;C模型的預(yù)測誤差介于A模型和B模型之間,說明風(fēng)荷比對電價的預(yù)測也存在一定的影響。由此驗證了新能源并網(wǎng)會對電價的走勢產(chǎn)生影響,對由風(fēng)電量影響的電價序列做獨立預(yù)測可以提高預(yù)測準(zhǔn)確性。
4.3.4 不同數(shù)據(jù)集對比分析
為了驗證所提出的電價預(yù)測方法的泛化性,選取北歐丹麥DK2電力市場2020年12月27日~2021年1月31日的數(shù)據(jù)集進行實驗,DK2與DK1電力市場相似,具有較高的風(fēng)力發(fā)電量。電價預(yù)測結(jié)果曲線圖如圖11所示,預(yù)測結(jié)果誤差見表6。
表6 DK2預(yù)測誤差Tab.6 Prediction error of DK2
圖11 DK2預(yù)測曲線Fig.11 Prediction curve of DK2
從圖11和表6中可知,在各模型對DK2電力市場的預(yù)測結(jié)果中,DWT-Bi-LSTM-TCN模型的預(yù)測誤差最小,RMSE和MAE分別為2.682和2.109,預(yù)測曲線圖與原始電價曲線圖最接近。實驗結(jié)果表明,本文所建立的模型預(yù)測效果最好,從而進一步驗證了該方法的普遍適用性,具有較好的泛化能力。
針對風(fēng)電新能源影響下電價預(yù)測難度增大的問題,提出了一種基于小波變換的Bi-LSTM-TCN的短期電價預(yù)測模型。首先采用DWT把各特征按時間和頻率進行分解重構(gòu),充分提取出原始數(shù)據(jù)的變化特征;然后運用PCC對各條子序列進行相關(guān)性分析,對于受不同因素影響的序列建立不同模型;最后對電價進行預(yù)測。在北歐丹麥DK1電力市場數(shù)據(jù)集上進行仿真實驗,結(jié)果表明,相比于其他預(yù)測模型,該模型的RMSE和MAE分別降低了25%和22%以上;通過輸入不同特征、在不同數(shù)據(jù)集上進行對比分析,證明了本文在考慮風(fēng)電新能源影響下所建立的模型,有較好的泛化能力,有效提高了電價預(yù)測精度,為電力市場交易中的參與者提供一定的參考。
目前,我國電力現(xiàn)貨市場處于起步階段,電價是整個市場運作的關(guān)鍵因素,建立電價預(yù)測模型并準(zhǔn)確預(yù)測電價是電力市場各參與方密切關(guān)注的問題。與此同時,我國新能源發(fā)電水平不斷提高,以化石能源為主體的電力系統(tǒng)也將逐步轉(zhuǎn)變?yōu)橐孕履茉礊橹黧w的新型電力系統(tǒng)。新能源并網(wǎng)將會對電價的波動產(chǎn)生一定的影響,而目前考慮新能源發(fā)電量對電價影響的研究較少。
今后工作將會進一步考慮到節(jié)假日、太陽能發(fā)電量等因素對電價的影響,運用深度學(xué)習(xí)算法挖掘各特征變換規(guī)律以及與電價之間的關(guān)系,并嘗試加入其他預(yù)測模型進行組合,基于更復(fù)雜的環(huán)境建立電價預(yù)測模型,從而提高電價預(yù)測精度。