張璇
(華北水利水電大學信息工程學院,河南 鄭州450046)
水資源是各個國家和地區的重要資源。近年來,我國水資源嚴重匱乏,各地區水資源供需不平衡,特別是在促進工業化和城市化的發展過程中,水資源利用不科學、城市水資源供需矛盾等問題日趨嚴重,供水水源日趨緊張。如何科學的對水資源進行規劃、調度、管理、配置和決策是一個城市發展的基本問題。城市的用水量預測是根據城市過去的用水量數據及其影響因素來預測未來的需水量。城市用水量預測是水資源規劃與管理的前提和基礎,其預測結果直接影響給水系統調度決策的可靠性和實用性及城市水資源的可持續利用和社會經濟的可持續發展[2]。目前,主要預測方法有用水定額法、指數平滑法、系統動力學、Volterra 濾波器預測法、時間序列預測方法、自回歸移動、支持向量機、回歸分析法[10-11]、神經網絡法[1-3]、灰色預測法[4-5]以及組合預測法等[6-10]。本文主要先通過運用灰色關聯法分析鄭州市用水量的影響因素,并運用主成分分析法對數據進行處理后作為BP 神經網絡預測模型的輸入,從而建立了PCA-BP 神經網絡預測模型對鄭州市用水量進行預測。
PCA-BP 神經網絡模型是將主成分分析法與BP 神經網絡進行結合的預測模型,通過主成分分析法對輸入因子進行處理后,再以BP 神經網絡作為預測模型而構建的組合模型。該模型首先利用主成分分析法對用水量影響因素進行處理,轉化為幾個可以替代的主成分,然后將選取的主成分作為BP 神經網絡輸入特征值對鄭州市年用水量進行預測。
主成分分析是把多個指標化為少數幾個綜合指標的一種統計分析方法。在多指標(變量)的研究中,往往由于變量個數太多,且彼此之間存在著一定的相關性,因而使得所觀測的數據在一定程度上有信息的重疊。當變量較多時,在高維空間中研究樣本的分布規律就更麻煩。主成分分析采取一種降維的方法,找出幾個綜合因子來代表原來眾多的變量,使這些綜合因子盡可能地反映原來變量的信息量,而且彼此之間互不相關,從而達到簡化的目的。
在利用神經網絡模型進行預測時,模型輸入變量的篩選和輸入結構的簡化是影響預測效果和決定成果可靠性的重要技術。主成分分析通過數學變換將用水量原始影響因素轉換成幾個能夠解釋主要信息的“新因素”,即主成分,通過降維提高建模速度,同時這些“新因素”間彼此獨立,因此可提高預測結果的準確性。
設觀測樣本的矩陣為

n 為樣本數,p 為變量數。為使該樣本集在降維中所引起的平方誤差最小,必須進行兩方面的工作:一是進行坐標變換,即用雅可比方法求解正交變換矩陣;二是選取m(m<p)個主成分。
(1)將原始數據進行標準化處理,即對樣本集中元素xik作

主成分分析的明顯特征是每個主分量依賴于測量初始變量所用的尺度,當尺度改變時,會得到不同的特征值λ。克服這個困難的方法是對初始變量進行以上標準化處理,使其方差為1。
(2)計算樣本矩陣的相關系數矩陣

(3)對應于相關系數矩陣R,用雅可比方法求特征方程|R-λi|=0 的p 個非負特征值,λ1>λ2>…叟λp叟0 對應于特征值的相應特征向量為C(i)=(C1(i),C2(i),…,Cp(i)),i=1,2,…,p,并且滿足

