崔東文
(云南省文山州水務(wù)局,云南文山 663000)
城市需水預(yù)測是城市供水總體規(guī)劃和工程規(guī)劃的基礎(chǔ)。城市需水預(yù)測的方法眾多,如定額法、時間序列法、彈性系數(shù)預(yù)測法、回歸分析法以及灰色預(yù)測法等,這些方法廣泛應(yīng)用于城水需水預(yù)測中,但均存在預(yù)測精度不高等問題[1]。為提高需水預(yù)測的精度,混沌理論、灰色系統(tǒng)理論、神經(jīng)網(wǎng)絡(luò)理論、系統(tǒng)動力學(xué)方法等一些非傳統(tǒng)需水預(yù)測理論及方法被引入到需水預(yù)測中,并在提高需水預(yù)測精度上取得了較好 的 效 果[2-6]。 人 工 神 經(jīng) 網(wǎng) 絡(luò) (artifical neural network,ANN)具有較強的非線性映射能力以及魯棒性、容錯性、自適應(yīng)性、自組織性、自學(xué)習(xí)性等特性,適宜解決高維、非線性系統(tǒng)問題,是智能算法中運用最為廣泛的算法之一。BP神經(jīng)網(wǎng)絡(luò)(backpropagation neural network)是ANN中常用的神經(jīng)網(wǎng)絡(luò)模型,廣泛運用于需水預(yù)測。然而,將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于需水預(yù)測存在兩個方面的不足:①輸入向量(影響因子)間可能存在著高度相關(guān)性,易產(chǎn)生共線性問題從而影響模型的預(yù)測精度和泛化能力;②BP神經(jīng)網(wǎng)絡(luò)存在學(xué)習(xí)收斂速度慢、易陷入局部極值以及網(wǎng)絡(luò)結(jié)構(gòu)難以確定等缺點,極大地制約了BP神經(jīng)網(wǎng)絡(luò)在需水預(yù)測中的精度和泛化能力。近年來,隨著對混沌理論及其應(yīng)用技術(shù)研究的不斷深入,基于混沌時間序列建模和預(yù)測已成為混沌信息處理研究領(lǐng)域中的熱點,并成功應(yīng)用于城市需水預(yù)測中[7],其相空間重構(gòu)是影響需水預(yù)測成敗的關(guān)鍵,而延遲時間τ和嵌入維數(shù)m的選取對相空間重構(gòu)具有十分重要的意義。關(guān)于延遲時間τ與嵌入維數(shù)m的選取,目前主要有兩種觀點:一種觀點認(rèn)為兩者互不相關(guān),即τ和m的選取是獨立進行的,如求延遲時間的自相關(guān)函數(shù)法[8]、互信息法[9],求嵌入維數(shù)的 G-P 算法[10]、假最近鄰法[11]等;另一種觀點認(rèn)為兩者是相關(guān)的,即τ和m的選取是互相依賴的,如嵌入窗法[12]、C-C 方法[13]等,可同時計算出延遲時間和時間窗口。然而,在實際應(yīng)用中對于同一時間序列,上述各種方法的確定結(jié)果往往不盡相同,這對延遲時間τ和嵌入維數(shù)m的選取帶來困難。遺傳算法(genetic algorithm,GA)具有很強的宏觀搜索能力和良好的全局優(yōu)化性能,將GA與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,利用GA訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,有效克服了BP神經(jīng)網(wǎng)絡(luò)易陷入局部極值等缺點。
針對上述問題及原因,本文基于相空間重構(gòu)原理,利用試湊的方法確定需水預(yù)測時間序列中的延遲時間τ和嵌入維數(shù)m,將一維需水時間序列拓展為多維,以解決多變量需水預(yù)測模型中變量之間普遍存在的多重共線性問題;對于BP神經(jīng)網(wǎng)絡(luò)的固有缺陷,采用GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,以克服BP神經(jīng)網(wǎng)絡(luò)易陷入局部極值等缺點,提出基于相空間重構(gòu)原理的GA-BP需水預(yù)測模型,以上海市需水預(yù)測為例進行實例分析,研究提高需水預(yù)測精度的有效方法。
圖1 GA-BP算法流程
相空間重構(gòu)的目的是在高維相空間中恢復(fù)混沌吸引子。由于吸引子的內(nèi)在行為具有不規(guī)則性及混沌吸引子具有復(fù)雜的幾何結(jié)構(gòu),一般來說,不同的混沌實測數(shù)據(jù)應(yīng)建立不同的混沌模型?;煦缒M是在相空間中進行的,其原理就是在相空間中找到一個非線性模型去逼近系統(tǒng)動態(tài)特性,實現(xiàn)一定時期內(nèi)的預(yù)測[14]。
設(shè)給定的時間序列為xt(t=1,2…,N),將一維時間序列延拓為m維相空間時間序列:
式中:N為總相點數(shù);m為嵌入維數(shù);τ為延遲時間;M為相空間中的相點數(shù),且 M=N-mτ。根據(jù)Takens定理,選擇合適的嵌入維數(shù)和時間延遲就可以在拓?fù)涞葍r的意義下恢復(fù)原來系統(tǒng)的動力學(xué)形態(tài),因此存在一個光滑映射F:Rm→Rm,給出相空間軌跡的表達(dá)式為
式中:η為預(yù)測步長。
GA與BP神經(jīng)網(wǎng)絡(luò)均具有極強的解決問題的能力[15-18],二者相結(jié)合形成GA-BP算法,該算法將GA的全局尋優(yōu)能力與BP神經(jīng)網(wǎng)絡(luò)的指導(dǎo)性搜索思想相結(jié)合,既克服了尋優(yōu)中的盲目性,又避免了局部收斂情況的發(fā)生,使網(wǎng)絡(luò)性能得到極大的改善[19-20]。GA-BP算法流程如圖1所示。
GA-BP算法的實現(xiàn)步驟如下:
a.初始化種群P,包括交叉規(guī)模、交叉概率Pc、突變概率Pm以及對網(wǎng)絡(luò)權(quán)值和閾值初始化,并采用實數(shù)編碼方式對初始值進行編碼,設(shè)定種群規(guī)模n。
b.計算各個體評價函數(shù),將其排序,按下式概率值選擇網(wǎng)絡(luò)個體:
式中:pi為選擇概率;fi為個體i的適應(yīng)度值;n為染色體數(shù);Ei為誤差平方和;r為學(xué)習(xí)樣本數(shù);q為輸出節(jié)點數(shù);γi為網(wǎng)絡(luò)實際輸出;di為期望輸出。
c.以交叉概率Pc對個體Gi和Gi+1進行交叉操作,產(chǎn)生新個體G'i和G'i+1,沒有進行交叉操作的個體直接進行復(fù)制。
d.利用變異概率Pm突變產(chǎn)生Gj的新個體G'j。
e.將新個體插入到種群P中,并計算新個體的評價函數(shù)。
f.判斷計算是否結(jié)束。如果找到滿意個體,則結(jié)束;否則轉(zhuǎn)到步驟c進入下一輪運算。
g.計算結(jié)束,達(dá)到預(yù)先設(shè)定的性能指標(biāo)后,將最終種群中的最優(yōu)個體解碼,即可得到優(yōu)化后的網(wǎng)絡(luò)連接權(quán)值系數(shù)。
h.將優(yōu)化得到的網(wǎng)絡(luò)連接權(quán)值系數(shù)賦值給BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練及預(yù)測輸出。
基于相空間重構(gòu)原理,利用試湊的方法確定需水預(yù)測時間序列的延遲時間τ與嵌入維數(shù)m,構(gòu)建BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型。在確定BP最佳網(wǎng)絡(luò)結(jié)構(gòu)以及獲得較好預(yù)測精度的前提下,為不失一般性,在相同網(wǎng)絡(luò)結(jié)構(gòu)、傳遞函數(shù)、訓(xùn)練函數(shù)及期望誤差等條件下,運用GA來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,構(gòu)建GA-BP需水預(yù)測模型,具體預(yù)測步驟如下:
a.利用試湊的方法確定需水預(yù)測時間序列的延遲時間τ與嵌入維數(shù)m,確定BP神經(jīng)網(wǎng)絡(luò)的輸入向量、輸出向量、訓(xùn)練樣本和檢驗樣本,構(gòu)建BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型。
b.依據(jù)經(jīng)驗給定BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型的期望誤差和訓(xùn)練次數(shù),根據(jù)Kolmogorv定理得出一個初始隱含層節(jié)點數(shù),利用逐步增長或逐步修剪法確定最終隱含層節(jié)點數(shù);然后采用調(diào)整期望誤差或訓(xùn)練次數(shù),以及替換傳遞函數(shù)和訓(xùn)練函數(shù)等方法獲得最佳預(yù)測效果時的各相關(guān)參數(shù)。
c.在BP神經(jīng)網(wǎng)絡(luò)需水模型預(yù)測精度達(dá)到較理想狀態(tài)下,為不失一般性,利用GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,構(gòu)建GA-BP需水預(yù)測模型。
d.利用訓(xùn)練樣本對GA-BP需水預(yù)測模型進行訓(xùn)練,確定GA-BP預(yù)測模型等相關(guān)參數(shù)。
e.采用平均相對誤差和最大相對誤差兩個性能評價指標(biāo)對BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型和GA-BP需水預(yù)測模型的預(yù)測效果進行評價分析。
以上海市需水預(yù)測為例,收集了上海市1980—2011年的年用水量,并以1980—2009年的數(shù)據(jù)構(gòu)建需水預(yù)測模型的輸入、輸出向量,其中以上海市1980—2004年的年用水量作為訓(xùn)練樣本,2005—2009年的年用水量作為檢驗樣本,在模型達(dá)到期望精度后用于上海市2010—2015年的需水預(yù)測。
由于用水時間序列較短,設(shè)定延遲時間τ和嵌入維數(shù)m的取值范圍為1~4,并利用試湊的方法最終確定τ=1、m=4時的模型具有較好的預(yù)測效果,模型的輸入、輸出向量見表1。
2.2.1 時間序列預(yù)測方法
在單變量時間序列預(yù)測中,設(shè)有時間序列{xi},其中歷史數(shù)據(jù)為{xj,xj+1,…,xj+l},對未來 j+l+η(η >0)時刻的取值進行預(yù)測,即預(yù)測xj+l+η的值。方法是求出歷史數(shù)據(jù){xj,xj+1,…,xj+l}與 xj+l+η的某種非線性函數(shù)關(guān)系:xj+l+η=F(xj,xj+1,…,xj+l)。
表1 上海市1980—2010年需水預(yù)測模型輸入、輸出向量 億m3
單變量時間序列預(yù)測常用的方法有3種:單步預(yù)測(η=1)、多步預(yù)測(η>1)和滾動預(yù)測(進行單步預(yù)測,然后將輸出反饋給輸入端作為網(wǎng)絡(luò)輸入的一部分,預(yù)測未來某個時刻的值)。本文采用單變量滾動預(yù)測的方法對上海市2010—2015年的需水量進行預(yù)測。
2.2.2 數(shù)據(jù)標(biāo)準(zhǔn)化處理
對原始數(shù)據(jù)進行歸一化處理有利于神經(jīng)網(wǎng)絡(luò)訓(xùn)練。本文采用最大最小法進行數(shù)據(jù)處理,公式如下:
2.2.3 神經(jīng)網(wǎng)絡(luò)訓(xùn)練
BP神經(jīng)網(wǎng)絡(luò)模型:采用MATLAB軟件編寫B(tài)P神經(jīng)網(wǎng)絡(luò)算法程序?qū)崿F(xiàn)需水預(yù)測,程序采取循環(huán)訓(xùn)練算法確定網(wǎng)絡(luò)結(jié)構(gòu),最終確定BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型的結(jié)構(gòu)為4-3-1,隱含層和輸出層傳遞函數(shù)分別采用logsig和purelin,訓(xùn)練函數(shù)采用traingdx,學(xué)習(xí)速率為0.01,設(shè)定期望誤差為0.0001,最大訓(xùn)練輪回為10000次時網(wǎng)絡(luò)達(dá)到了較好的預(yù)測精度。
GA-BP模型:基于公平原則,在上述BP神經(jīng)網(wǎng)絡(luò)較佳結(jié)構(gòu)及相同參數(shù)條件下,運用GA來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。GA參數(shù)設(shè)置為:種群規(guī)模為100,進化次數(shù)為100次,交叉概率和變異概率等參數(shù)采用謝菲爾德GA工具箱的默認(rèn)值。
2.2.4 模型評價指標(biāo)
選取平均相對誤差eMRE、最大相對誤差emaxRE作為模型的評價指標(biāo),其計算公式如下:
利用上述訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型、GA-BP需水預(yù)測模型對上海市2005—2009年的樣本進行檢驗,并對2010—2015年的年需水量進行預(yù)測,結(jié)果見表2和表3。
表2 上海市2005—2009年的年用水量檢驗結(jié)果及比較
表3 上海市2010—2015年的年需水量預(yù)測結(jié)果及比較
分析表2、表3可以得出:
a.基于相空間重構(gòu)的BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型和GA-BP需水預(yù)測模型的需水預(yù)測效果均令人滿意,GA-BP需水預(yù)測模型樣本檢驗的平均相對誤差和最大相對誤差分別為1.4344%和2.7672%,均優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果,表明基于相空間重構(gòu)的GA-BP需水預(yù)測模型用于需水預(yù)測具有較好的預(yù)測精度和泛化能力,是提高需水預(yù)測精度的有效途徑和方法。
b.由于本文BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練采用traingdx算法,該算法具有附加動量和自適應(yīng)調(diào)整算法的優(yōu)點,在一定程度上能有效避免收斂速度慢、陷入局部極值的缺陷。因此,基于相空間重構(gòu)原理的BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型在上海市需水預(yù)測中同樣具有很好的預(yù)測精度。在相同網(wǎng)絡(luò)結(jié)構(gòu)、傳遞函數(shù)、訓(xùn)練函數(shù)等條件下,采用GA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值,使GA-BP模型的需水預(yù)測達(dá)到了更高的精度。
c.從表3可以看出,相同年份的GA-BP預(yù)測模型對上海市的需水預(yù)測結(jié)果要小于BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型。GA-BP需水預(yù)測模型對2010—2015年的需水預(yù)測結(jié)果表明,其年需水量增幅在1.24%~0.88%之間,呈逐年下降趨勢,這與我國實行最嚴(yán)格水資源管理制度以及城市需水增長緩慢的實際基本相符,表明基于相空間重構(gòu)的GA-BP需水預(yù)測模型用于城市需水預(yù)測的精度更高、更合理。從2010—2011年需水預(yù)測結(jié)果與實際值相比來看,GA-BP需水預(yù)測模型需水量預(yù)測結(jié)果的相對誤差僅分別為0.5136%和0.0270%,均優(yōu)于BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測模型。
針對多元變量需水預(yù)測模型中變量之間普遍存在多重共線性問題以及BP神經(jīng)網(wǎng)絡(luò)收斂速度慢、易陷入局部極值等缺點,提出了一種基于相空間重構(gòu)原理的GA-BP單因子需水預(yù)測模型,并對上海市需水預(yù)測為例進行實例驗證。結(jié)果表明,GA-BP需水預(yù)測模型克服了傳統(tǒng)多變量需水預(yù)測模型輸入變量之間產(chǎn)生的多重共線性問題以及BP神經(jīng)網(wǎng)絡(luò)易陷入局部極值等缺點,提高了需水預(yù)測的精度。GA-BP模型具有預(yù)測精度高、泛化能力強等優(yōu)點,有著良好的推廣應(yīng)用價值。按照本文提出的相空間重構(gòu)GA-BP單因子需水預(yù)測模型預(yù)測出上海市2012—2015年的年需水量分別為 31.51億 m3、31.86億m3、32.17億m3和32.45億m3。
[1]劉衛(wèi)林.幾種需水量預(yù)測模型的比較研究[J].人民長江,2008,39(6):19-22.(LIU Weilin.Comparative research on several models for water demand forecast[J].Yangtze River,2008,39(6):19-22.(in Chinese))
[2]王建華.城市需水量的混沌預(yù)測[J].中國農(nóng)村水利水電,2008(8):32-34.(WANG Jianhua.Chaos-prediction in urban water consumption[J].China Rural Water and Hydropower,2008(8):32-34.(in Chinese))
[3]蔣紹階,江崇國.灰色神經(jīng)網(wǎng)絡(luò)最優(yōu)權(quán)組合模型預(yù)測城市需水量[J].重慶建筑大學(xué)學(xué)報,2008,30(2):113-115.(JIANG Shaojie,JIANG Chongguo.Urban water demand forecasting by combining improved BP neural network and grey model with optimum weight[J].Journal of Chongqing Jianzhu University,2008,30(2):113-115.(in Chinese))
[4]CUBERO R G.Neural networks for water demand time series forecasting[C]//The proceedings of international workshop on artificial neural networks(IWANN),1991.Granada:[s.n.],1991:453-460.
[5]張雪花,張宏偉,張寶安.SD法在城市需水量預(yù)測和水資源規(guī)劃中的應(yīng)用研究[J].中國給水排水,2008,24(9):42-46.(ZHANG Xuehua,ZHANG Hongwei,ZHANG Baoan.Application of system dynamics approach to urban water demand forecasting and water resources planning[J].China Water & Wastewater,2008,24(9):42-46.(in Chinese))
[6]張志果,邵益生,徐宗學(xué).基于恩格爾系數(shù)與霍夫曼系數(shù)的城市需水量預(yù)測[J].水利學(xué)報,2011,41(11):1304-1306.(ZHANG Zhiguo,SHAO Yisheng,XU Zongxue.Prediction of urban water demand based on Engel Index and Hoffmann Coefficient[J].Journal of Hydraulic Engineering,2011,41(11):1304-1306.(in Chinese))
[7]劉勇健,沈軍.城市需水量預(yù)測的混沌神經(jīng)網(wǎng)絡(luò)模型[J].水 電 能 源 科 學(xué),2005,23(1):15-17.(LIU Yongjian,SHEN Jin.Prediction model of urban water consumption based on chaos neural network [J].Hydroelectric Energy,2005,23(1):15-17.(in Chinese))
[8]KANTZ H,SCHREIBER T.Nonlinear time series analysis[M].Cambridge:Cambridge University Press,1997.
[9]FRASER A M,SWINNEY H L.Independent coordinates for strange attractors from mutual in formation[J].Physical Review A,1986,33(2):1134-1140.
[10]GRASSBERGER P,PROCACCIA I.Measuringthe strangeness of strange attractors[J].Physica D,1983,9:189-208.
[11]KENNEL M B,BROWN R,ABARBANEL H D I.Determining embedding dimension for phase-space reconstruction using a geometrical construction [J].Physical Review A, 1992, 45( 6) : 3403-3407.
[12]KUGIURMTZIS D.State space reconstruction parameters in the analysis of chaotic times series-the role of the time window length[J].Physica D,1996,95:13-28.
[13]KIM H S,EYKHOLT R,SALAS J D.Nonlinear dynamics,delay times and embedding windows[J].Physica D,1999,127:48-60.
[14]邵東國,劉丙軍,陽書敏,等.水資源繁雜系統(tǒng)理論[M].北京:科學(xué)出版社,2012.
[15]崔東文.基于BP神經(jīng)網(wǎng)絡(luò)的文山州水資源承載能力評價分析[J].長江科學(xué)院報,2012,29(5):9-15.(CUI Dongwen.Evaluation and analysis of water resources carrying capacity in wenshan prefecture based on BP neural network[J].Yangtze River Scientific Research Institute,2012,29(5):9-15.(in Chinese))
[16]崔東文.幾種神經(jīng)網(wǎng)絡(luò)模型在湖庫富營養(yǎng)化程度評價中的應(yīng)用[J].水資源保護,2012,28(6):12-18.(CUI Dongwen.Applications of several neural network models to eutrophication evaluation of lakes and reservoirs[J].Water Resources Protection,2012,28(6):12-18.(in Chinese))
[17]王小川,史峰,郁磊,等.MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析[M].北京:北京航空航天大學(xué)出版社,2010.
[18]苑希民,李鴻雁,劉樹坤,等.神經(jīng)網(wǎng)絡(luò)和遺傳算法在水科學(xué)領(lǐng)域的應(yīng)用[M].北京:中國水利水電出版社,2002.
[19]翟宜峰,李鴻雁,劉寒冰,等.遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)初始權(quán)重方法的研究[J].吉林大學(xué)學(xué)報:工學(xué)版,2003,33(2):45-50.(ZHAI Yifeng,LI Hongyan,LIU Hanbing,et al.Method for optimizing initial weights of ANNs by GAs[J].Journal of Jilin University of Technology:Natural Science Edition,2003,33(2):45-50.(in Chinese))
[20]汪金良,盧宏,曾青云.GA-BP算法及其在冰銅品位神經(jīng)網(wǎng)絡(luò)模型中的應(yīng)用[J].江西有色金屬,2003,17(3):39-41.(WANG Jinliang,LU Hong,ZENG Qingyun.Application of GA-BP to the Matte Grade Model Based on Neural Network[J].Jiangxi Nonferrous Metals,2003,17(3):39-41.(in Chinese))