張 彤,徐曉鐘,王曉霞,楊 超
(上海師范大學 信息與機電工程學院,上海 200234)
燃氣負荷數據的預測是燃氣系統項目決策的重要指標,國內外許多學者在這方面做了大量的研究[1-9].從文章中可以看出,神經網絡算法是目前運用最為廣泛的短期燃氣負荷預測方法,神經網絡算法從結構上可以分為前饋型和反饋型神經網絡兩種.雖然,前饋型神經網絡包括BP 神經網絡、RBF 神經網絡等在短期燃氣負荷預測上取得了良好的效果[3,6],但是,由于燃氣負荷數據受歷史負荷數據的影響較大,要求預測算法可以保存之前的訓練結果,前饋型神經網絡不能解決該類問題.反饋型神經網絡RNN (Hopfield 網絡、Elman 神經網絡以及Jordan 神經網絡),因其反饋之前狀態的結構,具有一定的記憶能力,能夠更好地提取燃氣數據的特征.學者們將反饋型神經網絡用于負荷預測上,并與前饋型網絡進行了大量的實驗對比研究[8-11],這奠定了反饋型神經網絡處理短期燃氣負荷預測的基礎.
上述神經網絡在結構上都是淺層結構,淺層結構算法具對于復雜問題,其泛化能力較差,存在梯度消失的問題.2006年Hinton G 等人提出了深度學習的框架,表達了多隱層的人工神經網絡與淺層神經網絡相比具有優異的特征學習能力,學習得到的特征對數據有更本質的刻畫,從而有利于可視化或分類.文獻[12]分析了淺層結構在處理電力負荷預測問題時的不足,對于多維時間序列預測,將RNN 擴展到深度學習中在目前的研究中得到了較好的實驗結果[13-15].然而,對于序列很長的數據,RNNs 存在梯度消失的問題.為了解決這個問題,學者們提出了一些改進的R N N s 模型,LSTM 和GRU 神經網絡是目前較為常見的兩種.它們在結構上增加了忘記單元,比RNNs 多了選擇記憶的能力,有效地改善了RNNs 梯度消失的問題.LSTM 算法是1997年被提出,用于語言處理方面的研究,近年,在電力負荷預測方面運用較多[13,16].但因其復雜的網絡結構,需要訓練很長時間[14],為了減少訓練時間,本文選擇以GRU 神經網絡作為燃氣負荷預測算法,將LSTM 與GRU 進行仿真實驗,證明GRU 在燃氣負荷預測上的先進性.
由于燃氣負荷數據隨極端天氣與節假日的影響,這些特殊的日負荷值與相鄰時刻的負荷相差較大,在這些點的預測誤差較大.學者們嘗試將數據進行信號分解,將數據按頻率分成若干分量來解決這個問題.文獻[17,18]以LMD 算法與RNN 結合處理時間序列預測,證明LMD 算法與反饋神經網絡結合的可行性與優越性.LMD 算法是一種新型的具有自適應性的信號分解方法,它將原始數據分解為一系列的PF 分量,這些分量是由純調頻信號與包絡信號相乘得到,可以保證其瞬時頻率是正的、連續的,具有一定的物理意義.為了提高預測精度,本文采用LMD 算法與GRU 神經網絡結合來預測短期燃氣負荷值.
LMD 算法利用滑動平均法得到局部均值函數與包絡函數,相比于其它方法,滑動平均法的端點效應不明顯,但是同樣會有過平滑的問題.文獻[18]用Akima插值方法優化LMD 算法,成功的解決了LMD 過平滑的問題,依照這樣的思路,在本文中,同樣對LMD 算法的插值方法做改進.文獻[19]詳細比較了幾種常用的插值方法,可以看出牛頓插值法計算較為簡單,且在處理過平滑方面優于其它幾種插值方法,本文將利用牛頓插值法代替LMD 的滑動平均值法來獲得局部均值函數和包絡估計函數,改善傳統LMD 方法存在的過平滑問題.
負荷數據在采集過程中需要人工參與和調整,負荷值不可避免的存在一部分噪聲數據.噪聲數據一般處于數據的高頻部分,對預測精度影響較高,本文使用小波閾值去噪方法對PF 分量進行處理,對高頻與低頻數據分別處理,可以有效提高了去噪能力.文獻[20-23]分析了小波閾值去噪的閾值選擇問題以及閾值函數的改進方法,本文將根據實際數據實驗情況選擇合適的閾值函數,用改進后的小波閾值去噪方法對LMD 的PF 分量去噪.文獻[24]中提出利用小波閾值去噪方法對LMD 的PF 分量進行去噪處理,通過實驗證明了對PF 分量去噪的優越性.綜上所述,本文首先使用牛頓插值方法改進LMD 算法同時對LMD 分量進行小波閾值去噪處理,之后將改進的LMD 算法(WT-LMD)與GRU 神經網絡結合作為短期燃氣負荷預測的方法.
局部均值分解(Local Mean Decomposition,LMD)算法是一種自適應時頻分析方法,它將非平穩信號分解成若干個不同頻率的PF 分量和一個余量,每個PF 分量的瞬時頻率和頻幅可以很好的反映信號的時頻特征.對于任意的非平穩信號X(t),具體分解步驟如下:
(1)找出X(t)的所有局部極值點,包括極大極小值點,對兩個相鄰的極值點ni,ni+1求平均值.
(2)將所有的平均值點連接起來,利用滑動平均法得到局部均值函數m11(t),并將m11(t)從X(t)中分離:h11(t)=X(t)-m11(t).
(3)求出相鄰極值點的包絡估計值ai:

