范怡靜,劉 真,苑 佳,劉 心
(河北工程大學信息與電氣工程學院,河北 邯鄲 056038)
全球超過一半的城市面臨水資源供需失衡的問題,水資源的不均衡分布、水質污染和城市擴張等因素而導致的城市水資源利用率低的問題越來越嚴峻。城市水資源預測是保障水資源供需平衡,提高水資源利用率的關鍵技術之一。但城市需水量受人口、地域、天氣、經濟發展等諸多因素影響,具有較強的非線性和不確定性,城市需水的精準預測具有一定難度,受到學術界和實際應用領域的廣泛關注[1]。從預測尺度出發,需水預測可分為三大類:短期預測(每小時至每月預測)、中期預測(1~10 年以內的年度預測)和長期預測(超過10 年),中期和長期預測有助于制定有關投資規劃和產能擴張的戰術決策,短期預測影響水務公司的運營決策[2]。與長期預測在制定戰略規劃方面具有重要意義相比,短期預測對于水務公司來說同樣至關重要,短期需水預測能夠影響運營決策,對于城市供水保障、水資源利用和可持續發展具有重要意義。因此,提高短期城市需水預測的準確性至關重要。
目前存在多種不同的方法用于短期城市需水預測,常用的方法有遺傳神經網絡模型[3]、BP(Back Propagation)神經網絡[4]、支持向量機模型[5]、灰色模型[6]和ARIMA 模型(Autoregressive Integrated Moving Average model)[7]等,基于城市用水數據的時間序列特性預測未來的需水數據。Chang H 等[7]使用逐步多元回歸和ARIMA 模型分析了季節性趨勢下降的城市需水量與氣候變量之間的關系對需水量進行預測。劉鑫[8]提出K-Means聚類算法(K-Means clustering algorithm)和季節性滑動平均自回歸模型耦合方法預測2020 年1-8 月水廠及行政區的逐月供水數據。以上兩種方法均采用時序模型,這類模型對數據的節日效應和變化趨勢點的適應性較差,而被用于數據預測的Neural-Prophet 模型[9]在時間序列數據預測具有很強的優勢,能夠出色地適應數據的節日效應和變化趨勢點。但長期歷史數據中的隱藏特征不止這些,LSTM(Long Short Term Memory networks)在學習和挖掘長期歷史數據中的隱藏非線性和非周期性等特征有獨特的優勢[10],郭冠呈[11]建立了雙向長短時記憶循環神經網絡模型預測常州市某DMA 入口15 min 的水量。董云城[12]開展了基于ARIMA-LSTM 的城市供水量組合預測模型研究。
目前已實現的短期城市需水預測技術大多集中在固定時隙預測上,無法適應時隙的變化,而城市需水量受不同季節影響,需水量的峰值、波動不同。因此,本文對四季24 h 時間分辨率和夏季15 min 時間分辨率兩種不同時隙的城市需水量進行預測,提出了一種將NeuralProphet(NP)與長短期記憶(LSTM)網絡相結合的LSTM-NeuralProphet模型,該模型將NeuralProphet和LSTM的優點結合起來,NeuralProphet模型考慮數據的周期性、節日效應和變化趨勢點,LSTM 模型學習長期歷史數據的特征。本研究使用Anomaly Transformer 模型對異常值檢測,并分段擬合校正數據,采用主成分分析法對需水影響因子進行分析,校正后的數據輸入NeuralProphet 模型和LSTM 模型中產生對應的輸出特征,將這些輸出特征和需水影響因子輸入到AutoML,在AutoML 的標準模型分析中選取3 個效果最好的模型作為Stacking模型的基學習器,得到最終的預測結果。
為了提高不同時隙粒度的城市需水量預測精度,本文提出了一種將NeuralProphet(NP)與長短期記憶神經網絡(LSTM)相結合的LSTM-NeuralProphet 模型。需水預測模型主要分為以下3 個模塊:數據預處理部分基于Anomaly-Transformer 模型進行異常值檢測,采用分段曲線擬合對異常值校正,通過主成分分析法分析影響因子;預測模型部分使用了LSTM 和Optune 優化后的NeuralProphet 預測模型;模型耦合部分通過安全網機制過濾輸入特征,采用AutoML 選取Stacking 模型的基學習器,設計的需水預測模型總體架構如圖1所示。

