牟天蔚 蔣白懿 沈丹玉 趙明
摘要:供水量預All是建立管網(wǎng)水力模型的前提,為提高供水管網(wǎng)模型精度,提出一種基于深度學習框架的小波深度信念網(wǎng)絡(SW-DBN)時間序列模型。該模型首先通過Symlets小波對日供水量數(shù)據(jù)進行分解,然后將各分解項分別導入SW-DBN時間序列模型中進行訓練,最后利用訓練的模型進行預測。以新開河2014-2015年日供水量為訓練數(shù)據(jù),2016年1月1-7日供水量為測試數(shù)據(jù),導入該模型進行預測。依據(jù)該測試方法對其后200d的供水量進行預測,結果表明:該模型用于日供水量預測比深度信念網(wǎng)絡模型及傳統(tǒng)BP神經(jīng)網(wǎng)絡模型精度高,相對誤差均小于5%,是一種有效的方式。
關鍵詞:深度信念網(wǎng)絡模型;深度學習框架;Symlets小波;日供水量
中圖分類號:TV213.4 文獻標志碼:A Doi:10.3969/j.issn.1000-1379.2018.09.014
隨著經(jīng)濟社會發(fā)展,居民的用水需求量不斷增大,供水部門為保障供水,應對城市供水量進行統(tǒng)計、分析及預測。供水量預測分為短期預測、中期預測、長期預測3類[1],日供水量預測屬于短期預測。目前,大量成熟的短期預測模型得以應用。鮑燕寒川通過混沌時間序列模型對城市日供水量成功進行預測,但其缺點是不能完全適應供水量值的波動;陸志波等[2]通過自回歸積分滑動平均模型和BP神經(jīng)網(wǎng)絡模型對人均生活用水量進行預測,但該模型僅適用于小樣本數(shù)據(jù)預測,且準確性有待提高;李斌等[3]通過灰色神經(jīng)網(wǎng)絡組合模型對需水量進行預測,雖然準確性有所提高,但對大樣本適應性仍然較差。近年來,深度學習框架被廣泛應用于分類、預測、診斷問題中,其中深度信念網(wǎng)絡(DBN)、卷積神經(jīng)網(wǎng)絡(CNN)較為常見,相比BP模型,DBN模型對大樣本預測具有精度高、耗時少等特點[4]。Z.Y.Wn等[5]運用DBN模型對日用水量進行預測,但經(jīng)測試,對于波動性大的歷史數(shù)據(jù)樣本仍無法適應。T.E.G.Swee等[6]運用Symlets小波對數(shù)據(jù)進行分解后,成功地解決了大波動樣本預測的問題,但目前暫無案例將小波分解應用于深度學習框架之中。
筆者在深度信念網(wǎng)絡基礎上,結合Symlets小波模型,提出一種小波深度信念網(wǎng)絡時間序列模型,對日供水量進行預測,以期達到適應大樣本預測、提高預測精度的目的。
1 預測原理
1.1 計算原理
小波深度信念網(wǎng)絡模型(SW-DBN)是Symlets小波與深度信念網(wǎng)絡(DBN)組合的模型,通過Symlets小波將日供水量訓練樣本分解為趨勢項、周期項、隨機項,并運用分解結果對DBN模型進行訓練,最后通過擬合模型對測試樣本進行預測并進行誤差分析。
1.2 Symlets小波模型
Symlets小波又稱Daubechies近似對稱小波,通常寫作Sym N(N為階數(shù),N=2,3,…,n),是一種具有有限緊支撐、近似對稱性質的雙正交小波[7]。
matlab小波工具箱是通過高通、低通分解濾波器及重構濾波器來進行分解與重構數(shù)據(jù)的,其中:分解濾波器可將原始數(shù)據(jù)序列分解為平均與細節(jié)信息,重構濾波器可將分解的信息還原并去除原始數(shù)據(jù)的噪聲。濾波器的階數(shù)N越高,小波函數(shù)的平滑度越高;分解級數(shù)越高,重要信息越突出。但是,過高的階數(shù)與級數(shù)會導致信息的丟失,因此選擇合適的階數(shù)、級數(shù)是非常重要的。日供水量時間序列歷史數(shù)據(jù)一般為非平穩(wěn)時間序列,可分解為趨勢項、周期項和隨機項。研究表明,利用Sym8小波的濾波器分解10級的效果較好[4]Sym8的4種濾波器如圖1所示,濾波器長度為16,根據(jù)文獻[8]可知,各濾波器的系數(shù)分別如下。
低通分解濾波器:
Lo_D=[-0.003,-0.001,0.032,0.008,-0.143,-0.061,0.481,0.777,0.364,-0.052,-0.027,0.049,0.004,-0.015,0.000,0.002]
低通重構濾波器:
Lo_R=[0.002,0.000,-0.015,0.004,0.049,-0.027,-0.052,0.364,0.777,0.481,-0.061,-0.143,0.008,0.032,-0.001,-0.003]
高通分解濾波器:
Hi_D=[-0.002,0.000,0.015,0.004,-0.049,-0.027,0.052,0.364,-0.777,0.481,0.061,-0.143,-0.008,0.032,0.001,-0.003]
高通重構濾波器:
Hi_R=[-0.003,0.001,0.032,-0.008,-0.143,0.061,0.481,-0.777,0.364,0.052,-0.027,-0.049,0.004,0.015,0.000,-0.002]
在確定分解的級數(shù)后,通過低通、高通分解濾波器,將日供水量原始數(shù)據(jù)分解,再分別進行下抽樣運算,得到第一級的平均、細節(jié)部分的分解信息,然后運用濾波器,對上一級再次分解,遞歸計算,直至達到分解級數(shù)為止,即可獲得各級分解的平均與細節(jié)信息。重構是分解的逆過程,通過重構低通、高通濾波器,對低頻系數(shù)、高頻系數(shù)分別進行上抽樣,直至重構到趨勢、周期規(guī)律明顯的級數(shù)為止,即可獲得去除噪聲的數(shù)據(jù)。
1.3 深度信念網(wǎng)絡(DBN)預測模型
DBN模型是由G.E.Hinton[9]提出的一種由隱含層與可視層組成的雙層結構模型——限制波爾茲曼機模型(RBM),如圖2所示。
RBM模型有高斯-伯努利、伯努利-伯努利、高斯-高斯3種類型。Z.Y.Wu等[5]運用高斯一伯努利模型解決了日供水量預測問題,其能量方程為式中:ωij為第j隱含層與第i可視層之間的權重;ai為可視層節(jié)點i的偏移量;bj為隱含層節(jié)點j的偏移量;νi為第i可視層的值,即輸入變量的值;hj為第j隱含層的值;σi為可視層νi對應的高斯噪聲的標準差。
RBM模型的核心部分在于向前傳播,即輸入數(shù)據(jù)在可視層與隱含層之間雙向傳播計算,假設每一個隱含層節(jié)點的取值都為0或1,即hj∈{0,1},令σi=1,當輸入數(shù)據(jù)為hj時,通過式(1)可推導出可視層vi取值為1的概率:式中:σ(x)為S型激活函數(shù),是隱含層對輸入變量的二級運算。
得到可視層取值為1的概率P(vi=1|h)后,隨機生成0~1之間的隨機數(shù)l,若l同理,可視層vi取值為0或1,可求出隱藏層hj取值為1的概率:
計算過程采用對比散度算法,將輸入變量賦予可視層神經(jīng)元vq,通過式(4)計算出每一隱含層神經(jīng)元的概率P(hj|vq),并采取吉布斯抽樣法抽取其中一個樣本P(hp1|vq),然后通過hp1重構可視層,采用式(2)計算每一個可視層神經(jīng)元的概率P(vi|hp1)。同理,抽取樣本P(vq1|hp1),通過vq1重構隱含層,得到P(hj|vq1),并抽取樣本P(hp2|vq1)。采用均方差公式,求出可視層v與P(vi=1|h)各神經(jīng)元之間的均方差:式中:J為計算誤差;K為可視層神經(jīng)元的個數(shù)。
最后通過樣本值反向傳播,更新權重,計算公式為
ωijθ=ωijθ-1+MΔωijθ-1+λiθ-1(C1-C2)(6)
bjθ=bjθ-1+MΔbjθ-1+γiθ-1[P(hj=1|vq1)-P(hj=1|vq2)]
(7)
λiθ=λiθ-1+MΔλiθ-1+λiθ-1[vi-P(vi=1|h)]
(8)式中:λi為學習速率;θ為迭代次數(shù);P(hj=1|vq1)、P(hj=1|vq2)分別為隱含層的兩次重構計算的結果;C1、C2分別為可視層vi與P(hj=1|vq1)、P(vi=1|h)與P(hj=1|vq2)的數(shù)組乘積;M為常數(shù)。
將RBM模型堆疊起來,下層的隱含層作為上層的可視層,并在最上方加人有向圖算法層(如BP算法),即可得到深度信念網(wǎng)絡(DBN)模型,如圖3所示。
1.4 預測步驟
利用Symlets小波模型對歷史日供水量數(shù)據(jù)進行分解,并采用DBN模型(見圖4)進行預測,主要步驟如下。
(1)將水廠日供水量原始數(shù)據(jù)載入Matlab中,并進行歸一化處理。
(2)將階數(shù)設定為N=8,應用Matlab小波工具箱中的Sym N函數(shù),對原始數(shù)據(jù)進行分解。
(3)從高頻項中篩選出趨勢項a,從低頻項中篩選出周期項d,其余項之和作為隨機項r。
(4)將分解各項以第t日的前k個時刻數(shù)據(jù)作為輸入變量,t時刻數(shù)據(jù)為輸出變量,代入DBN模型中進行訓練,表達式為
y(t)=F[y(t-1),y(t-2),…,y(t-k)](9)式中:y(t)為t日各分解項的值;k為時間序列長度,為一常數(shù)值;F[y(t-1),y(t-2),…,y(t-k)]為輸入變量與輸出變量的映射。
(5)充分訓練第一個RBM模型,直到模型的輸出數(shù)據(jù)誤差小于給定值為止。
(6)固定第一個RBM模型的權重值與偏移量,將第一個隱含層神經(jīng)元作為第二個RBM模型的輸入變量,對第二個RBM模型子層同樣訓練,并堆疊到上一個RBM層上,重復以上步驟進行多次RBM堆疊。在最頂層的RBM模型訓練時,該RBM模型的可視層中除了可視層神經(jīng)元外,加入有代表標簽(輸出變量)的神經(jīng)元,一起進行訓練,即可視層神經(jīng)元包含輸入變量和輸出變量,最后加人3層BP全連接層,并使最后一層RBM為輸入層,整個計算過程為無監(jiān)督訓練。
(7)使用輸出的標簽作為樣本進行有監(jiān)督訓練,為更好地對供水量數(shù)據(jù)進行處理,運用BP模型的有向圖算法進行反向傳播計算。
(8)將分解后的新數(shù)據(jù)代入式(9)進行預測,并累計求和、還原。
(9)進行誤差分析,符合要求則結束,否則返回步驟(4)。
2 實例分析
以新開河2014-2015年日供水量數(shù)據(jù)為訓練數(shù)據(jù)、2016年1月1-7日供水量數(shù)據(jù)為測試數(shù)據(jù),運用Matlab 2016a編寫SW-DBN模型計算程序。首先將2014年1月1日-2016年1月7日共737d的供水量數(shù)據(jù)(見圖5)導入Madab中。
設定分解層數(shù)為10,運用Sym8小波對數(shù)據(jù)分解并進行重構,得出低通第十級重構為趨勢項、高通第八級重構為周期項,其余項之和作為隨機項,見圖6~圖8。
其次,對分解后的3項訓練數(shù)據(jù)分別進行歸一化處理,令式(9)中k=8,轉換數(shù)據(jù)為時間序列格式,并導入數(shù)據(jù)對DBN模型進行訓練,其中RBM模型共3層,分別包含32、28、24個神經(jīng)元。在第三可視層上面加人輸出變量作為標簽,最后通過3層全連接層計算,其中隱含層神經(jīng)元個數(shù)為16,然后進行有監(jiān)督反向傳播得出分解項結果,最后對各項結果求和,獲得擬合模型。對測試數(shù)據(jù)進行歸一化處理并代入擬合模型,求出預測結果,并與真實結果對比(見圖9),可知相對誤差均在5%以內,符合精度要求。
利用DBN模型、傳統(tǒng)BP神經(jīng)網(wǎng)絡模型分別進行預測,并將預測結果與SW-DBN模型進行比較。DBN模型中RBM隱含層的神經(jīng)元數(shù)量與SW-DBN模型的相同;BP模型共有3層神經(jīng)元,其中隱含層神經(jīng)元數(shù)量與SW-DBN模型的相同。預測結果及相對誤差見表1。
由表1可以看出,SW-DBN模型比BP模型、DBN模型精度均高,其相對誤差最大值為3.29%,小于BP模型的4.63%及DBN模型的3.56%。為進一步比較模型的精度,采用平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)對模型進行評價[8],結果見表2??芍?,SW-DBN模型的MAE,MAPE均小于BP模型與DBN模型的。
為更好地檢驗SW-DBN模型的精度,以2016年1月8日一7月25日200 d的供水量數(shù)據(jù)作為測試數(shù)據(jù)進行檢驗。首先對模型進行訓練,然后將1月1-7日數(shù)據(jù)加人原始數(shù)據(jù)中,對8-14日的7d數(shù)據(jù)進行預測,之后把8-14日的真實數(shù)據(jù)加人原始數(shù)據(jù)中,預測接下來的7d,依此類推。預測結果見圖10,預測值相對誤差最大僅為3.06%,精度較高。
3 結語
采用小波深度信念網(wǎng)絡(SW-DBN)時間序列模型對新開河的日供水量進行預測,結果表明:預測值相對誤差均小于5%,滿足精度要求。通過與DBN及BP神經(jīng)網(wǎng)絡模型的預測結果對比,SW-DBN模型最大相對誤差、MAE與MAPS均有所減小。因此,SW-DBN模型可有效提高城市日供水量預測精度。
參考文獻:
[1]鮑燕寒.城市用水量預測研究[D].合肥:合肥工業(yè)大學,2010:3-5.
[2]陸志波,陸雍森,王娟.ARIMA模型在人均生活用水量預測中的應用[J].給水排水,2005,31(10):97-101.
[3]李斌,許仕榮,柏光明,等.灰色-神經(jīng)網(wǎng)絡組合模型預測城市用水量[J].中國給水排水,2002,18(2):66-68.
[4]HINTON G E.A Practical Guide to Training Restricted Bolt-zmann Machines[J].Momentum,2012,9(1):599-619.
[5]WUZY,RAHMAN A.Optimized Deep Learning Frameworkfor Water Distribution Data-Driven Modeling[J].ProcediaEngineering,2017,186:261-268.
[6]SWEE T E G,ELANGOVAN S.Applications of Symlets forDenoising and Load Forecasting[C]//IEEE ComputerSociety.Proceedings of the IEEE Signal ProcessingWorkshop on Higher-Order Statistics.Madison,USA:Tech-nical Communication Services,1999:165-169.
[7]李中偉,程麗,佟為明.Symlets小波幅值算法研究[J].電力自動化設備, 2009,29(3):65-68.
[8]DAUBECHIES I.Ten Lectures on Wavelets[M].Edmonton:Capital City Press,1992:249-274.
[9]HTNTON G E.Training Products of Experts by MinimizingContrastive Divergence[J].Neural Computation,2002,14(8):1771-1800.