徐帥,劉丹丹
(上海電力大學(xué)電子與信息工程學(xué)院,上海 200000)
隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,各領(lǐng)域?qū)τ谟秒娏康男枨笾鸩皆龃?。?zhǔn)確的用電負(fù)荷預(yù)測(cè)能夠?yàn)殡娏π袠I(yè)部署提供相關(guān)依據(jù),有利于電力部門做出合理的調(diào)度規(guī)劃[1]。同時(shí),負(fù)荷預(yù)測(cè)的結(jié)果是根據(jù)往年負(fù)荷做出的歷史規(guī)律總結(jié),分析其與真實(shí)數(shù)據(jù)的差異,能夠提高用電效率,進(jìn)一步發(fā)掘節(jié)能潛力[2]。電力負(fù)荷數(shù)據(jù)一般按照時(shí)間的順序進(jìn)行記錄,因此可視為時(shí)間序列數(shù)據(jù)。時(shí)間序列數(shù)據(jù)之間往往包含著特定的規(guī)律與特點(diǎn),因此一直以來有大量研究聚焦于時(shí)間序列預(yù)測(cè)方法。
經(jīng)典的時(shí)間序列算法有差分整合移動(dòng)平均自回歸模型(Autoregressive Integrated Moving Average model,ARIMA)、指數(shù)平滑法等[3]。20 世紀(jì)80 年代,較多研究人員開始關(guān)注使用機(jī)器學(xué)習(xí)算法預(yù)測(cè)時(shí)間序列,如支持向量機(jī)和極限學(xué)習(xí)機(jī)算法等[5]。但是經(jīng)典的機(jī)器學(xué)習(xí)算法對(duì)歷史數(shù)據(jù)依賴較大,抗噪聲能力不強(qiáng),容易產(chǎn)生過學(xué)習(xí)現(xiàn)象。自2006 年以來,深度學(xué)習(xí)算法由于加深模型結(jié)構(gòu),突出特征學(xué)習(xí)的優(yōu)良特性,成為了時(shí)間序列預(yù)測(cè)的主要研究方法。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[7-8]。與傳統(tǒng)的全連接神經(jīng)網(wǎng)絡(luò)相比,有著相對(duì)簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu),提高了訓(xùn)練速度。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[9]存在過擬合問題,為了解決RNN 梯度消失和爆炸的問題,長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)[9]添加了門控循環(huán)結(jié)構(gòu)來篩選和保留有效數(shù)據(jù),在預(yù)測(cè)精度上有所提升。
但是,這些算法仍然不能很好地解決非穩(wěn)定非線性時(shí)間序列的預(yù)測(cè)問題。因此,提出采用模態(tài)分解算法對(duì)原始序列進(jìn)行分解,使其先行穩(wěn)定,而后使用組合神經(jīng)網(wǎng)絡(luò)CNN-BiLSTM 對(duì)于負(fù)荷數(shù)據(jù)進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)證明,該算法有效地提高了預(yù)測(cè)精度。
經(jīng)驗(yàn)?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)根據(jù)本身的時(shí)間特性來進(jìn)行數(shù)據(jù)分解。分解出來的本征模態(tài)函數(shù)(Intrinsic Mode Function,IMF)分量中含有原序列數(shù)據(jù)不同頻率模式的部分特征[11]。EMD 的作用在于對(duì)不平穩(wěn)數(shù)據(jù)進(jìn)行分解處理后,得到平穩(wěn)化分量。
但這一過程會(huì)出現(xiàn)模態(tài)混疊現(xiàn)象。自適應(yīng)噪聲完備集合經(jīng)驗(yàn)?zāi)B(tài)分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)是由EMD 方法發(fā)展而來的[12],有效地避免了模態(tài)混疊現(xiàn)象。CEEMDAN 算法的分解步驟分為三部分。
1)在原始負(fù)荷數(shù)據(jù)y中添加N次自適應(yīng)高斯白噪聲得到y(tǒng)N,對(duì)新的負(fù)荷數(shù)據(jù)進(jìn)行EMD 分解,并對(duì)得到的N個(gè)模態(tài)分量進(jìn)行集總平均,得到第一個(gè)本征模態(tài)分量,再計(jì)算減去第一個(gè)模態(tài)分量后的殘差。第一個(gè)本征模態(tài)分量IMF1和殘差r1分別為:
2)在殘差r1中添加N次自適應(yīng)高斯白噪聲后,分解成N個(gè)模態(tài)分量IMFi2,繼續(xù)求解得到第二個(gè)IMF2分量和殘差。本征模態(tài)分量IMF2和殘差r2分別為:
3)重復(fù)以上步驟得到k個(gè)IMF 分量和最終的殘差rk,原始負(fù)荷數(shù)據(jù)y可以表示為:
較之EMD 算法,CEEMDAN 算法可以減小重構(gòu)誤差,具有更快的計(jì)算速度及能夠減少幅值很小的低頻IMF 分量個(gè)數(shù)等特點(diǎn)。因此,選取該算法作為分解非平穩(wěn)序列的方法。
變分模態(tài)分解(Variational Mode Decomposition,VMD)方法將原始數(shù)據(jù)信號(hào)分解成指定個(gè)數(shù)的單分量調(diào)頻信號(hào)。VMD 通過迭代循環(huán),分解得到指定數(shù)量的有帶寬限制的IMF 分量[13],具有抗噪聲干擾和避免邊界效應(yīng)等優(yōu)點(diǎn)。但如果信號(hào)很長(zhǎng)、數(shù)據(jù)量大,VMD分量帶寬可能會(huì)發(fā)生重疊,所以實(shí)驗(yàn)中VMD不作為第一次分解方法使用,VMD 用于處理CEEMDAN擬合效果較差的分量,進(jìn)行二次分解。
CNN 網(wǎng)絡(luò)主要由輸入層、卷積層、池化層、全連接層和輸出層組成。通過卷積層提取特征,實(shí)現(xiàn)參數(shù)共享,使原負(fù)荷數(shù)據(jù)特征增強(qiáng),簡(jiǎn)化網(wǎng)絡(luò)參數(shù)[14]。在池化層對(duì)特征做進(jìn)一步約減,去除冗余信息,使用下采樣操作,捕捉更高階的特征。同時(shí)減少了全連接層中的輸入大小和參數(shù)數(shù)量,以此來加快運(yùn)算速度和防止過擬合。CNN 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 CNN網(wǎng)絡(luò)結(jié)構(gòu)圖
雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BiLSTM)是在LSTM 神經(jīng)網(wǎng)絡(luò)上進(jìn)行了雙向循環(huán)的改進(jìn)。LSTM 網(wǎng)絡(luò)能夠通過門控模塊對(duì)輸入單元信息選擇,決定上一時(shí)刻和當(dāng)前時(shí)刻信息的保留程度,從而確保LSTM 網(wǎng)絡(luò)對(duì)信息的長(zhǎng)期記憶[15]。其結(jié)構(gòu)如圖2 所示。
圖2 LSTM結(jié)構(gòu)圖
單向的LSTM 網(wǎng)絡(luò)難以挖掘數(shù)據(jù)前后時(shí)間雙向的聯(lián)系,因此不能充分利用時(shí)間序列的有效特征。BiLSTM 結(jié)構(gòu)如圖3 所示,BiLSTM 采用雙向LSTM 循環(huán)結(jié)構(gòu)。正向LSTM 和反向LSTM 可以遞歸未來和過去隱藏層的狀態(tài),相互獨(dú)立來處理反向和正向的數(shù)據(jù),輸出層按照設(shè)定的權(quán)重對(duì)正向和反向的結(jié)果進(jìn)行結(jié)合計(jì)算最終的結(jié)果[16]。BiLSTM 網(wǎng)絡(luò)更好地挖掘了數(shù)據(jù)的時(shí)序特征。
圖3 BiLSTM結(jié)構(gòu)圖
組合模型是將數(shù)據(jù)處理算法和神經(jīng)網(wǎng)絡(luò)相結(jié)合對(duì)時(shí)間序列進(jìn)行預(yù)測(cè),首先采用混合模態(tài)分解算法處理負(fù)荷數(shù)據(jù),再使用CNN-BiLSTM 神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)訓(xùn)練預(yù)測(cè),得到優(yōu)化結(jié)果,提升了短期負(fù)荷預(yù)測(cè)的預(yù)測(cè)精度。組合模型結(jié)構(gòu)如圖4 所示。
圖4 組合模型結(jié)構(gòu)圖
在數(shù)據(jù)預(yù)處理過程中,采用CEEMDAN 算法將原始數(shù)據(jù)加入白噪聲逐次迭代,求解出多個(gè)IMF 分量和殘差。對(duì)于各個(gè)分量進(jìn)行逐一預(yù)測(cè),將單個(gè)預(yù)測(cè)結(jié)果擬合優(yōu)度低于0.4 的分量通過VMD 算法進(jìn)行二次分解,以此來提高預(yù)測(cè)準(zhǔn)確度。最終將各個(gè)分量的預(yù)測(cè)結(jié)果匯總求和得到原始時(shí)間序列的預(yù)測(cè)結(jié)果。
神經(jīng)網(wǎng)絡(luò)CNN-BiLSTM 模型由輸入層、卷積神經(jīng)網(wǎng)絡(luò)、雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)和輸出層組成。選用一維卷積神經(jīng)網(wǎng)絡(luò),負(fù)荷數(shù)據(jù)由輸入層傳入到卷積神經(jīng)網(wǎng)絡(luò)中,設(shè)定層數(shù)為2 并添加一層最大池化層。對(duì)負(fù)荷數(shù)據(jù)做特征提取之后,將特征傳入BiLSTM 網(wǎng)絡(luò)。設(shè)置BiLSTM 網(wǎng)絡(luò)層數(shù)為2,激活函數(shù)選用Tanh,神經(jīng)元數(shù)設(shè)置為32。LSTM 網(wǎng)絡(luò)對(duì)于輸入的特征會(huì)保留有價(jià)值的信息,通過門控遺忘無效的信息。利用Bi-LSTM 可以對(duì)過去和未來的內(nèi)在數(shù)據(jù)聯(lián)系進(jìn)行進(jìn)一步提煉,從而提高準(zhǔn)確度。BiLSTM網(wǎng)絡(luò)中加入Dropout 層,對(duì)于神經(jīng)網(wǎng)絡(luò)訓(xùn)練單元按照一定比例進(jìn)行隨機(jī)失活,以解決過擬合問題。輸出層為dense層,用于匯集網(wǎng)絡(luò)信息,輸出預(yù)測(cè)結(jié)果。在網(wǎng)絡(luò)訓(xùn)練中設(shè)置EarlyStopping 和ReduceLROnPlateau函數(shù)來防止過擬合和動(dòng)態(tài)減小學(xué)習(xí)率。
時(shí)間序列數(shù)據(jù)為西班牙某地的用電負(fù)荷,采集的時(shí)間為2015 年1 月1 日0 時(shí) 至2018 年12 月31 日24 時(shí),數(shù)據(jù)采樣間隔為1 小時(shí),共有35 064 條數(shù)據(jù)。采用四種評(píng)估指標(biāo),對(duì)提出的組合算法(CEEMDANVMD-CNN-BiLSTM,CVCB)與SVM、RNN、LSTM、CNN-LSTM 網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果的指標(biāo)作對(duì)比,證明文中算法有效地提高了準(zhǔn)確度。
數(shù)據(jù)的大小本身存在一定差距,導(dǎo)致在訓(xùn)練過程梯度下降求最優(yōu)解速度慢、預(yù)測(cè)精度低等問題,所以采用數(shù)據(jù)歸一化將負(fù)荷數(shù)據(jù)壓縮到[0,1]范圍內(nèi)。歸一化公式如式(6)所示:
式中,x為原始數(shù)據(jù),xnorm為歸一化的數(shù)據(jù),xmax為負(fù)荷數(shù)據(jù)的最大值,xmin為負(fù)荷數(shù)據(jù)最小值。
評(píng)估指標(biāo)有擬合優(yōu)度R2、均方根誤差(RMSE)、平均絕對(duì)誤差(MAE)和平均絕對(duì)百分比誤差(MAPE),如式(7)-(10)所示:
式中,n為預(yù)測(cè)時(shí)間點(diǎn)的個(gè)數(shù),為負(fù)荷的平均值,為負(fù)荷的預(yù)測(cè)值,yi為負(fù)荷的真實(shí)值。
實(shí)驗(yàn)中負(fù)荷數(shù)據(jù)采用滑動(dòng)窗口方式處理,以24為時(shí)間步長(zhǎng)來重構(gòu)輸入數(shù)據(jù)。將2015 年1 月1 日至2018 年12 月24 日的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),預(yù)測(cè)2018年12 月25 日 至2018 年12 月31 日 共7 天總計(jì)168 小時(shí)的數(shù)據(jù)。
首先將原始負(fù)荷數(shù)據(jù)送入五種網(wǎng)絡(luò)模型(SVM、RNN、LSTM、CNN-LSTM、CNN-BiLSTM)分別進(jìn)行訓(xùn)練及預(yù)測(cè),對(duì)比不經(jīng)過數(shù)據(jù)分解的各個(gè)網(wǎng)絡(luò)的預(yù)測(cè)效果。原始數(shù)據(jù)與五種網(wǎng)絡(luò)預(yù)測(cè)的結(jié)果對(duì)比如圖5所示。相比于其他四種網(wǎng)絡(luò),未經(jīng)預(yù)處理的數(shù)據(jù)在CNN-BiLSTM 上預(yù)測(cè)效果更加準(zhǔn)確。
圖5 未經(jīng)預(yù)處理數(shù)據(jù)的不同網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
表1 給出了五種網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果的評(píng)估指標(biāo)。從各項(xiàng)指標(biāo)可以看出,CNN-BiLSTM 網(wǎng)絡(luò)的預(yù)測(cè)誤差更小,網(wǎng)絡(luò)擬合程度更高。
表1 不同網(wǎng)絡(luò)的評(píng)估指標(biāo)
由表1 可知,未經(jīng)預(yù)處理數(shù)據(jù)的預(yù)測(cè)誤差整體偏大,預(yù)測(cè)值和真實(shí)數(shù)據(jù)吻合度不高,所以使用CEEMDAN 算法對(duì)負(fù)荷數(shù)據(jù)進(jìn)行分解。經(jīng)過分解后產(chǎn)生IMF1-IMF12和一個(gè)殘差。由圖6 可以看出各個(gè)分量的頻率較為穩(wěn)定,呈現(xiàn)出較強(qiáng)的周期性。
圖6 經(jīng)過數(shù)據(jù)分解的IMF分量
將分解出的13 個(gè)分量采用兩種方式送入網(wǎng)絡(luò)模型。第一種方式:將13 個(gè)時(shí)間序列分量集成維度為(35 064,13)的新序列,以24 為步長(zhǎng)重構(gòu)輸入數(shù)據(jù)送入神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行預(yù)測(cè)(記為Ensemble,簡(jiǎn)記為En)得到模型預(yù)測(cè)效果。另一方式則采用逐一預(yù)測(cè),將13 個(gè)維度為(35 064,1)分量逐一送入神經(jīng)網(wǎng)絡(luò)模型(記為Respective,簡(jiǎn)記為Re),將各個(gè)分量的預(yù)測(cè)結(jié)果相加得到完整的負(fù)荷預(yù)測(cè)結(jié)果。
按照上述兩種方式,采用CNN-BiLSTM 神經(jīng)網(wǎng)絡(luò)模型對(duì)兩種輸入方式進(jìn)行訓(xùn)練。預(yù)測(cè)結(jié)果如圖7所示。En 的預(yù)測(cè)評(píng)估指標(biāo)如下:R2為0.92、RMSE 為397、MAE 為333、MAPE 為16%。Re 的預(yù)測(cè)評(píng)估指標(biāo)如下:R2為0.95、RMSE 為180、MAE 為146、MAPE為8.02%。可知Re 比En 在各項(xiàng)評(píng)估指標(biāo)上表現(xiàn)效果更好,所以采用Re 的輸入方式。
對(duì)于Re 預(yù)測(cè)方式,在預(yù)測(cè)過程中比較發(fā)現(xiàn),IMF1的預(yù)測(cè)指標(biāo)R2為0.21,MAPE 為191%,由此對(duì)IMF1單獨(dú)進(jìn)行二次分解再預(yù)測(cè)。為了進(jìn)一步提高精度,采用了EMD、CEEMDAN、VMD 三種方式分解方法對(duì)IMF1重新分解,再次送入CNN-BiLSTM 網(wǎng)絡(luò)中預(yù)測(cè),得到IMF1預(yù)測(cè)結(jié)果,如圖8 所示,VMD 的預(yù)測(cè)曲線與真實(shí)值更加貼近。不同分解方式的評(píng)價(jià)指標(biāo)比較如表2 所示。
表2 IMF1再分解的評(píng)估指標(biāo)
圖8 IMF1不同分解方式的預(yù)測(cè)結(jié)果
由表2 可以看出VMD 分解的效果更好,提高了IMF1 的預(yù)測(cè)精度,由此提高整個(gè)模型的預(yù)測(cè)準(zhǔn)確度,所以采用CEEMDAN 和VMD 結(jié)合的數(shù)據(jù)分解方式。為了進(jìn)一步驗(yàn)證網(wǎng)絡(luò)CNN-BiLSTM 的優(yōu)越性,將五個(gè)網(wǎng)絡(luò)模型與數(shù)據(jù)分解相結(jié)合進(jìn)行訓(xùn)練預(yù)測(cè),預(yù)測(cè)結(jié)果如圖9 所示,相較于其他網(wǎng)絡(luò),CNN-BiLSTM更加吻合數(shù)據(jù)真實(shí)值。各項(xiàng)評(píng)價(jià)指標(biāo)如表3 所示。
表3 數(shù)據(jù)分解后不同網(wǎng)絡(luò)的評(píng)估指標(biāo)
圖9 數(shù)據(jù)分解后的不同網(wǎng)絡(luò)預(yù)測(cè)結(jié)果
由表3 可知,原始負(fù)荷數(shù)據(jù)經(jīng)過CEEMDAN 和VMD 結(jié)合的數(shù)據(jù)分解處理后進(jìn)行預(yù)測(cè),各個(gè)網(wǎng)絡(luò)的預(yù)測(cè)精度均有所提升。在五種網(wǎng)絡(luò)模型中,CNNBiLSTM 的預(yù)測(cè)精度最高。
提出模型是一種數(shù)據(jù)分解結(jié)合算法與網(wǎng)絡(luò)預(yù)測(cè)模型組合的負(fù)荷預(yù)測(cè)方法。首先將CEEMDAN 和VMD 算法相結(jié)合的數(shù)據(jù)分解算法對(duì)負(fù)荷數(shù)據(jù)進(jìn)行預(yù)處理,再使用CNN-BiLSTM 網(wǎng)絡(luò)對(duì)各個(gè)分量逐一預(yù)測(cè),疊加分量結(jié)果得到最終預(yù)測(cè)負(fù)荷。
具有多重影響和不穩(wěn)定性的原始數(shù)據(jù)經(jīng)過分解后產(chǎn)生一定數(shù)量的分量,該分量具有穩(wěn)定性和周期性等特點(diǎn),有利于網(wǎng)絡(luò)模型進(jìn)一步挖掘數(shù)據(jù)的時(shí)序性和規(guī)律性。利用CNN 提取數(shù)據(jù)的特征,并利用BiLSTM 可以遞歸未來和過去的狀態(tài),進(jìn)一步挖掘時(shí)序之間隱藏的關(guān)系。數(shù)據(jù)分解與網(wǎng)絡(luò)模型的結(jié)合,充分利用了數(shù)據(jù)關(guān)聯(lián)和網(wǎng)絡(luò)特征,能夠進(jìn)一步提高預(yù)測(cè)精度。