圖1 需水預測模型總體架構圖Fig.1 Overall structure diagram of water demand prediction model
1.1.1 異常值檢測——Anomaly Transformer模型
Anomaly Transformer 模型[13]是一種基于自監督學習的時序異常檢測模型,如圖2 所示,利用全新的關聯視角,建立時間序列中的每個數據點與整個序列之間的聯系。這種關聯蘊含著豐富的時序模式,具有信息含量。該模型采用Anomaly-Attention 和前饋層的交替堆疊的結構,增強了模型從多層次特征中學習潛在時序關聯的能力。Anomaly-Attention 由prior-association 和series-association 兩個分支組成,其中prior-association 使用可學習的高斯核來計算相對時間距離,而series-association分支則從原始序列中學習關聯。在每一層的Anomaly-Attention中,模型通過query、key、value和可學習的scale參數矩陣來計算注意力權重,進而得到每個數據點的潛在聯系。通過這種方式,Anomaly Transformer 模型可以更加準確地檢測到城市需水時序中的異常點。由于設備出錯等原因,城市24 h需水量和15 min 需水量檢測常出現異常值,因此,采用Anomaly Transformer模型進行異常值檢測。

圖2 Anomaly Transformer框架圖Fig.2 Anomaly Transformer frame diagram
1.1.2 影響因子篩選——主成分分析
PCA(Principal Component Analysis)是通過線性變換將原始數據映射到新的坐標系中,使得新坐標系下的方差較大,從而找到原始數據的主要方向,將原始數據進行中心化處理,計算出協方差矩陣,并對其進行特征值分解,分解后得到原始數據在新坐標系下的投影矩陣(主成分),每個主成分代表原始數據的一個方向,同時對應著一個特征值,特征值越大表示對應的主成分包含的信息越多。與傳統的相關性分析相比,在處理屬于高維數據的氣象影響因子,解決避免模型過擬合問題中,PCA可有效簡化分析過程,提高城市需水預測準確性,消除自變量之間的多重共線性。
1.2.1 長短時記憶神經網絡
LSTM(Long Short-Term Memory)一種常用的循環神經網絡,針對傳統RNN模型在訓練過程中容易出現的梯度消失和梯度爆炸問題[14],LSTM 采用門控結構,提高模型預測精度。LSTM 模型的核心是LSTM 單元(LSTM cell),LSTM 單元的輸入由當前時刻的輸入、上一個時刻的輸出和上一個時刻的單元狀態共同決定,根據門控機制來決定輸入、遺忘和輸出的權重,更新單元狀態和輸出。
式中:xt是LSTM 模型在時刻t的輸入;ht-1是LSTM 模型在時刻t-1的輸出;ct-1是LSTM模型在時刻t-1的細胞狀態;it、ft和ot分別是當前時刻的輸入門、遺忘門和輸出門的輸出;σ( )是sigmoid函數;⊙表示按元素相乘;W和b是模型的參數。
最后,LSTM 模型在時刻t的輸出為ht,同時ct也會作為下一個時刻的單元狀態輸入到模型中。由于城市需水數據存在明顯的時間序列特征,利用 LSTM 神經網絡挖掘數據中時間序列的變化規律。
1.2.2 NeuralProphet預測模型原理
NeuralProphet 模型[9]是FbProphet 的改進模型,將深度學習項集成到滯后數據擬合的方程中,模型的超參數可以自動調整,具備更好的預測性能。但是,模型里regulation 調整會直接影響整體分布,為了避免過擬合問題并且提高模型的泛化能力,需要進行自動化參數調優。相比于Grid Search 等其他超參數調優框架,Optuna 尋優速度更快,更加適合城市需水數據集。

