劉 鑫,桑學鋒,常家軒,李子恒
(1.華北水利水電大學水利學院,鄭州450046;2.中國水利水電科學研究院,水資源管理研究室,北京100038)
作為粵港澳大灣區的核心引擎,深圳是一座充滿活力和創新力的新型大都市,流動人口是深圳的顯著特征。深圳也具有很好的營商環境,孕育出華為、平安、招商、騰訊等一批具有國際競爭力的企業,創業密度位于全國前列,吸引了很多人員來深圳就業。
但是深圳本地水資源匱乏,全市無大江大河。小河流雖然多分布廣,但干流短,河流徑流量小,導致水庫自產水量少,因此,深圳供水主要依靠境外引水,每年境外引水量約為地表水供水量的85%。受年度引水指標限制,取水量有限,再加上廣東省供水壓力的逐年增長,深圳每年的引水指標一直受到廣東省政府的限制。而水源單位在上報下一年度的用水計劃時無法有效預測下一年的需水,導致上報數據質量較差,這也導致年度引水計劃無法有效制定。因此,能夠準確預測每個水廠及行政區的需水情況將對深圳制定年度引水計劃具有重大意義。
目前,針對單變量的預測常用回歸[1,2]與時間序列法[3-5]。吳澤寧等[6]采用回歸分析法結合區間估計理論,改善了需水預測結果的偏差問題。VONK 等[7]建立基于氣象參數和休假情況的支持向量回歸模型進行日需水量的預測。李析男等[8]構建居民生活需水定額的時間序列模型,在交叉驗證中都具有較高的Nash 效率系數。潘扎榮等[9]利用時間序列法及聚類分析等對河道內生態需水進行時空特征解析。DE 等[10]對比回歸及時間序列等方法,指出在水需求預測方面仍有改進的余地。
通過大量實驗發現回歸模型并不能有效學習到水廠供水的周期性、趨勢性及波動性,在預測時很難將過去的規律進行延伸,且容易生成偽回歸方程[11,12],從而導致預測失真。時間序列模型雖然可以學習到過去的規律,但是由于序列的非平穩特性在進行長期預測時,預測值以線性填充或者以平均值填充的概率較大。此外,目前需水預測中沒有分類別建模是預測誤差較大的主要原因。而城市不同行政區不同水廠的用水情況差別較大,統一建模不能真實反應各個水廠及行政區的用水特點,對于長時間序列的數據建模,會損失較遠期與近期序列潛在的數量與特征關系。
因此,針對深圳市各水廠及行政區供水的周期性及波動性特點,考慮時間變化因子,提出KMeans 聚類算法[13,14]與季節性滑動平均自回歸(seasonal moving average autoregressive,SMAAR)模型耦合方法,對47個水廠和10個行政區的供用水數據進行分類建模預測。根據序列特性通過滑動平均解決序列非平穩問題,使規律復雜的時間序列轉化為規律簡單的時間序列,并隨著窗口的滑動進行預測。本文數據來源于深圳市數字水務系統和深圳市統計局。
深圳市的用水構成分為生活、工業、服務業、農業、建筑業及生態環境用水。由于深圳是全部城鎮化功能完備的現代化超大型城市,因此農業及建筑業用水量很小且年際變化不大,兩者年用水總量的和約占全市用水總量的7%。深圳一直在建設海綿城市,加上雨水利用工程的建設與污水回用量提高,因此生態用水增長不大,用水量約占年供水總量的6%。深圳用水占比較大的依次是生活用水、服務業用水及工業用水。生活用水一直處于深圳用水構成的第一大部分;服務業用水保持低速增長,2015年升至用水構成的第二大部分;隨著工業產業結構不斷優化調整及節水技術的不斷應用,用水效率得到提升,工業用水總量從2011年的6.07 億m3下降至2018年的4.85 億m3,用水構成也從第二大部分下降至第三大部分。
通過對深圳市各區水務局、水源管理單位、水庫管理處及水廠等地進行調研,對水廠供水的近五年實時數據分析發現,深圳目前用水結構基本穩定,整體趨勢是:每年春節到元宵節期間全市流動人口全部返鄉,是全年用水量最低的時期,日均用水量約為平時的56%。全年夏季用水多,冬季用水少,日用水量最大值多數情況出現在溫度最高的7月份。全市總用水量逐年上升,農業、工業、建筑業及生態環境用水雖有波動但基本穩定,生活用水及服務業用水量逐年增加。
在經濟及政策環境的吸引下,外來流動人口進入深圳,在為深圳帶來充足勞動力的同時,也擴大了深圳市的用水人口基數,其后果直接體現在深圳市年用水總量不斷上升。在2004-2018年間,全市用水總量增加了4.32 億m3,增加的用水量主要表現在生活用水與服務業用水,可知增加的外來人口是深圳市用水總量增加的一大推力。
2004-2015年深圳用水逐年增長較大,2008年經濟危機及2012年三條紅線指標確立導致用水量出現下降。2015-2019年,人口總量呈現明顯的連續增長的態勢,總人口年均增加約65 萬,流動人口年均約增加30 萬人,而用水總量增長幅度很小(圖1)。通過分析發現,這是因為人口除了直接關系著用水總量的人口基數外,還通過改變用水結構影響著用水量。深圳各行政區的產業結構調查結果見表1。

