李唯特,陳 宇,于忠清
(青島大學計算機科學技術(shù)學院,山東青島266071)
為了實現(xiàn)城市供水行業(yè)的規(guī)范管理以及高效運行,智慧供水應(yīng)運而生。智慧供水的基礎(chǔ)是對供水量的準確預測。城市供水量的短期預測,目的是了解未來的供水管網(wǎng)狀況,從而進一步指導各種實際的決策,如供水調(diào)度,壓力設(shè)定,以及管網(wǎng)漏損等。實現(xiàn)準確的供水量預測不僅可以滿足城市的用水需求,還可以降低供水的成本。然而,影響城市供水量的因素很多,具有不確定性和強隨機性,其數(shù)據(jù)是非線性且非平穩(wěn)的時間序列,因此,對于城市供水量的準確預測不是一件容易的事。
近年來,對于供水量預測,國內(nèi)外學者進行了大量的相關(guān)研究,主要有傳統(tǒng)預測方法(回歸分析,ARIMA)和新型預測方法(人工神經(jīng)網(wǎng)絡(luò),組合模型)等[1]。張倩等[2]建立了基于灰色預測模型和線性回歸預測的需水量組合模型,將單個模型與建立的組合模型進行了對比,組合預測模型的誤差小很多。Murat等人[3]提出的利用ARIMA 構(gòu)建時間序列模型預測城市水的需求和供應(yīng)也得到了較好的效果,但其忽略了外部變量的影響。顧熹等人[4]提出了一種結(jié)合多變量相空間重構(gòu)和高斯過程回歸的短期負荷預測方法,該方法沒有考慮到負荷序列的多尺度特征。王亮等人[5]提出了一種基于粒子群優(yōu)化的城市日用水量預測方法,優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)運算速度,泛化能力以及預測精度都得到了一定的提高。Salvatore 等人[6]在不考慮其他影響因素的情況下使用不同的小波基結(jié)合人工神經(jīng)網(wǎng)絡(luò)去預測未來幾個月的用水量,結(jié)果表明通過小波分解可以提高預測精度。
為了獲得高精度和高效率的城市供水量預測模型,本文提出了一種基于小波分解結(jié)合人工蜂群算法優(yōu)化的多變量門控循環(huán)單元(WD-ABC-MGRU)模型來預測城市日供水量。該方法綜合了上述研究方法的優(yōu)點,克服了單一方法的缺點和局限性,不僅考慮了供水量序列數(shù)據(jù)的不平穩(wěn)性,利用小波分解充分挖掘多尺度序列特征,還考慮了供水量強相關(guān)影響因素并進行相空間重構(gòu),并且用人工蜂群優(yōu)化算法對模型的超參數(shù)進行了優(yōu)化,使預測更加精準。通過對某市供水量進行分析預測,實驗結(jié)果表明該方法用于城市日供水量預測的有效性,具有較好的實用價值。
小波變換可以將非平穩(wěn)時間序列分解成具有不同頻域的多個子序列,小波分解與重構(gòu)是其核心。Mallat[7]提出了一種易于實現(xiàn)且計算較少的多尺度分析算法。時間序列X={xi|i=1,2,…,k}的離散小波變換函數(shù)為
式中:a和b分別決定小波伸縮和平移的幅度;Wf是特定子序列的小波系數(shù);ψ是小波基函數(shù)。
在式(1)中,Wf應(yīng)用下采樣,以使用低通濾波器LP(ψ(i))獲得第n層的近似(低頻)系數(shù)cAi,并使用高通濾波器HP(ψ(i)))獲得n層的細節(jié)(高頻)系數(shù)cDi。原始信號的計算如式(2),其中i= 1,2,…,n。
城市供水量數(shù)據(jù)有著非平穩(wěn)且隨機性強的特點,利用小波分解和重構(gòu)可以將其處理為多層較為平穩(wěn)的低頻分量和高頻分量,從而能夠更好地分析供水量數(shù)據(jù)。3 層小波分解及重構(gòu)其過程見圖1。
圖1 小波分解(左)與重構(gòu)(右)示意圖Fig.1 Schematic diagram of wavelet decomposition(left)and reconstruction(right)
通過小波分解對時間序列在不同尺度上進行分解,從而將原始時間序列X 分解成為低頻系數(shù)cAi和高頻系數(shù)cDi兩部分。然后通過系數(shù)重構(gòu)從低頻系數(shù)中得到與原始時間序列的低頻分量Ai,從高頻系數(shù)中得到原始時間序列的高頻分量Di,重構(gòu)系數(shù)后的每個分量長度與原始時間序列長度相同,對分量進行相應(yīng)處理后進行直接求和得到新的序列X,計算方法如式(3),這種方法可以提高原始時間序列數(shù)據(jù)的預測精度[8]。
ABC 算法是一種模擬蜜蜂覓食行為的優(yōu)化算法,屬于較為簡單且靈活的一種群優(yōu)化算法,由Karaboga[9]于2005年提出。ABC 算法是解決復雜非線性優(yōu)化問題的有效方法,有研究證明在尋找多變量函數(shù)最值方面優(yōu)于遺傳算法、粒子群優(yōu)化算法和其他一些群優(yōu)化算法。該算法包括三種蜜蜂,第一種是雇傭蜂,與蜜源相對應(yīng)并在蜜源領(lǐng)域內(nèi)搜索。第二種是觀察蜂,通過觀察雇傭蜂的舞蹈來選擇蜜源。第三種是偵查蜂,如果蜜源多次更新沒有改進,則放棄該蜜源,雇傭蜂轉(zhuǎn)為偵查蜂隨機尋找新蜜源,其流程圖見圖2。
圖2 人工蜂群算法流程圖Fig.2 Artificial bee colony algorithm flow chart
ABC算法蜜源位置(問題初始解)可以定義為式(4)。
其中i= 1,…,N,j= 1,…,D。參數(shù)N和D分別為蜜源數(shù)量和變量數(shù)量。式(5)表示算法在xk區(qū)域中生成的新解vjk。
其中φjk和xjk代表隨機數(shù)的均勻分布和第k個參數(shù)的解集中的第j個解。在這些條件下,如果新的解適應(yīng)度更強,它將取代之前的解。隨后,偵查蜂使用式(6)為每個蜜蜂選擇一個解決方案以及計算可能性,將從這些解中選出最合適的結(jié)果。
門控循環(huán)單元(GRU)具有循環(huán)神經(jīng)網(wǎng)絡(luò)的門控機制,由Kyunghyun Cho[10]等人于2014年提出。GRU 是長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)的變體,和LSTM 一樣,GRU 也主要用于解決典型神經(jīng)網(wǎng)絡(luò)中的“梯度消失”問題,從而改進網(wǎng)絡(luò)中長期依賴關(guān)系的學習。
GRU 層沒有獨立的存儲單元,也沒有單獨的遺忘門。由于GRU 的參數(shù)比LSTM 的少,設(shè)計更簡單,因此GRU 是一個更輕量級的模型,訓練更快,GRU 在某些較小且頻率較低的數(shù)據(jù)集上表現(xiàn)出更好的性能[11]。其典型的GRU單元圖見圖3。
圖3 GRU基本結(jié)構(gòu)Fig.3 Basic structure of GRU
根據(jù)式(7)和(8),rt和zt分別為重置門和更新門,激活函數(shù)σ將值壓縮到[0,1],從而獲得門控信號。對于式(9)表示當前時刻的候選狀態(tài),由重置門rt決定,而對于式(10),ht為當前隱藏狀態(tài),根據(jù)更新門對上一時刻隱藏狀態(tài)ht-1和當前候選狀態(tài)來確定當前隱藏狀態(tài)ht。更新公式同時進行了遺忘和記憶兩個步驟,門控信號z的范圍為[0,1]。z越接近1,代表記憶下來的數(shù)據(jù)越多;而越接近0 則代表遺忘得越多。這一步操作就是忘記ht-1中的某些信息,并加入當前時刻的某些信息。
以相關(guān)影響因素為輸入的BP 神經(jīng)網(wǎng)絡(luò)無法考慮時序變化規(guī)律,以單變量為輸入的時間序列模型效果較好,而將多種相關(guān)影響因素與時間依賴關(guān)系結(jié)合可以得到更好的模型[12]。供水量不僅受多種外部影響因素,其自身有一定的周期性,而且還存在著多尺度時序特征。針對多尺度時序特征,采用小波分解和系數(shù)重構(gòu)可以增加對時序數(shù)據(jù)細節(jié)信息的利用,提高預測精度[13]。
考慮到受多種外部因素影響,采用多變量GRU 模型(MGRU)。MGRU 模型的一些超參數(shù)可以影響模型的收斂速度和效果,比如隱藏層的神經(jīng)元個數(shù)、dropout、epochs 和batch_size等。這些參數(shù)可以通過ABC 算法來進行優(yōu)化,優(yōu)化后得到的參數(shù)來獲得最優(yōu)的模型以獲得精確的預測結(jié)果。因此,本文提出了以一種基于小波分解的人工蜂群優(yōu)化多變量門控循環(huán)單元模型,即WD-ABC-MGRU 模型。
WD-ABC-MGRU 模型流程圖見圖4,其具體步驟如下:
圖4 WD-ABC-MGRU模型流程圖Fig.4 WD-ABC-MGRU model flow chart
步驟1:首先對日供水量數(shù)據(jù)進行小波分解,然后對其系數(shù)重構(gòu),得到供水量數(shù)據(jù)分量;
步驟2:將供水量數(shù)據(jù)分量與其影響因素數(shù)據(jù)進行結(jié)合并根據(jù)相空間重構(gòu)做數(shù)據(jù)格式轉(zhuǎn)換處理,加載訓練集;
步驟3:初始化蜂群算法參數(shù),確定所需要優(yōu)化的MGRU 超參數(shù)并給出搜索范圍,然后在范圍內(nèi)隨機產(chǎn)生初始解(蜜源,也就是超參數(shù)組合);
步驟4:用初始解進行MGRU 模型訓練,然后用訓練集和驗證集的均方根誤差RMSE 平均值[14]評估每個初始解的適應(yīng)度(尋找最小適應(yīng)度),計算公式如下:
式中:m,n分別為訓練集和驗證集樣本數(shù);ytrain,分別為訓練集真實值和預測值;yval,分別為驗證集真實值和預測值;
步驟5:對于每一個雇傭蜂在鄰域搜索產(chǎn)生新的解并計算適應(yīng)度,用貪婪算法:如果新的解優(yōu)于先前的解則改變,否則保留不變;
步驟6:計算蜜源的概率;
步驟7:對于每個觀察蜂按照概率選擇解,然后進行搜索產(chǎn)生新解并計算適應(yīng)度,用貪婪算法:如果新的解優(yōu)于先前的解則改變,否則保留不變;
步驟8:判斷是否有需要放棄的解,若有,則用偵查蜂產(chǎn)生的新解來替換;
步驟9:記錄當前最優(yōu)解(最小RMSE所對應(yīng)的MGRU 超參數(shù)組合);
步驟10:判斷是否滿足循環(huán)終止條件,若滿足,循環(huán)結(jié)束,否則返回步驟4繼續(xù)搜索;
步驟11:將各分量的預測結(jié)果求和得到最終預測的日供水量。
本文數(shù)據(jù)來自某市2017年11月至2019年12月近兩年的日供水量數(shù)據(jù),對于個別缺失數(shù)據(jù)采用均值、中位數(shù)和眾數(shù)等進行填補。
根據(jù)3σ準則,數(shù)值分布在(μ- 3σ,μ+ 3σ)中的概率為0.997 3,超出這個區(qū)間范圍的數(shù)據(jù)為異常值,應(yīng)對其進行處理。本文對于供水量數(shù)據(jù)中異常數(shù)據(jù)采用3σ準則進行檢測,然后采用和個別缺失數(shù)據(jù)同樣的方法進行填補。最終的日供水量序列數(shù)據(jù)見圖5。
圖5 處理后的日供水量序列Fig.5 Daily water supply sequence after treatment
對于供水量預測有很多氣象影響因素,所獲取的氣象數(shù)據(jù)包括氣溫,降水量,風速,日照時數(shù),相對濕度,氣壓等特征。供水量大小也存在節(jié)假日效應(yīng),因此供水量分析考慮是否節(jié)假日這一影響因素是有必要的。對每個樣本所屬日期判定是否為節(jié)假日,工作日設(shè)為0,周末為1,法定節(jié)假日為2。
皮爾遜相關(guān)系數(shù)是在[-1,1]范圍內(nèi)的兩個變量之間線性相關(guān)性的度量。其公式如下:r 值為正數(shù)表示正相關(guān),為負數(shù)表示負相關(guān),越接近1或-1表示線性相關(guān)性越強,而0表示沒有線性關(guān)系。
本文采用皮爾遜相關(guān)系數(shù)評估選取相關(guān)性大的特征用于進行預測。具體結(jié)果見圖6,最終選取最低氣溫,最高氣溫和平均氣溫以及節(jié)假日作為主要特征。由于上述數(shù)據(jù)的特征之間量綱不同,會影響分析的結(jié)果,為了消除量綱影響,對其進行歸一化處理,處理后各數(shù)據(jù)特征處于同一量級,可以提升模型的收斂速度和精度。
圖6 供水量影響因素相關(guān)系數(shù)分析Fig.6 Correlation coefficient analysis of influencing factors of water supply
小波分解需要先確定小波基函數(shù)和分解尺度,由于各個小波基函數(shù)性能不同,且其分解尺度不同,對于復雜的供水量序列選取到最佳的小波基函數(shù)和分解尺度是非常重要的。
為了降低重構(gòu)誤差對所提出方法的影響,本文選取幾種常見的小波基函數(shù)和不同的分解尺度,分別計算其重構(gòu)誤差。最終得到最佳分解效果(最小重構(gòu)誤差)所對應(yīng)的小波基函數(shù)為db2,分解層數(shù)為3。見圖7(a),為分解后得到的1 個低頻(近似)分量和3個高頻(細節(jié))分量。對這些分量進行系數(shù)重構(gòu)[見圖7(b)],然后將其直接加和就可以得到小波分解和重構(gòu)后的供水序列。
圖7 日供水量數(shù)據(jù)經(jīng)過小波分解和系數(shù)重構(gòu)Fig.7 Daily water supply data undergoes wavelet decomposition and coefficient reconstruction
多變量供水量序列存在混沌特性,可以通過相空間重構(gòu)從數(shù)據(jù)中提取原有動力學特性,減少信息丟失。本文通過C-C 方法對多變量供水量序列數(shù)據(jù)重構(gòu)相空間,得到嵌入維數(shù)n為7,延遲時間τ為1。對于不同的模型,其輸入數(shù)據(jù)格式不同,需要將全市日供水量數(shù)據(jù)和上述分析所選取的影響因素進行數(shù)據(jù)格式轉(zhuǎn)換,將數(shù)據(jù)集轉(zhuǎn)化為監(jiān)督學習數(shù)據(jù)集,處理后的格式見表1。
表1 數(shù)據(jù)格式轉(zhuǎn)換Tab.1 Data format conversion
表1 中將其格式轉(zhuǎn)換后的數(shù)據(jù)按照6∶2∶2 劃分為訓練集,驗證集,測試集。
經(jīng)過多次實驗結(jié)果對比分析,MGRU 模型考慮了多變量的影響因素,效果比GRU 模型效果好,而WD-MGRU 不僅考慮了多變量因素并進行相空間重構(gòu),又考慮了供水量數(shù)據(jù)中的多尺度序列結(jié)構(gòu)特征,其效果優(yōu)于MGRU。過程中發(fā)現(xiàn)WD-MGRU層數(shù)為3 時結(jié)果較好,故MGRU 層數(shù)設(shè)置為3,然后通過1.4 中所介紹的WD-ABC-MGRU 算法模型對其超參數(shù)進行優(yōu)化,具體結(jié)果見表2,其中unitsi為第i個MGRU 層的神經(jīng)元個數(shù),batch_size為一次訓練的樣本數(shù),epochs為數(shù)據(jù)集參與訓練的次數(shù),dropout為單元的丟棄比例,lr為學習率。
表2 WD-ABC-MGRU模型超參數(shù)搜索范圍和結(jié)果Tab.2 WD-ABC-MGRU model hyperparameter search range and results
為了驗證該模型對城市供水量預測的優(yōu)勢性,使用上表中優(yōu)化后的超參數(shù)對相空間重構(gòu)后的各供水量分量(A3,D1,D2,D3)進行預測,其結(jié)果加和得到預測的供水量。將最終的WDABC-MGRU 模型與GRU,MGRU,WD-MGRU,WD-ABC-BP 模型結(jié)果進行對比評估,其測試集對應(yīng)的真實值和預測值對比見圖8。
圖8 5種模型真實值和預測值對比Fig.8 Comparison of the true and predicted values of the five models
以上5種模型的模型評估結(jié)果見表3。
表3 五種模型評估指標對比Tab.3 Comparison of evaluation indicators of four models
通過以上分析,WD-ABC-MGRU 模型預測結(jié)果的各項評估指標都優(yōu)于其他模型,其RMSE和MAPE僅為GRU 的30%左右,R2達到0.87,供水量數(shù)據(jù)的擬合程度最優(yōu),預測效果最好。
GRU 模型雖然可以解決梯度消失和梯度爆炸的問題,由于只考慮了供水量時間序列,沒能考慮其他相關(guān)影響因素對供水量的影響,所以預測值與真實值相差較大。而對于MGRU 考慮了多種相關(guān)影響因素,采用多變量時間序列降低了一定的誤差。WD-MGRU 因為對供水量序列進行了多尺度分解,充分挖掘了供水量序列的不同尺度的特征,誤差得到了進一步的降低。WD-ABC-BP 雖然考慮了多尺度分解并進行參數(shù)尋優(yōu),但是沒有考慮供水量數(shù)據(jù)存在的時序特征。WD-ABC-MGRU 模型結(jié)合了以上模型的優(yōu)點,不僅解決了神經(jīng)網(wǎng)絡(luò)中出現(xiàn)的梯度消失和梯度爆炸的問題,還考慮了其他多種相關(guān)影響因素的時間序列,再加上用ABC優(yōu)化算法對WD-MGRU 中的MGRU超參數(shù)進行尋優(yōu),得到了更好預測效果的模型,且有較高的可靠性。
本文提出了基于小波分解的人工蜂群優(yōu)化多變量門控循環(huán)單元模型(WD-ABC-MGRU),對日供水量進行模擬預測實驗。首先采用皮爾遜相關(guān)系數(shù)進行分析,確定了與日供水量有較強相關(guān)性的影響因素。然后使用db2小波對日供水量進行分解與重構(gòu),其分解尺度為3 時,重構(gòu)誤差最小,保證實驗的有效性的前提下,挖掘出了日供水量不同尺度的特征。將小波分解后的日供水量分量與其他影響因素結(jié)合并進行相空間重構(gòu),作為MGRU 的輸入,再用ABC 優(yōu)化算法對MGRU 的超參數(shù)進行尋優(yōu),得到更好預測效果的模型。WD-ABC-MGRU 結(jié)合了多尺度多變量和自動化調(diào)參的優(yōu)點,結(jié)果表明其模型預測效果比GRU,MGRU,WD-MGRU,WD-ABC-BP 更好,對日供水量預測精度更高,可以更好地對水廠決策進行指導。然而實驗僅用了一個地方的供水量數(shù)據(jù),研究結(jié)論是否通用仍需大量實驗驗證。因此,在以后的研究中,還需要應(yīng)用于更多場景,以驗證方法的通用性。□