圖3 NeuralProphet原理圖Fig.3 NeuralProphet schematic
NeuralProphet模型的預測過程如下:
式中:T(t)代表趨勢部分,表示時間序列數據中的長期(上升或下降)趨勢,使用線性或非線性函數來建模;S(t)代表季節性部分,表示時間序列數據中的短期(每周、每月或每季度)的周期性變化;E(t)代表特殊事件,表示時間序列數據中的異常值;F(t)代表未來回歸項,表示時間序列數據中由于特定的節假日而引起的變化;A(t)代表自回歸部分,表示時間序列數據中的歷史數據對當前時間的影響;L(t)代表滯后回歸項,是t時刻外生變量滯后觀測的回歸效應。綜合這些部分,NeuralProphet 模型可以很好地捕捉城市需水數據中的各種影響因素,從而實現更加準確的預測。
1.2.3 LSTM-NeuralProphet模型
LSTM-NeuralProphet模型是一種基于神經網絡的時間序列預測模型,如圖4所示。該模型考慮到兩個不同時隙:較短的時間尺度(15 min)和較長的時間尺度(24 h),將校正后的兩個不同時隙的數據集分別輸入到NeuralProphet 模型和LSTM 模型中產生對應的輸出特征f1N、f1L和f2N、f2L。采 用Pycaret 庫實現AutoML,將f1N、f1L和f2N、f2L輸入到AutoML,在AutoML 的標準模型分析中選取3 個效果最好的模型作為Stacking 模型的基學習器,得到最終的預測結果,同時,為了提高LSTM-NeuralProphet模型的準確性,AutoML 中還使用主成分分析選取額外的回歸因子。

圖4 LSTM-NeuralProphet模型框架圖Fig.4 LSTM-NeuralProphet model frame diagram
為了確保該方法的準確性引入安全網機制,在LSTMNeuralProphet 模型中加入了一個安全網機制,選取兩種方法平均誤差的2%為安全網機制的閾值。在需水預測過程中,判斷兩種方法所預測結果之間的平均誤差是否大于安全機制的閾值,若其中一種方法在準確性方面的表現明顯低于另一種方法,那么表現較差的模型將被排除在LSTM-NeuralProphet 模型之外。
利用城市需水數據集訓練不同的模型,將所提出的LSTMNeuralProphet 模型與NeuralProphet 模型、LSTM 模型、BP 模型進行比較。其中NeuralProphet 模型的超參數可以自動調整,以獲得最佳性能。同時也存在一個缺點,模型里regulation 調整會直接影響整體分布,為了避免過擬合并且提高模型的泛化能力,自動化參數調優至關重要。相比于Grid Search 等其他超參數調優框架,Optuna尋優速度更快,更加適合城市需水數據集。
Optuna 的原理基于貝葉斯優化算法,主要包含了3 個核心組件:Trial,Study 和Sampler。Trial 對超參數組合進行評估;Study 管理和控制Trials 的流程;TPE 算法不斷根據超參數的選擇有可能達到最優的超參數組合;Sampler選取下一個超參數組合的實際過程。這個過程中,Optuna 采用貝葉斯優化算法提高了超參數搜索效率,從而更加高效地構建高性能的機器學習模型。通過Optune 超參數優化NeuralProphet,選擇隱藏層數為2,搜索空間設置如表1 所示。對于LSTM 模型,如果增加隱藏單元的個數,性能會有所提高,但訓練模型的時間也會增加。綜合預測性能和成本,設置隱藏單元的個數為200,對LSTM 模型進行訓練,以得到兩種場景下最優結果。