同樣將所有的ai連接起來,利用滑動平均法進行平滑處理得到包絡估計函數a11(t).
(4)對h11(t)解調得到:
判斷s11(t)是否為純調頻信號,即滿足|s11(t)|≤1;若不是,將s11(t)作為新的原始信號重復上述步驟,迭代n次,直至s1n(t)為純調頻信號,即其包絡估計函數a1(n+1)(t)=1.
(5)將迭代過程中的a11(t),…,a1n(t)相乘得到包絡信號a1(t),將a1(t)與s1n(t)相乘即為第一個PF分量PF1(t).PF1(t)是信號中頻率最高的部分,它的瞬時頻幅就是a1(t),瞬時相位為φ(t)=arccos(s1n(t)),瞬時頻率
(6)從X(t)中分離出PF1(t)得到:μ1(t)=X(t)-PF1(t),將μ1(t)作為新的原始信號重復上述步驟,得到相應的PF2(t)和μ2(t).如此,迭代n次,直到μn(t)是一個單調函數,結束循環.
(7)原始信號X(t)可表示為這n個PF分量的和加上μn(t):

通過局部均值分解(LMD)方法將燃氣負荷數據分解為不同頻域下的分量,上述計算這些分量過程中,由于分量的瞬時頻幅和頻率都可以通過計算獲得,使得分量具有一定的物理意義,可以很好的看出燃氣負荷的潛在特征.但是,在實際操作過程中,LMD 算法在處理序列較長的數據時,若滑動跨度選擇不當,會引起函數不收斂導致過平滑問題,或者表現為分解的分量過多,使得分量失去價值.為了解決這一問題,本文提出利用牛頓插值法代替滑動平均法優化LMD 算法.
1.2.1 牛頓插值法
對于一組數據:
n0(x0,f(x0)),n1(x1,f(x1)),…,nk(xk,f(xk))構建牛頓插值多項式:

式中f(x0,x1,…,xk)是函數f(x)的k階差商,即:

由式(3)可以看出每階差商都可由前一階差商推出,得到各階差商,按照插值多項式就可以計算出插值點的值.
1.2.2 小波閾值去噪
小波閾值去噪的原理就是原始信號進行小波變換后得到的含有噪聲的小波系數w,有效信號在空間或時間上具有連續性,所以幅值較大.而噪聲信號是隨機的,往往處于高頻區域,所以設置合適的閾值,就可以將含噪聲的小波系數去除留下有效系數w’.去噪過程如圖1.

圖1 小波閾值去噪
燃氣負荷數據在采集過程中由于人為調整或者管網系統的故障問題不可避免地會產生一些異常數據即噪聲數據,針對這個問題,通常使用小波閾值去噪方法對原始燃氣負荷數據進行去噪處理.但是,燃氣負荷數據具有隨機性,數據波動較大,很難選擇合適閾值,從而影響去噪效果和預測精度.
1.2.3 改進的LMD 算法
在1.1 介紹了傳統局部均值分解算法的過程,LMD 算法利用滑動平均法確定局部均值函數和包絡估計函數,從而計算出PF 分量.實驗過程中,為了解決這個問題,采用牛頓插值法代替滑動平均法對LMD 算法進行改進.牛頓插值法與其它插值法相比,結構簡單,且敏感度相對較低,平滑效果相比滑動平均法較差,可以有效解決過平滑問題[19].
原始數據通過局部均值分解得到一系列的由高頻到低頻的PF 分量,這些分量存在一定的噪聲數據,高頻區噪聲較多,影響預測效果.本文利用小波閾值去噪方法對這些PF 分量數據進行去噪處理,相比于對直接原始負荷數據直接去噪,在不同頻域內分別選擇適當的閾值,進行小波閾值去噪可以有效地提高去噪能力.流程如圖2所示.

圖2 改進的LMD 算法
GRU 神經網絡包含兩個門單元(更新門z和重置門r),結構如圖3所示.更新門控制上一時刻的信息用到當前時刻中的程度,更新門的值越大表示上一時刻對當前時刻的影響越高.重置門控制忘記上一時刻信息的程度,重置門的值越小表示上一時刻對當前時刻的影響越少.

圖3 GRU 神經網絡
隱藏狀態h利用更新門控制之前時刻隱藏狀態與當前時刻的候選隱藏狀態結合更新的程度.如果,在時間t1到t2之間的狀態一直近似1.那么,t1到t2之間的信息幾乎沒有輸入到當前時刻的隱藏狀態.這個設計有利于更好地捕捉時間序列中時間間隔較長數據對當前時刻的影響程度.
上圖中狀態與輸出的計算如下:


圖4 zt