(4)選擇m(m
BP 神經網絡是在1985 年Rumelhart 等人提出來的,又叫做誤差反向傳遞學習算法,實現了Minsky 的多層網絡設想,如圖1 所示。

圖1 BP 神經網絡結構圖
BP 神經網絡算法包含輸入層節點、輸出層節點,還可有1個或多個隱含層節點。對于輸入信號,要先向前傳播到隱含層節點,經作用函數后,再把隱節點的輸出信號傳播到輸出節點,最后給出輸出結果。節點的作用的激勵函數通常選取S 型函數,如

式中Q 為調整激勵函數形式的Sigmoid 參數。該算法的學習過程由正向傳播和反向傳播組成。在正向傳播過程中,輸入信息從輸入層經隱含層逐層處理,并傳向輸出層。每一層神經元的狀態只影響下一層神經元的狀態。如果輸出層得不到期望的輸出,則轉入反向傳播,將誤差信號沿原來的連接通道返回,通過修改各層神經元的權值,使得誤差信號最小。
設含有n 個節點的任意網絡,各節點之特性為Sigmoid 型。為簡便起見,指定網絡只有一個輸出y,任一節點i 的輸出為Oi,并設有N 個樣本(xk,yk)(k=1,2,…,N),對某一輸入xk,網絡輸

如果有M層,而第M層 僅含輸出節點,第一層為輸入節點,則BP 算法為:
第一步,選取初始權重W。
第二步,重復下述過程直至收斂:
(1)對于k=1 到N
a.計算Oik,netjk和y贊k 的值(正向過程);
b.對各層從M到2 反向計算(反向過程);
(2)對同一節點j∈M,由式(1)和式(2)計算δjk;

由此可以看出,BP 神經網絡算法是把一組樣本的I/O 問題變為一個非線性優化問題它使用的是優化中最普通的梯度下降法。如果把神經網絡的看成輸入到輸出的映射,則這個映射是一個高度非線性映射。
一般來說,結構模型是根據所研究領域及要解決的問題確定的。通過對所研究問題的大量歷史資料數據的分析及目前的神經網絡理論發展水平,建立合適的模型,并針對所選的模型采用相應的學習算法,在網絡學習過程中,不斷地調整網絡參數,直到輸出結果滿足要求。
本文采用的評價指標是均方根誤差(RMSE),相對誤差,平均絕對百分誤差(MAPE),模型有效度來評價模型的可靠性。其計算公式如式(3),式(4),式(5),式(6)

其中,yi表示實際值,y贊i 表示預測值,n 表示預測個數,Ei表示相對誤差。
MAE 為平均絕對誤差,PMAE為平均絕對誤差與裝機容量的比值,實際應用中通常采用百分數的形式。
城市用水一般包括農業用水、工業用水、生活用水和生態環境用水等。農業用水主要包括農業灌溉用水和林牧副漁用水;工業用水主要指的是工業生產中的用水;生活用水包括城鎮生活用水、農村生活用水、城鎮公共用水、其他服務業用水等;生態環境用水指的是修復環境的用水量以及公共綠地用水量。每一個城市的用水量在一定程度上受各種因素的影響,除了會受到各方面用水量影響之外,還會受到比如氣候、人口、降雨量等,本文主要通過四個方面分析了各種影響用水量因素,并選取了15 個指標與鄭州市年用水量進行了灰色關聯分析。

表1 年用水量和其影響因子的關聯序
(1)農業方面選取的影響因素有:X1 農業播種面積,X2 有效灌溉面積,X3 農業總產值,X4 農業年用水量。
(2)工業方面對于鄭州市用水量的影響選取的因包括X5 工業總產值和X6 工業年用水量。
(3)生活方面選取的因素包括:X7 鄭州市人口總數,X8 人均用水量,X9 年降雨量,X10 生活用水量,X11 生產用水重復利用率,X12 建成區綠化覆蓋面積,X13 生態環境用水量。

表2 各影響因素歸一化后處理結果

表3 主成分的特征值、貢獻率與累計貢獻率
(4)經濟方面包括X14 國民生產總值和X15 萬元GDP 用水量。
將鄭州市2002-2017 年各指標數據作為原始數據,數據來源于鄭州市水利局《水資源公報》及鄭州市統計年鑒。通過對數據進行標準化處理后,利用灰色關聯分析對各影響因素及其總用水量之間的關聯度進行計算,由表1 的計算結果,可以將影響因素大致分為兩個等級:第1 級相似程度最高,包括了10 個因素,相似程度由大到小依次是:X12 建成區綠化覆蓋面積,X2 有效灌溉面積,X5 工業總產值,X10 生活用水量,X13 生態環境,X3 農業總產值,X14 國民生產總值,X7 鄭州市人口總數,X11生產用水重復利用量,X6 工業用水量,其灰色關聯度超過了0.8,為主要影響因素;第2 級包括X9 年降雨量,X15 萬元GDP用水量,X1 農作物播種面積,X4 農業用水量,X8 人均用水量,灰色關聯度在0.8 以下,為次要影響因素。
因此選取作為主要影響因素Qi的10 個數據,作為后續計算的基礎數據。
由于鄭州市用水量受眾多因素影響而增加了預測過程的復雜度,同時各因素之間的獨立性有可能會對預測結果的準確性產生影響。
因此,需要對影響因素Qi進行處理和簡化后,再作為預測模型的輸入值。
由于各影響因素數據之間的分布及量綱差異較大,因此需要要先將數據進行歸一化處理后,再進行主成分分析。本文采用的是min-max 標準化,其公式為

其中qi表示歸一化后的變量,Qi表示主要影響因素的原始數據,Qimin表示第i 個影響因素的最小值,Qimax表示第i 個影響因素的最大值。歸一化后的結果如表2。
利用相關軟件對歸一化后的影響因素qi進行主成分分析,得到主成分的特征值、貢獻率與累計貢獻率,如表3。由表可知前5 個主成分f1,f2,f3的貢獻率分別為75.3753%,12.5250%,6.1311%,即前3 個主成分分別可解釋鄭州市用水量影響因素的75.3753%,12.5250%,6.1311%,且這3 個主成分的累計貢獻率為94.03%,能夠代表用水量主要影響因素的大部分信息,滿足主成分選取的原則。
主成分中的因子載荷系數反映各因子與主成分的相關性,由表4 的因子載荷矩陣可知,主成分f1中,q1建成區綠化覆蓋面積,q3工業總產值,q4生活用水,q6農業總產值,q7國民生產總值,q9生產用水重復利用量的因子載荷系數較大,因此第一主成分主要反映了q1,q3,q4,q6,q7,q9這些因素;主成分f2中,q2有效灌溉面積,q5生態環境用水,q8人口的因子載荷系數較大,因此第二主成分主要反映了有效灌溉面積,生態環境用水,人口總數這些因素;主成分f3中,q10工業用水的因子載荷系數最大,因此第三主成分主要反映了工業用水量這個因素。

表4 因子載荷矩陣
這三個主成分從不同角度反映了鄭州市用水量的影響因素,因此選取這3 個主成分代替影響因素Qi作為BP 神經網絡預測模型的輸入值。
以主成分分析得到的前三個因子作為輸入層數據,輸入節點數為3,以鄭州市年用水量作為預測對象,輸入節點數為1。將2002-2017 年鄭州市用水量數據分為訓練集和驗證集,2002-2014 年數據作為訓練集,2015-2017 年數據作為驗證集,建立BP 神經網絡預測模型,對鄭州市用水量進行預測,檢驗PCA-BP 神經網絡模型的預測效果。
另外,為了驗證PCA 從簡化預測模型輸入因子方面提高了預測精度,本文還建立了基于相同誤差水平的未用主成分分析的BP 神經網絡預測模型,并將兩者結果進行了對比,如表5,表6。
從表5 中可以看出在相對誤差指標中,PCA-BP 神經網絡模型預測的相對誤差每一個都小于BP 神經網絡的相對誤差。從表6 中可以看出,PCA-BP 神經網絡模型的RMSE,MAPE 也都小于BP 神經網絡模型的評價指標,在模型有效度上,BP-PCA 神經網絡模型的結果更接近于1,驗證了PCA-BP 神經網絡預測模型具有更好我的預測準確性。所以主成分分析法對于簡化預測模型的輸入,有利于提高預測精度。而且,PCA-BP神經網絡預測模型預測結果也較好,具有一定的可靠性。

表5 模型預測結果

表6 不同模型的評價指標
(1)本文在選取因素時充分考慮到了鄭州市的市情,從15個因素中選取了10 個主要因素作為原始數據。
(2)以影響因子作為模型的輸入會對預測結果產生影響,所以影響因子的多少對預測精度也會產生影響。本文引入了灰色關聯分析和主成分分析法對用水量影響因素進行分析和處理,建立了PCA-BP 神經網絡模型進行預測,與單一的BP 神經網絡預測結果進行比較。通過結論可以看出,組合模型比單個模型的預測精度要好。
(3)本文在數據方面存在一定的問題。由于受到各方面限制,只收集到2002-2017 年的數據,數據較少,會在一定程度上影響模型的預測精度。
(4)改進方向。本文選取的是鄭州市年用水量的預測,時間跨度較大,建議下一步在條件充足的前提下,縮小時間的跨度對鄭州市用水量進行短期的預測。