表1 Optune的搜索區間Tab.1 Optune′s search interval
北京市和邢臺市都處于暖溫帶半濕潤大陸性氣候區,冬季寒冷干燥,夏季炎熱潮濕,春秋兩季氣候溫和,四季分明,如何合理充分利用水資源,對社會經濟及城市的發展具有重要的影響[15]。因此,選取以24 h為單位的北京市水務局(2016年1月1日至2022年9月30日)的原始用水數據和以15 min為單位邢臺市某水廠(2022 年夏季)原始用水數據。其中80%的數據作為訓練集,其余20%的數據作為測試集。北京市的氣象數據來源于國家氣象信息中心,共包含13 個氣象要素:最高溫度f0,最低溫度f1,平均溫度f2,天氣狀況f3,風向f4,風速f5,空氣質量f6,空氣質量分數f7,最大露點f8,最小露點f9,平均露點f10,平均降水量f11,最大降水量f12,如表2所示。

表2 關于城市需水量的影響因子Tab.2 On the influencing factors of urban water demand
城市用水量常常由于設備出錯等原因出現異常值,本文利用Anomaly-Transformer 模型分別對以24 h 為單位的北京市水務局(2016 年1 月1 日至2022 年9 月30 日)的原始用水數據和以15 min 為單位邢臺市某水廠(2022 年夏季)原始用水數據進行異常值檢測。根據數據特點分別以年為單位和以天為單位進行數據劃分,再利用分段曲線擬合,擬合后按順序把不同時間段校正結果拼接起來。選出原始水文時序數據{ai}中的非空值進行分段曲線擬合,用該結果替代相應位置的缺失值。經過校正后獲得的時間序列數據記為{gi},對{gi}用Anomaly-Transformer 的方法進行異常值檢測,該模型包含3 層,我們將隱藏狀態的通道數dmodel 設置為512,win_size 設置為14。為了權衡損失函數的兩個部分,所有數據集的超參數λ 設置為3。我們使用初始學習率為10-4的ADAM優化器,設置早停策略,訓練過程將在30 個周期內提前停止,批量大小為16。將檢測出的異常值二次分段曲線擬合填補,結果如圖5所示。

圖5 分段曲線擬合Fig.5 Piecewise curve fitting method
采用相同步驟,用全局曲線擬合對缺失值填補和異常值校正,并與分段曲線擬合對比。圖5 與圖6 對比可以看出,針對凹凸性發生改變的時間序列數據,分段擬合曲線能更好地體現時序變化趨勢。

圖6 全局曲線擬合Fig.6 Global curve fitting method
對于城市用水量與時間、溫度、降水量、空氣質量等影響因素密切相關,具有復雜性、非線性、時變性的特點。為了提高模型的泛化能力和魯棒性,本文利用皮爾遜相關性分析和主成分分析方法分別對北京市城市日用水量及用水影響因素數據進行分析,得到各影響因素與城市日用水量的關聯程度。定義北京市日用水量為y,影響因子為f0~f12,并對數據進行標準化處理。使用SPSS 軟件對統計數據進行相關性分析,得到相關系數表。
在表3中篩選出城市用水量的主要影響因子。關聯度的下限值取0.6,即選擇的主要影響因子為相關性大于0.6 的影響因子:f0、f1、f2、f8,可以作為城市需水預測模型的輸入。同時,發現很多自變量之間的相關度達到0.6 以上,各個自變量之間的相關性很高,反映出模型自變量之間具有很強的多重共線性。為了解決自變量較多并且有多重共線性的問題,我們選擇用SPSS進行主成分分析,得到表4。

表3 影響因子的相關性Tab.3 The correlation of influence factors

