田文才,喬偉彪,周國峰,劉 偉
(1.華北水利水電大學 環(huán)境與市政工程學院,河南 鄭州450046;2.重慶大學 資源與安全學院,重慶400044)
隨著全球環(huán)境日益惡化,尋找清潔能源來代替煤、石油等重污染能源已經(jīng)迫在眉睫,天然氣作為一種清潔能源越來越受到人們的關(guān)注。2017年全球天然氣消耗量為3.62×1012m3,其增速為2.2%,預(yù)計到2022年全球天然氣消耗量將達到4.00×1012m3。我國天然氣消耗量在2023年將達到全球總量的40%,國內(nèi)天然氣產(chǎn)量和進口量不斷增加[1-6]。只有對天然氣消耗量進行準確的預(yù)測,提前做好相應(yīng)設(shè)施的規(guī)劃、建設(shè),才能對其實現(xiàn)最大程度上的利用,更好地保障人們的生活質(zhì)量。
天然氣負荷預(yù)測可以分為年負荷預(yù)測、月負荷預(yù)測和日負荷預(yù)測,其預(yù)測時間越長,預(yù)測所產(chǎn)生的誤差就越大[7]。截至目前,學者們在天然氣負荷預(yù)測方面進行的研究可分為物理方法和統(tǒng)計方法兩種。物理方法是利用溫度、風速、云量等有關(guān)的物理信息建立預(yù)測模型,并對天然氣消耗量進行預(yù)測,其預(yù)測誤差較大。統(tǒng)計方法是利用大量的歷史數(shù)據(jù)建立系統(tǒng)的輸入和輸出之間的關(guān)系,對天然氣消耗量進行預(yù)測,如人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)模型、灰色預(yù)測模型、多層感知機(Multilayer Perceptron,MLP)、支持向量機模型和Elman神經(jīng)網(wǎng)絡(luò)模型等[8-14]。但是,這些方法對處理少量數(shù)據(jù)具有優(yōu)越性,在處理大量歷史數(shù)據(jù)時需要提前對數(shù)據(jù)進行篩查,因此應(yīng)用范圍受到限制[15],而且其預(yù)測精度也有待進一步提高。為了進一步提高預(yù)測精度,國內(nèi)外許多學者采用了組合模型預(yù)測方式[16]。喬偉彪等[17]提出了基于混沌理論和Volterra自適應(yīng)濾波器的天燃氣負荷預(yù)測模型,其預(yù)測結(jié)果與人工神經(jīng)網(wǎng)絡(luò)、傅里葉級數(shù)預(yù)測模型的預(yù)測誤差相比得到了提高。P.Brinks等[18]提出了基于結(jié)構(gòu)校準支持向量機回歸預(yù)測模型(Structure-Calibrated Support Vector Regression,SC-SVR),其平均絕對百分比誤差為2.36%,但是其預(yù)測結(jié)果沒有達到令人滿意的效果。
近些年來,針對具有時間序列的數(shù)據(jù)處理問題,小波分析得到了快速發(fā)展,其在處理多尺度空間和時間上的數(shù)據(jù)特征和趨勢具有很強的泛化能力。深度學習算法中的LSTM(Long Short-Term Memory)可以對數(shù)據(jù)進行更深層次的學習,發(fā)現(xiàn)數(shù)據(jù)中的內(nèi)在規(guī)律,避免主觀因素的影響,保證預(yù)測結(jié)果的可靠性。但是,目前大多學者只利用單個小波對數(shù)據(jù)進行分解,沒有利用不同小波與LSTM算法相結(jié)合。為了提高天然氣負荷預(yù)測精度,本文提出了一種基于小波變換和深度學習的短期天然氣負荷預(yù)測模型。利用不同小波變換對天然氣負荷數(shù)據(jù)進行分解,使用LSTM算法進行訓練與預(yù)測,分別以平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)、平 均 絕 對 誤 差(Mean Absolute Error,MAE)和 均 方 根 誤 差(Root Mean Square Error,RMSE)作為評價指標對預(yù)測結(jié)果進行比較,指出其最優(yōu)小波的最優(yōu)階數(shù)和最優(yōu)層數(shù)。研究結(jié)果對國家政策的制定和天然氣公司運行規(guī)劃具有重要意義。
小波變換(Wavelet Transform,WT)可以利用伸縮平移方法對時間序列信號實現(xiàn)在高頻處對時間細分;低頻處對頻率細分[16],從而使信號的特征和趨勢更加明顯,克服Fourier變換的弊端,在非平穩(wěn)的時間序列方面是一種很有效的方法。
將x0定義為原始信號,將其分解為A1,A2,A3,…,AJ和D1,D2,D3,…,DJ,AJ和DJ分 別為原始信號x0在對應(yīng)小波分解的高頻分量和細節(jié)分量。其分解過程如圖1所示。
圖1 小波分解
小波重構(gòu)算法為:
利用小波函數(shù)對所收集的數(shù)據(jù)進行分解,得到的高頻分量和細節(jié)分量可以初步學習天然氣負荷變化特征和趨勢[20]。
長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)是一種可以處理序列數(shù)據(jù)的循環(huán)神經(jīng)網(wǎng)絡(luò)。
LSTM是RNN的一個變種,在處理時間序列數(shù)據(jù)方面具有很大的優(yōu)勢,其在不需要改變算法的情況下可以延長模型的記憶時間,提高模型的預(yù)測精度[22],并且還可以在不同時刻改變設(shè)計連接間的權(quán)重系數(shù)。LSTM的特點是通過增加輸入門限、輸出門限和遺忘門限使自循環(huán)參數(shù)的權(quán)重不斷發(fā)生變化,在很大程度上避免梯度消失和梯度膨脹問題[15]。LSTM模型結(jié)構(gòu)如圖2所示。
圖2 LST M模型結(jié)構(gòu)
從圖2可以看出,LSTM模型結(jié)構(gòu)圖由輸入門、輸出門和遺忘門組成。輸入數(shù)據(jù)由本單元此刻輸入狀態(tài)、上一個單元的輸出狀態(tài)和本單元的上一時刻狀態(tài)組成。其中,遺忘門用來選擇需要遺忘的信息,輸入門用來選擇需要保存的信息,而輸出門利用Sigmoid函數(shù)乘以當前狀態(tài)下的tanh值作為需要輸出的信息。LSTM單元更新過程如式(4)—(9)所示。
式中,it、gt為輸入門狀態(tài);ot、ft分別為輸出門和遺忘門狀態(tài);ht和st分別為當前LSTM單元的輸出和LSTM的當前狀態(tài);σ為Sigmoid的激活函數(shù);?為LSTM單 元 中 的 元 素 按 位 置 相 乘;Wcx、Wch、Wix、Wih為輸入門權(quán)重矩陣;Wfx、Wfh為遺忘門權(quán)重矩陣;Wox、Woh為輸出門權(quán)重矩陣。因為LSTM有輸入門限、輸出門限和遺忘門限以及獨立的記憶單元,所以可以很好地讀取、更新和儲存距離較長的歷史信息[23]。
步驟1 收集研究對象的歷史負荷數(shù)據(jù),利用Matlab對數(shù)據(jù)進行處理。
步驟2 預(yù)處理的數(shù)據(jù)分別利用Coif、Sym、Fk小波函數(shù)進行變換,使其變換成高通分量數(shù)據(jù)和低通分量數(shù)據(jù)。
步驟3 把小波分解過的數(shù)據(jù)利用Matlab自帶歸一化函數(shù)進行歸一化處理。
步驟4 把所收集數(shù)據(jù)的80%劃分為訓練集,剩下的20%的數(shù)據(jù)劃分為測試集。
步驟5 利用構(gòu)建的LSTM預(yù)測模型進行預(yù)測,把預(yù)測后的結(jié)果進行反歸一化處理。
步驟6 對預(yù)測數(shù)據(jù)分別按階、層進行重構(gòu),重構(gòu)的數(shù)據(jù)分別與LSTM的預(yù)測結(jié)果和原始數(shù)據(jù)進行比較,并且計算其誤差。
步驟7 誤差結(jié)果分別以MAPE、MAE和RMSE進行表示,并且對不同小波函數(shù)的不同階層的誤差進行比較,通過對其分別進行誤差比較,尋找最優(yōu)小波的最優(yōu)階數(shù)和層數(shù)。
原始天然氣負荷數(shù)據(jù)由中國石化天然氣分公司提供,選取了安陽華潤燃氣的天然氣總負荷,從2017年1月1日到2019年9月2日共計975個日負荷數(shù)據(jù),作為本次模型的原始數(shù)據(jù)。模型中的滑動時間窗口設(shè)置為10,所以最終參加訓練與預(yù)測的數(shù)據(jù)為965個,把965個原始數(shù)據(jù)的80%(772個)劃分為訓練集,剩下的20%(193個)劃分為測試集。安陽華潤燃氣的原始天然氣原始負荷如圖3所示。
圖3 安陽華潤燃氣原始負荷
從圖3可以看出,天然氣負荷具有明顯的波動性,其日負荷具有隨機性和非線性,并且每年成周期性變化,其隨時間的變化趨勢非常明顯。而小波具有強大的時間和空間尺度處理能力,可使研究對象的歷史燃氣負荷特征更加明顯,從而可以獲得更高的預(yù)測精度。
天然氣負荷數(shù)據(jù)具有明顯的波動性、周期性、時序性等特點,而小波?分析對于處理時間尺度和空間尺度上的數(shù)據(jù)具有強大的能力,可以對數(shù)據(jù)的特征差異進行放大,從而利于預(yù)測模型進行學習。利用Coif小波、Sym和Fk小波等對天然氣負荷數(shù)據(jù)進行分析。利用Matlab2018b內(nèi)置工具箱選取Coif小波、Fk小波和Sym小波對數(shù)據(jù)進行分解[24]。通過分析發(fā)現(xiàn),F(xiàn)k小波相對于其他兩種小波可以更好地展現(xiàn)負荷的特征和趨勢。Fk小波第22階分解如圖4所示。
圖4 Fk小波第22階分解圖
從圖4可以看出,第6層的高頻分量很好地反映天然氣負荷消耗趨勢,其變化規(guī)律具有周期性,夏季天然氣負荷消耗量相對于冬季較少。第6層的細節(jié)分量可以反映天然氣負荷的穩(wěn)定部分。第4層和第5層細節(jié)分量具有明顯的波動性,其波動值越大表示消耗量越大,即天然氣消耗量增幅越大。原始信號具有很大的波動性,可以在一定程度上表示持續(xù)的峰-谷時間[21],當原始數(shù)據(jù)出現(xiàn)波峰或者波谷時,第1層、第2層和第3層的細節(jié)分量都會對應(yīng)地出現(xiàn)波峰或者波谷。
針對原始數(shù)據(jù)波動性很大、可能出現(xiàn)量級差異等問題,利用小波分解之后對其數(shù)據(jù)進行歸一化處理。通過歸一化處理消除數(shù)據(jù)的量級誤差,提高數(shù)據(jù)質(zhì)量及預(yù)測精度。
利用最大最小法對數(shù)據(jù)進行歸一化處理,其表達式為:
式中,xk為當前數(shù)據(jù);xmin為輸入數(shù)據(jù)最小值;xmax為輸入數(shù)據(jù)最大值。
為評價所提出模型預(yù)測精確度,選擇平均絕對百分比誤差(MAPE)、平均絕對誤差(MAE)和均方根誤差(RMSE)作為此模型的檢驗標準,其表達式為:
式中,Yi為數(shù)據(jù)中第i個數(shù)據(jù)真實值;Y?i為數(shù)據(jù)中第i個數(shù)據(jù)預(yù)測值;n為數(shù)據(jù)的總數(shù)。
本文所采用的WT-LSTM模型輸入層為10,LSTM層為20個隱藏單元和1個全連接層;訓練參數(shù)MaxEpochs設(shè)置為250,InitialLearnRate設(shè)置為0.01,LearnRateDrop Period 設(shè) 置 為 125,LearnRateDrop Factor設(shè)置為0.1,重復(fù)10次實驗,然后取平均值。
對安陽華潤燃氣負荷利用LSTM進行了直接預(yù)測,同時分別利用Fk小波、Coif小波和Sym小波進行分解,如表1所示。由表1可知,Sym小波最優(yōu)階數(shù)和層數(shù)是7階第8層,其MAPE、MAE和RMSE分別是0.81%、87.77和10 510.65;Coif小波最優(yōu)階數(shù)和層數(shù)為5階第5層,其MAPE、MAE和RMSE分別是0.82%、88.75和11 819.61;Fk小波最優(yōu)階數(shù)和層數(shù)是22階第6層,其MAPE、MAE和RMSE分別是0.71%、82.19和9 222.59。安陽華潤燃氣原始負荷、直接預(yù)測負荷和不同小波的組合預(yù)測負荷如圖5所示。從表1和圖5還可以看出,其最優(yōu)小波是Fk小波,最優(yōu)階數(shù)和層數(shù)是第22階第6層。
圖5 安陽華潤燃氣原始負荷、直接預(yù)測負荷和不同小波組合預(yù)測負荷
表1 安陽華潤燃氣預(yù)測誤差
為了驗證所得結(jié)論,選取青島新奧燃氣的總負荷進行比對,選取從2017年1月1日到2019年9月2日共計975個日負荷數(shù)據(jù)作為模型的原始數(shù)據(jù),直接利用LSTM進行預(yù)測的MAPE、MAE和RMSE分別為6.28%、149.04和31 782.80。其每個小波最小誤差對應(yīng)的MAPE、MAE和RMSE如表2所示。青島新奧燃氣的原始負荷、直接預(yù)測和組合預(yù)測負荷如圖7所示。
從表2和圖6中可以看到,F(xiàn)k小波22階第6層預(yù)測誤差最小,其MAPE為1.13%,MAE為64.48,RMSE為5 301.71,相對于直接預(yù)測MAPE、MAE和RMSE的預(yù)測精度均有很大的提高,從另一面印證了Fk小波在22階第6層的所預(yù)測的可靠性。
表2 青島新奧燃氣負荷預(yù)測誤差
圖6 青島新奧燃氣的原始、直接預(yù)測和不同小波組合預(yù)測負荷
所提出模型的最優(yōu)小波為Fk小波,最優(yōu)階數(shù)為第22階,最優(yōu)層數(shù)為第6層,其預(yù)測精度為99.29%,達到了預(yù)期效果。此外,在保證預(yù)測精度的同時還指出了最優(yōu)小波基的階數(shù)和層數(shù),可以在數(shù)據(jù)處理時直接對相應(yīng)的階數(shù)和層數(shù)進行分解,減少預(yù)測時間,為天然負荷預(yù)測提供了一種直接處理數(shù)據(jù)的方法,同時對天然氣在線工程的運用具有一定的參考價值。