圖1 用水與人口變化Fig.1 Water use and population changes
由表1 可以看出,原特區(福田、羅湖、鹽田及南山)的產業結構是以第三產業為主,4 個行政區第三產業比重分別為88.4%、90.77%、83.16%、83.03%,第三產業用水的特點就是波動性強。而寶安區、龍華區、坪山區及光明區是以第二產業為主,其次是第三產業,其中坪山區和光明區的第二產業比重分別達到75%和84.12%。大鵬新區隸屬于龍崗區,因此龍崗區和大鵬新區的產業結構類似,第二產業和第三產業的比重相當。本文分別選擇第三產業業和第二產業占比最大的羅湖區與光明區2019年逐日供水數據進行對比,見圖2。

表1 2019年深圳行政區產業結構 個Tab.1 Industrial structure of Shenzhen district in 2019

圖2 羅湖與光明區2019年逐日供水序列Fig.2 The daily water supply sequence of Luohu and Guangming districts in 2019
由圖2 可以看出,羅湖區與光明區的逐日供水規律為春假假期最低7月份最高,符合深圳市的總體用水規律。但是不考慮季節性因素,光明區逐日供水基本穩定波動較小,說明第二產業用水比較穩定;而羅湖區逐日供水波動較大,說明第三產業用水變化較大,且五一國慶供水有明顯的下降,其他行政區也存在類似現象。說明第三產業是深圳各區用水波動大的主要原因,遇到假期居民外出旅游用水量下降,非假期期間人口傾向流動于以第三產業為主的行政區??紤]到逐日數據波動較大,不利于發現深圳各區的用水規律。因此,將2015年1月-2020年8月各區逐月供水的聚4類結果進行對比(圖3),因為各區人口數量不一致,為了畫圖方便,將數據使用公式1進行歸一化。為了保留數據真實的潛在特征聯系,建模預測過程中不進行歸一化。
圖2 中羅湖區逐日供水序列波動較大,但是由圖3(a)可以看出,逐月供水數據規律性明顯,用水量在春節期間降到最低,春節后用水量開始回升,7月份用水量最大。圖3(a)中5 個區的用水屬于平穩型,年際間具有明顯周期性規律,且年內變化規律基本一致。圖3(b)可以看出,龍華區與光明區用水具有周期性且附帶長期的增趨勢,每年的用水總量有較明顯增長,屬于增長型。圖3(c)和(d)屬于波動型,即年內無明顯規律,年際間周期性規律不顯著,圖3(c)屬于先增后降的趨勢,圖3(d)屬于先降后增的趨勢。同時,分別選擇羅湖區與光明區產能最大的兩個水廠的逐日供水情況進行對比(圖4)。

圖3 行政區聚類結果Fig.3 Clustering results of the districts