表4 影響因子解釋的總方差Tab.4 The total variance of the influence factor interpretation
為了使主成分分析法解釋更高效并且最小化城市需水預測模型的數據冗余,保留數值大于1 的特征值數據。表4 在只提取了4 個主成分的情況下,累計方差貢獻率就達到了91.745%。第5 個主成分的特征值只有0.513,因此提取前4 個主成分比較合適,可以用這4 個主成分來代替原來的11 個變量,因此,可以用4 個主成分來代替所有自變量,命名為:FAC1_1、FAC2_1、FAC3_1、FAC4_1。
用6 個性能指標評估測試結果,分別為:平均百分比誤差MAPE、均方根誤差RMSE、平均絕對誤差MAE、均方誤差MSE、均方根對數誤差RMSLE和決定系數R2。采用如下公式計算預測結果的性能參數,其中n為數據點個數,yi為實際值,為預測值,真實觀測值的平均值 。
3.2.1 數據預處理一:異常值校正對比
為了檢驗分段擬合校正和全局擬合校正對城市需水預測的影響,根據章節2.2 異常值檢測及校正結果分析,使用分段擬合和全局擬合對用水量進行缺失值填補和異常值校正,將這兩種擬合結果分別輸入到LSTM-NeuralProphet 模型中,其中所有的訓練和測試都是使用相同運行環境進行。AutoML 標準模型選取效果最好的模型:Extra Trees Regressor 作為Stacking 模型的基學習器。由表5 預測結果可知,主成分回歸的回歸系數更接近1,以天為單位全年用水量分段擬合的數據與原始數據的預測結果相比MAE、MSE、RMSE、RMSLE、MAPE分別降低了5.824 4、204.806 1、5.762 4、0.012 6、1.64%,以15 min 為單位夏季用水量分段擬合的數據與原始數據的預測結果相比MAE、MSE、RMSE、RMSLE、MAPE分別降低了442.982 562、304 685.355 67、250.873 26、0.0380 02、1.66%。因此,本文使用分段擬合優于全局擬合。

表5 不同異常值校正方法的結果對比Tab.5 Comparison of results of different correction methods for outliers
3.2.2 數據預處理二:需水影響因子對比
為了進一步顯示原始幾個原始自變量與提取的主成分因子對城市需水預測的影響在模型中引入篩選的兩組影響因子作為額外的輸入信號。根據章節2.3 需水量影響因子的率定,皮爾遜相關性分析選取的影響因子為f0、f1、f2、f8;主成分分析提取出4 個影響因子為FAC1_1、FAC2_1、FAC3_1、FAC4_1。將這兩種分析法所選取的影響因子加入LSTM-NeuralProphet 模型中,其中所有的訓練和測試都是使用相同運行環境進行。AutoML標準模型選取效果最好的模型Gradient Boosting Regressor 作為Stacking 模型的基學習器。由表6 預測結果可知,主成分回歸的回歸系數更接近1,MAE、MSE、RMSE、RMSLE、MAPE分別降低了0.288 7、6.033 8、0.240 8、0.008、0.1%。因此,本文使用主成分分析法在提取影響因子時優于用皮爾遜相關性分析。

表6 不同影響因子的結果對比Tab.6 Comparison of the results of different influencing factors
3.2.3 案例一:24 h需水預測
對模型進行訓練后,對2016 年1 月1 日至2022 年9 月30 日的北京市水務局的用水數據進行了劃分80%作為訓練集,其余20%作為測試集。所有的訓練和測試都是使用相同運行環境下進行。AutoML 標準模型分析比較結果如表8 所示,選取前3個效果最好的模型:線性回歸、最小角回歸、貝葉斯嶺回歸作為Stacking模型的基學習器。

表7 不同預測模型的結果對比(24 h)Tab.7 Comparison of results from different prediction models(24 h)

