夏 巍,汪 石,梁祥瑩
(安徽建筑大學(xué) 電子與信息工程學(xué)院,安徽 合肥 230601)
城市供水管網(wǎng)的復(fù)雜程度隨現(xiàn)代化城市的人口高密度增長而增長。為確保居民的用水穩(wěn)定性,研究人員對供水管網(wǎng)的優(yōu)化調(diào)度開展了深入探索[1]。供水管網(wǎng)的流量預(yù)測可以作為管網(wǎng)優(yōu)化調(diào)度的依據(jù)?,F(xiàn)階段,城市供水管網(wǎng)的流量預(yù)測方法一般采用機(jī)器學(xué)習(xí)的算法[2-4],相對于傳統(tǒng)回歸分析方法,例如灰色模型[5]、自回歸滑動(dòng)[6],其預(yù)測精度更高、適用范圍也更廣。
城市供水管網(wǎng)流量數(shù)據(jù)作為典型的時(shí)序數(shù)列,具有良好的循環(huán)變動(dòng)特性。許多領(lǐng)域采用循環(huán) 神 經(jīng) 網(wǎng) 絡(luò)[7](Recurrent Neural Network,RNN)分析時(shí)序數(shù)列,都獲得了優(yōu)秀的成果[8-9]。目前,基于循環(huán)神經(jīng)網(wǎng)絡(luò)的城市供水管網(wǎng)的流量預(yù)測研究不多,而基于長短期記憶網(wǎng)絡(luò)(Long-Short Term Memory,LSTM)的日用水流量預(yù)測[10]已經(jīng)在單個(gè)節(jié)點(diǎn)流量預(yù)測中得到了較好的結(jié)果。循環(huán)門單元(Gated Recurrent Unit,GRU)[11]算 法 作 為LSTM的變種,在樣本數(shù)據(jù)較小的情況下具有更快的收斂速度以及較為優(yōu)秀的預(yù)測精度?;诖?,本文選擇GRU 算法,針對某市供水管網(wǎng)優(yōu)化調(diào)度系統(tǒng)的研究特點(diǎn),預(yù)測監(jiān)測節(jié)點(diǎn)的用水量。
現(xiàn)階段對供水管網(wǎng)節(jié)點(diǎn)用水量的預(yù)測研究,多對單個(gè)節(jié)點(diǎn)的24 h 或者更長的歷史數(shù)據(jù)來進(jìn)行分析擬合,以推斷下一天該節(jié)點(diǎn)的用水量[12-13]。這種方法對于單個(gè)節(jié)點(diǎn)的分析固然準(zhǔn)確,但模型的泛化能力較差性,缺乏普適性。
因此,本文從多個(gè)監(jiān)測節(jié)點(diǎn)的流量數(shù)據(jù)入手,以類似局部加權(quán)線性回歸的思路優(yōu)化GRU 網(wǎng)絡(luò),進(jìn)行基于多節(jié)點(diǎn)的流量預(yù)測研究,并利用某市供水管網(wǎng)監(jiān)測平臺(tái)2020 年9 月1 日至7 日的4 個(gè)監(jiān)測節(jié)點(diǎn)流量數(shù)據(jù)進(jìn)行驗(yàn)證,對比優(yōu)化前后的結(jié)果。
循環(huán)門單元(GRU)算法是LSTM 算法的一種變體,由于簡化了控制門的結(jié)構(gòu),使得其在數(shù)據(jù)量相對較小的情況下,具有更快的模型收斂速度。
如圖1 所示,不同于LSTM,GRU 模型只有重置門rt與更新門zt,其激活函數(shù)為Sigmod。前者用于控制來自前一狀態(tài)的ht-1,將其保留到ht上;后者用于將來自前一狀態(tài)的ht-1部分信息量載入當(dāng)前狀態(tài)。具體的計(jì)算方式如下:
圖1 t-1 狀態(tài)下的GRU 網(wǎng)絡(luò)示意圖Fig.1 Diagram of GRU network in t-1 state
式中,Wr,Wz,Wh為輸入至隱含層神經(jīng)元的權(quán)值,Wo為輸出層的權(quán)值,yt為當(dāng)前狀態(tài)下輸出層的真實(shí)輸出,ht為當(dāng)前狀態(tài)下傳遞至下一狀態(tài)的輸出,即RNN 中的隱藏狀態(tài)。
本文采用單層的GRU 網(wǎng)絡(luò)模型進(jìn)行流量預(yù)測,其架構(gòu)如圖2 所示。
圖2 單層GRU 網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.2 Single-layer GRU network structure
分析公式(1)~(3)發(fā)現(xiàn),對于當(dāng)前的輸入[ht-1,Xt],GRU 網(wǎng)絡(luò)中的權(quán)值Wr,Wz,Wh的更新規(guī)則以預(yù)測網(wǎng)絡(luò)的損失函數(shù)為基礎(chǔ),平等對待24 小時(shí)的流量數(shù)據(jù),忽略了實(shí)際生產(chǎn)生活中的用水規(guī)律。針對這一問題,本文以用水流量的相似性為基礎(chǔ),特化局部加權(quán)法,以優(yōu)化GRU。
顯然,流量數(shù)據(jù)ft、ft+24對應(yīng)著昨天與今天同一時(shí)刻的用水流量,在實(shí)際生活中兩個(gè)時(shí)刻的相似性較高;同樣地,流量數(shù)據(jù)ft與前后一小時(shí)ft-1、ft+1的用水流量也具有很高的相似性。但受制于設(shè)備的采集間隔,連續(xù)性的流量數(shù)據(jù)被分割為間隔一小時(shí)的離散數(shù)據(jù),極大降低了數(shù)據(jù)間的相似性,而采集間隔越短,這種相似性越高。那么,對應(yīng)(ti,fti)可應(yīng)用類似于局部加權(quán)線性回歸[14-15]中的權(quán)值函數(shù)計(jì)算方法。這種方法的核心思想為,越靠近中心點(diǎn)ti的點(diǎn),獲得的權(quán)值越大,對于預(yù)測的結(jié)果影響更大;反之,離中心點(diǎn)越遠(yuǎn)的點(diǎn)則權(quán)值越小、影響力越小。
為了提高模型的泛化能力,將三個(gè)監(jiān)測節(jié)點(diǎn)的流量數(shù)據(jù)作為訓(xùn)練樣本,依次載入模型進(jìn)行訓(xùn)練,并將另外一個(gè)監(jiān)測節(jié)點(diǎn)的數(shù)據(jù)作為測試樣本,用于驗(yàn)證模型。GRU 算法作為LSTM 算法的變種,其模型的輸入方式有著類似的模式,包括單維單步、單維多步、多維單步以及多維多步。由于多監(jiān)測節(jié)點(diǎn)模型的目的是提高其泛化能力,使網(wǎng)絡(luò)能夠適用于管網(wǎng)內(nèi)的任一監(jiān)測節(jié)點(diǎn),此處采用單維多步的模式訓(xùn)練模型。訓(xùn)練樣本的輸入格式為inputtrain=(f1,…,fi),i=504。建立模型的目的是預(yù)測單日節(jié)點(diǎn)的用水量,因此依據(jù)采樣周期,設(shè)置Timesteps=24,即用前24 小時(shí)的節(jié)點(diǎn)流量數(shù)據(jù)預(yù)測下一小時(shí)的流量。
本次研究采用python 編程語言,在Tensorflow、Keras 框架下構(gòu)建GRU 網(wǎng)絡(luò)模型。將Batchsize 設(shè)置為1,隱含層的神經(jīng)元數(shù)量設(shè)置為30,網(wǎng)絡(luò)的優(yōu)化器選擇adam 函數(shù)。所使用的數(shù)據(jù)皆取自某市供水管網(wǎng)監(jiān)測平臺(tái)采集的歷史數(shù)據(jù),包含城區(qū)工作區(qū)4 個(gè)監(jiān)測節(jié)點(diǎn)的一周流量數(shù)據(jù),數(shù)據(jù)采集周期為1小時(shí)。
將3 個(gè)監(jiān)測節(jié)點(diǎn)一周的數(shù)據(jù)作為訓(xùn)練樣本,另一監(jiān)測節(jié)點(diǎn)數(shù)據(jù)作為測試樣本。以當(dāng)前日流量數(shù)據(jù)為輸入;對應(yīng)的后一天流量數(shù)據(jù)為輸出。最終,在本實(shí)驗(yàn)中的輸入即為W×inputtrain;W×inputtest。
實(shí)驗(yàn)結(jié)果如圖3 所示。
圖3 兩種方法的流量預(yù)測結(jié)果Fig.3 Flow forecasting results of two methods
同時(shí)給出兩種模型的均方根誤差(RMSE)、平均絕對誤差(MAE)與平均相對誤差(MAPE),見表1。
表1 兩種預(yù)測模型的均方根誤差(RMSE)、平均絕對誤差(MAE)與平均相對誤差(MAPE)Tab.1 Root mean square error,mean absolute error and mean relative error of two prediction models
RMSE、MAE 與MAPE 都表明,改進(jìn)后的GRU預(yù)測模型比改進(jìn)前的預(yù)測效果更好、更可靠。分析圖3 可以看出,在多數(shù)時(shí)刻,兩種方法預(yù)測結(jié)果都實(shí)際值相近。但在用水量轉(zhuǎn)折的時(shí)候,改進(jìn)后的GRU 網(wǎng)絡(luò)的預(yù)測值在大多數(shù)情況下都比改進(jìn)之前更貼近實(shí)際值。這是由于改進(jìn)的GRU 網(wǎng)絡(luò)一定程度上放大了臨近時(shí)刻數(shù)據(jù)值的影響。不過,依舊存在部分轉(zhuǎn)折點(diǎn)的預(yù)測精度不夠良好,如第42、第72時(shí)刻。
預(yù)測結(jié)果的差異性以誤差頻次分布表示,給出兩種方法的預(yù)測誤差頻次分布圖如下:
觀察圖4 可以發(fā)現(xiàn),改進(jìn)后的GRU 網(wǎng)絡(luò),在80%的時(shí)刻內(nèi),預(yù)測誤差都在-10% ~ 10%范圍內(nèi),60%以上的誤差為-5% ~ 5%。而改進(jìn)前的GRU網(wǎng)絡(luò)的預(yù)測結(jié)果,結(jié)合圖3 分析知,在用水流量出現(xiàn)轉(zhuǎn)折時(shí),預(yù)測誤差較大,如在第25、42、72 時(shí)刻,甚至出現(xiàn)-40%、-60%的巨大誤差,而改進(jìn)后的GRU 將此誤差縮小了15%以上。也正是這些轉(zhuǎn)折處的較大預(yù)測誤差,導(dǎo)致了改進(jìn)前模型的誤差在-10%~10%以內(nèi)的頻次不及改進(jìn)后的模型,表明改進(jìn)后的模型對多節(jié)點(diǎn)訓(xùn)練的流量預(yù)測準(zhǔn)確性更高。
圖4 誤差分布直方圖Fig.4 Error distribution histogram
以流量相似性特化的局部加權(quán)回歸的權(quán)值函數(shù)優(yōu)化GRU 網(wǎng)絡(luò),在一定程度上提高了供水流量的預(yù)測準(zhǔn)確性。同時(shí),由于采用多個(gè)節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行學(xué)習(xí)和驗(yàn)證,雖然增加了訓(xùn)練時(shí)間,但較好地提高了模型的泛化能力,因而對管網(wǎng)流量預(yù)測具有更強(qiáng)的現(xiàn)實(shí)意義。
由于本文涉及項(xiàng)目的供水管網(wǎng)監(jiān)測系統(tǒng)數(shù)據(jù)采集節(jié)點(diǎn)的采集周期較長(1 小時(shí)),獲取兩個(gè)相鄰時(shí)刻的流量數(shù)據(jù)變化量較大,對預(yù)測的實(shí)時(shí)性和誤差存在一定的影響。但是這個(gè)問題可以通過調(diào)整數(shù)據(jù)采集節(jié)點(diǎn)的采集周期改善,進(jìn)一步提高本文所提模型的預(yù)測準(zhǔn)確性和精度。