式中:Vmin與Vmax是時間序列最小值和最大值;Vi是序列的第i個值。
由圖4 可以看出,東湖水廠2019年逐日供水情況與羅湖區的基本一致,日供水波動較為劇烈;甲子塘水廠的2019年逐日供水情況與光明區的規律基本一致,日供水保持平穩。水廠的逐日供水數據也具有和所在行政區一樣的規律性。基于與行政區同樣的考慮,將2015年1月-2020年8月水廠逐月供水的聚4 類結果進行展示(圖5),也將數據歸一化??紤]水廠較多,為了畫圖方便沒有將全部水廠數據進行展示。

圖4 東湖及甲子塘水廠2019年逐日供水序列Fig.4 The daily water supply sequence of Donghu and Jiazitang waterworks in 2019

圖5 水廠聚類結果Fig.5 Clustering results of the waterworks
水廠及行政區的逐日數據波動劇烈,而逐月數據存在較強的規律性與周期性,因此使用月數據建模。本文根據行政區及水廠月數據的不同聚類結果分別建模,保證模型能夠充分學習每個類別的規律,更好地預測未來。考慮到長期趨勢的影響,對數據進行滑動平均,對于周期性的規律,則以周期為滑動階數進行滑動平均,對于周期性不明顯的數據設置滑動階數候選集合,通過訓練模型選出最佳階數。利用數據滑動平均抵消長期趨勢的影響,對滑動平均后的數據序列建立自回歸模型,并將預測結果與自回歸滑動平均(autoregressive moving average,ARMA)模型[15,16]的預測結果進行對比。ARMA 模型雖然也進行滑動平均,但是該滑動關注的是殘差項或者噪聲,而本文的SMAAR是將原始序列進行滑動平均后進行建模。
水廠及行政區的原始數據序列雖然具有規律性,但是過程線仍然存在較大變化,這種變化對于建模存在較大干擾。通過對原始序列進行滑動平均,屏蔽掉這種復雜的變化,使復雜的數據序列變成波動較小規律簡單的新序列。圖6 和圖7 分別是行政區與水廠的4 個類別的滑動平均后生成的新時間序列,滑動公式如下。

式中:n是原序列長度;l是新序列長度;degree是滑動階數。
由圖6和圖7可以看出,4個類別生成的新序列波動小且規律簡單,使用這樣的序列建模將更高效,模型的泛化能力也將更強,預測結果只需要逆向滑動即可還原。

圖6 行政區4個類別新的時間序列Fig.6 The new time series of the four categories of districts

圖7 水廠4個類別新的時間序列Fig.7 The new time series of the four categories of waterworks
本文從10個行政區的4個聚類結果中分別選4個區的數據進行對比分析(表2)。其中平穩型、增長型、波動型I 及波動型II分別選擇羅湖、光明、坪山及大鵬區。選擇羅湖區和光明區是因為他們分別是第三產業和第二產業占比最大的行政區,而坪山區是從波動型I的兩個區中隨機選擇的。通過對比逐月的模型估計值與實際值相對誤差(relative error,RE)來判斷模型的性能。

式中:e是模型的估計值;y是實際值。
由表2 可以看出,行政區的預測結果,SMAAR 的RE小于ARMA。以光明區為例,2020年1月-8月SMAAR模型預測結果的RE比ARMA 模型分別提高17.39%、42.11%、27.27%、33.33%、62.50%、66.67%、60.87%、77.78%。表2 中大鵬區的RE較大,是因為大鵬區用水規律波動性大導致模型預測結果的RE增大。類似地,同樣選擇4 個水廠的結果進行對比(表3),他們是分別位于不同行政區且產能較大的東湖水廠、朱坳水廠、龍華水廠及光明水廠。

表2 2020年行政區預測結果的RE對比Tab.2 RE comparison of the forecast results of districts
由表3 可以看出,水廠的預測結果,SMAAR 的RE小于ARMA。以朱坳水廠為例,2020年1-8月SMAAR 模型預測結果的RE比ARMA模型分別提高了50%、67.35%、25%、37.5%、0%、100%、90%、92.31%。由此可見,SMAAR 模型表現出了較強的泛化能力。