表8 AutoML標準模型分析比較結果(24 h)Tab.8 AutoML standard model analysis and comparison results(24 h)
在2016 年1 月1 日至2022 年9 月30 日逐日進行預測時,將預測步長設置為單步預測。圖7 的殘差圖可以直觀看出LSTM模型的性能惡化,不能保證預測的準確性。圖8、圖10 顯示NeuralProphet模型的性能與LSTM-NeuralProphet 模型的性能最接近。表7 中詳細比較了具有6 個性能指標的24 h 需水預測。對比LSTM 模型、NeuralProphet 模型、BP 模型和LSTM-Neural-Prophet 模型,所提出的LSTM-NeuralProphet 模型在6 個性能指標的結果都優于其他3種模型,提高了預測精度。

圖7 基于24 h數據集的LSTM 模型預測結果Fig.7 Prediction results of LSTM model based on 24 h data set

圖8 基于24 h數據集的NeuralProphet模型預測結果Fig.8 Prediction results of NeuralProphet model based on 24 h data set

圖9 基于24 h數據集的BP模型預測結果Fig.9 Prediction results of BP model based on 24 h data set

圖10 基于24 h數據集的LSTM-NeuralProphet模型預測結果Fig.10 Prediction results of LSTM-NeuralProphet model based on 24 h data set

表9 不同預測模型的結果對比(15 min)Tab.9 Comparison of results of different prediction models (15 min)
3.2.4 案例二:15 min需水預測
對模型進行訓練后,對2022年夏季的邢臺市某水廠數據進行了劃分80%作為訓練集,其余20%作為測試集。所有的訓練和測試都是使用相同運行環境下進行。AutoML 標準模型分析比較結果如表10 所示,選取前3 個效果最好的模型:線性回歸、貝葉斯嶺回歸、正交匹配追蹤算法作為Stacking 模型的基學習器。

表10 AutoML標準模型分析比較結果(15 min)Tab.10 AutoML Standard Model analysis and comparison results (15 min)
在2022年夏季每15 min預測進行預測時,將預測步長設置為單步預測。圖12、圖13的殘差圖可以直觀看出NeuralProphet和BP模型的性能惡化,不能保證預測的準確性。圖11、圖14顯示LSTM 模型的性能與LSTM-NeuralProphet 模型的性能最接近。表9 中詳細比較了具有6 個性能指標的15 min 需水預測,對比LSTM 模型、NeuralProphet 模型、BP 模型和LSTM-Neural-Prophet 模型,所提出的LSTM-NeuralProphet 模型在6 個性能指標的結果都優于其他3種模型,提高了預測精度。

圖11 基于15 min數據集的LSTM 模型預測結果Fig.11 Prediction results of LSTM model based on 15 min data set

圖12 基于15 min數據集的NeuralProphet模型預測結果Fig.12 Prediction results of NeuralProphet model based on 15 min data set

圖13 基于15 min數據集的BP模型預測結果Fig.13 Prediction results of BP model based on 15 min data set
研究提出了一種基于LSTM-NeuralProphet 模型的雙時間尺度城市需水預測模型,使用北京市和邢臺市兩個城市的需水時間序列進行預測,得到如下結論。
(1)數據的質量直接決定了模型的預測和泛化能力的好壞,但早期的模型通常忽略了離群點的處理,為了提高短期需水量預測模型的精確度,本文提出了一種基于Anomaly-Transformer的水文時間序列異常值檢測和分段擬合校正模型。實驗結果表明,該模型可以得到較高準確率的預測結果。
(2)對比了皮爾遜相關性分析和主成分分析提取的影響因子,結果表明,對于數量較多且相互關聯的影響因子,主成分分析優于皮爾遜相關性分析。PCA 只取前后方差較大的幾個主成分來代表原變量,同時可以消除自變量之間的多重共線性,在減少了計算工作量同時大大提高需水預測模型的精度。
(3)將LSTM-NeuralProphet 模型應用于預測夏季15 min 超短周期時間分辨率和24 h 中周期時間分辨率這兩種不同時隙的用水量,均得到了較為理想的預測結果。實驗結果在一定程度上體現了該模型的泛化能力和健壯性,為城市需水預測提供了新思路,對于城市供水等領域具有一定的借鑒意義。