圖5 rt

圖6

圖7 ht
本文提出一種將LMD 算法與GRU 神經網絡組合的方法,用于預測短期燃氣負荷值.由于燃氣數據的波動性較大,本文選取2013年的燃氣負荷值,進行局部均值分解可以得到9 個PF 分量,如圖8和圖9所示.再將這些分量進行小波閾值去噪(圖10顯示PF1 的去噪結果)之后,分別以各分量作為輸入數據構建GRU 網絡分別進行預測.最后,將所有預測結果相加得到負荷的預測值,具體流程如圖11.
GRU 與LSTM 在結構上十分的相似,都是為了解決RNN 的長期依賴問題設計的門控單元結構.LSTM包含三個門函數(輸入門、忘記門和輸出門),如圖12所示,而GRU 模型僅僅包含兩個門函數(重置門和更新門).如果將重置門全部設置為1,并且更新門設置為0,就退化為RNN 模型.顯而易見,由于少了輸出門的計算,GRU 網絡參數更少,訓練速度更快.而當實驗數據較多時,LSTM 網絡效果更好.
GRU 神經網絡與LSTM 在實驗結果上相差不大,需根據實際數據選擇適當的模型[18].本文將2005年到2014年的燃氣負荷作為輸入數據(數據未處理),選取2000 個數據做訓練數據,1000 個作為測試數據.分別以GRU 和LSTM 兩個模型進行預測,結果如圖13和圖14為兩種模型的誤差曲線以及預測值曲線.可以看出預測精度兩者相差不大,MAPE 分別為0.0217 和0.1988,
GRU 神經網絡的收斂速度更快.為了減少訓練時間,本文選用GRU 神經網絡作為負荷的預測算法.
為了驗證本方法的先進性,以上海實際燃氣2010-2013 每年的真實負荷值作為實驗數據,將其劃分成300 個訓練數據和65 個測試數據.在進行預測之前,對數據采用LMD 算法進行信號分解,得到圖8和圖9所示的9 個分量,提高了數據的平滑性.
之后,對這些PF 分量進行小波閾值去噪處理得到有效的分量數據.將這些分量數據歸一化到(0,1)之間,并將它們進行劃分.本文采用M A T LA B 與python 兩種編程語言實現模型的構建.用MATLAB 實現局部均值分解以及小波閾值去噪部分的處理,之后將得到的數據導入python 進行預測操作,調用Keras 里的深度學習包對神經網絡進行建模.為了檢驗本方法的預測效果,將該方法與單一的GRU 神經網絡以及未進行去噪處理的組合算法進行對比,采用平均絕對誤差MAE、平均絕對百分比誤差MAPE 以及均方根誤差RMSE 作為評價指標.
分別采用GRU、LMD-GRU、WT-LMD-GRU 方法對測試數據進行預測,預測結果見圖15.其中,虛線表示真實負荷,其它曲線分別表示利用上述3 種預測模型預測得到的負荷預測值曲線.圖中可以看出:
(1)LMD-GRU 算法的擬合度高于單GRU 網絡;
(2)WT-LMD-GRU 網絡的擬合度高于LMDGRU 算法.

圖8 原始負荷曲線

圖9 PF分量

圖10 小波去噪

圖11 LMD 與GRU 組合模型
在運算時間上,由于單獨對各個PF 分量分別構建網絡進行訓練,訓練時間相比單一的GRU 網絡直接預測負荷較長.在算法復雜度方面,改進的LMD 算法和小波閾值去噪計算簡單,對于整個預測模型來說影響不大.
將三種方法的預測值與實際值的誤差根據評價指標,如表1所示:表中可以看出本文提出的方法在預測精度上高于傳統算法.表中將LMD 算法與GRU 神經網絡結合比單一的GRU 網絡預測精度更好,圖8中可以看出LMD 算法將原始數據從高頻到低頻的信號分解處理,讓數據更加平滑,更容易學習數據的潛在特征.然而,由于噪聲數據的影響,導致數據在高頻去的預測效果較差,影響整體預測精度,利用小波閾值去噪對PF 分量進行處理,使得閾值的確定較為容易,有效數據含量更高,預測效果更好.

圖12 LSTM 結構
本文提出一種改進的LMD 算法與GRU 神經網絡結合的短期燃氣負荷預測方法,該方法利用牛頓插值法代替滑動平均法改進LMD 算法,對負荷數據進行分解,避免了傳統算法過平滑的問題.之后,利用小波閾值去噪對分解出的PF 分量進行去噪處理,研究表明,在分解后去噪比分解去噪的效果更好,閾值函數的確定更為簡單.最后,將處理后的PF 分量分別輸入GRU 網絡中進行預測,將所有預測結果相加得到最終預測值.

圖13 LSTM 與GRU 的收斂速度對比

圖14 LSTM 與GRU 精度對比

圖15 3 種模型對比

表1 預測誤差指標
通過實驗對比分析,本文提出的方法較傳統方法具有優越性,預測精度更高.但是,該方法同樣存在訓練時間長,參數多的問題.在之后的研究中,重點將放在網絡參數優化以及多維輸入可行性方向.