表3 2020年水廠預測結果的RE對比Tab.3 RE comparison of forecast results of waterworks
將47 個水廠及10 個行政區的分類預測結果進行求和匯總得到深圳的月用水數據(表4),并與SMAAR 直接使用深圳月滑動數據預測的結果及ARMA的結果進行對比。
總體而言,通過水廠與行政區匯總得到的需水數據的RE最小,可知分類建??梢愿訙蚀_地預測全市的需水情況。此外,由表4中可以看出,水廠匯總的RE比行政區匯總的RE還要小,使用月滑動數據的RE要比行政區匯總的RE大,可知越細化建模,預測結果越貼近真實數據,證明此種建模方法是有效的。ARMA 的RE最大說明ARMA 模型的誤差最大。城市需水預測結果誤差較大,主要原因就是沒有進行分類建模。本文細化到一類數據建一個模型,將結果進行匯總,這樣的精細化預測可以有效解決結果誤差較大的現象。

表4 2020年深圳用水預測的RE對比Tab.4 RE comparison for water use forecast in Shenzhen
同時,通過實驗還發現,模型在進行逐日長期預測時性能往往會變差,預測結果很可能全部是平均值或者中位數。因此,本文將模型對逐日數據進行建模預測,對比2種模型的泛化能力(圖8)。

圖8 逐日預測結果對比(2020年)Fig.8 Comparison of daily forecast results
由圖8可以直觀看出,在2020年1-8月共254 d逐日預測結果中,ARMA 的性能惡化,預測結果全部在平均值附近波動,無法有效預測需水。而SMAAR 依舊表現出了良好的性能,254 d的預測數據與實際統計數據的規律基本一致,且誤差較?。ㄒ妶D9),春假及五一假期的用水下降規律也預測成功。根據歷史規律,深圳國慶假期用水會出現一定幅度的下降,國慶之后全市用水量緩慢下降,由圖8 可以直觀地看出,2020年9月-12年SMAAR的預測結果完全符合實際。

圖9 RE箱圖對比Fig.9 RE box plot comparison
由RE箱圖可以直觀看出,SMAAR 預測RE的平均值是0.08,中位數是0.05,預測誤差較小。箱圖的四分位值分別是0、0.02、0.14、0.3,說明模型穩定性強且254 d 逐日預測結果較精確。此外,SMAAR 模型的離群點只有一個,說明SMAAR 模型可靠性強,預測值曲線與實際值曲線擬合較好,只有一個點偏離較遠。而ARMA 模型預測結果全是平均值,即實際值曲線波動大誤差就大,曲線波動小則誤差小,不具有現實意義。
二三產業及外來人口的快速增長,將導致深圳用水量的快速增長。如果能夠準確地預測深圳市未來一年的需水情況,就可以制定較為精確的年度引水計劃,可以有效地對未來的用水情況進行全局把握,能夠針對性地進行水庫蓄水工作,從而保障深圳的供水安全。
本研究通過分析深圳市47 個水廠及10 個行政區近五年的供水序列,提出KMeans 聚類算法和SMAAR 模型耦合方法,對于每個類別分別使用滑動平均后的簡單序列單獨建模預測,并與ARMA的預測結果進行對比,得出如下結論。
(1)在城市需水預測中,建模對象越小相對誤差(RE)越小,模型估計值與實際統計值的RE從小到大排序:水廠、行政區、市,精細化建??梢越鉀Q預測數據RE較大的問題。
(2)對于不同用水規律的水廠及行政區,SMAAR 的泛化能力均比ARMA 有顯著提高,預測結果的相對誤差(RE)均小于ARMA的相對誤差(RE)。
(3)在長期預測中,SMAAR 依然表現出了良好的性能。254 d逐日預測RE的平均值是0.08,且四分位值較小離群點少,證明了模型的穩定性及可靠性較強。而ARMA 在長期預報中性能惡化,難于有效地預測需水。□