張忠國
(遼寧省丹東水文局,遼寧 丹東118000)
如今,隨著我國城市化和工業(yè)化的發(fā)展,水資源的需求壓力越來越大。因此,研究一個區(qū)域需水量,對該區(qū)域用水的可持續(xù)發(fā)展具有非常重要的意義。
需水預(yù)測是需水管理的基礎(chǔ),國內(nèi)外研究方法有很多,從經(jīng)驗法或函數(shù)法到數(shù)學方法都可以用于需水量的預(yù)測。目前常用的預(yù)測的方法主要有趨勢分析法、時間序列法、系統(tǒng)分析法等等。但由于實際經(jīng)濟社會用水需求的影響因素眾多,單獨使用一種模型預(yù)測時往往造成預(yù)測結(jié)果與實際偏差較大。Pulido-Calvo等提出了一個將CNNS、模糊邏輯和遺傳算法結(jié)合起來的混合模型;HU利用GM(1,N)預(yù)測技術(shù)和神經(jīng)網(wǎng)絡(luò)方法預(yù)測水泥強度;Antoni基于指數(shù)加權(quán)移動平均組合模型預(yù)測手足口病發(fā)病動態(tài)。
本文提出了一種基于自回歸求和滑動平均模型(ARIMA)和人工神經(jīng)網(wǎng)絡(luò)組合模型(ANN)對需水量進行預(yù)測的新方法。其中ARIMA模型描述歷史數(shù)據(jù)的線性關(guān)系,人工神經(jīng)網(wǎng)絡(luò)模擬數(shù)據(jù)的非線性規(guī)律。采用1995~2014年珠江市需水量統(tǒng)計數(shù)據(jù),建立ARIMA-ANN組合預(yù)測模型,利用該模型預(yù)測2015~2017年的需水量。
把一組時間序列的數(shù)據(jù)Yt看成是線性自相關(guān)結(jié)構(gòu)Lt與非線性結(jié)構(gòu)Nt兩部分組成
ARIMA-ANN組合模型預(yù)測共有三個步驟:
步驟1:用ARIMA模型對Yt進行預(yù)測。設(shè)預(yù)測結(jié)果為^Lt,原序列與ARIMA模型預(yù)測結(jié)果的殘差為et,即
序列{et}中隱含了原序列中的非線性關(guān)系:
式中:ε't為隨機誤差。
步驟2:用ANN模型對{et}進行預(yù)測,即ANN來逼近非線性函數(shù)f,并設(shè)預(yù)測結(jié)果為。
步驟3:用兩種模型進行組合預(yù)測,結(jié)果為
其原理如圖1所示。
圖1 ARIMA-ANN混合模型原理示意圖
1.2.1 ARIMA 模型的概念
定義1如果序列Yt通過d次差分成為一個平穩(wěn)序列,而這個序列差分d-1次時卻不平穩(wěn),那么稱序列Yt為d階單整序列,記為Yt~I(d),特別地,如果Yt本身是平穩(wěn)的,則為零階單整序列,記為Yt~I(0)
定義2設(shè) Yt為 d階單整序列,即 Yt~I(d),記 Wt=ΔdYt,Wt為平穩(wěn)序列[i]?即
Wt~ I(0),則可對 Wt建立 ARIMA(p,q)模型為
定義3經(jīng)過d次差分變化后的ARIMA(p,q)模型稱為ARIMA(p,d,q)模型。
1.2.2 ARIMA 模型預(yù)測步驟
步驟1:對參數(shù)進行平穩(wěn)化處理。如果數(shù)據(jù)序列是非平穩(wěn)的,則需對數(shù)據(jù)進行差分處理。
步驟2:模型識別。即確定模型中的p,d,p等參數(shù)。
步驟3:參數(shù)評估與模型診斷。
步驟4:利用確定的模型進行預(yù)測。
人工神經(jīng)網(wǎng)絡(luò)模型具有高度非線性關(guān)系的映射能力 ,通過信號的前向傳播實現(xiàn)由輸入到輸出的非線性映射,借助于誤差信號的反向傳播來對權(quán)值不斷進行修正。
圖2 人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
人工神經(jīng)網(wǎng)絡(luò)預(yù)測前首先要訓(xùn)練好網(wǎng)絡(luò),通過訓(xùn)練使網(wǎng)絡(luò)具有聯(lián)想記憶和預(yù)測能力。人工神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程包括以下幾個步驟:
1)網(wǎng)絡(luò)初始化
根據(jù)系統(tǒng)輸入序列確定網(wǎng)絡(luò)輸入層節(jié)點數(shù)n,隱含層節(jié)點數(shù)1,輸入層節(jié)點數(shù)m,初始化輸入層、隱含層和輸出層神經(jīng)元之間的連接權(quán)值Wij和Wjk,初始化隱含層閥值a,輸出層閥值b,給定學習速率和神經(jīng)元激勵函數(shù)。
2)隱含層輸入計算
根據(jù)輸入向量X,輸入層和隱含層間連接權(quán)值Wij以及隱含層閥值a,計算隱含層輸出H。
3)輸出層輸出計算
根據(jù)隱含層輸出H,連接閥值Wjk和閥值b,計算人工神經(jīng)網(wǎng)絡(luò)預(yù)測輸出Y。
4)誤差計算
根據(jù)網(wǎng)絡(luò)預(yù)測輸出Y和期望輸出0,計算網(wǎng)絡(luò)預(yù)測誤差e
5)權(quán)值更新
根據(jù)網(wǎng)絡(luò)預(yù)測輸出誤差e更新網(wǎng)絡(luò)連接權(quán)值Wij和Wjk。
式中:η為學習速率。
6)閥值更新
根據(jù)網(wǎng)絡(luò)預(yù)測誤差e更新網(wǎng)絡(luò)節(jié)點閥值a,b。
7)判斷算法迭代是否結(jié)束,若沒有結(jié)束,返回步驟(2)
把單獨使用ARIMA模型預(yù)測和使用ARIMA-ANN混合模型預(yù)測所得結(jié)果進行對比分析,采用3個指標來衡量測試效果。
1)相對誤差
2)平均相對誤差
3)相關(guān)系數(shù)
本文選取珠江市1995~2014年需水量為樣本,利用ARIMA-ANN組合模型進行預(yù)測,并與實際的需水量對比來進行誤差分析。
先做出珠江市需水量的時間序列圖(圖3),從圖3可以看出,序列非平穩(wěn)且有明顯上升趨勢,為將原序列轉(zhuǎn)化為平穩(wěn)的時間序列,對需水量數(shù)據(jù)進行一階差分來消除線性趨勢。
圖3 某市需水量的時間序列圖
模型中p,q,d等參數(shù)的確定可以利用 SPSS軟件中的ARIMA子程序來實現(xiàn),最終確該需水量序列模型為ARIMA(0,1,0)模型。利用該模型所得到的預(yù)測值見表1。
圖4 兩種預(yù)測結(jié)果與實測數(shù)據(jù)的比較
圖5 ARIMA模型、ARIMA-ANN模型預(yù)測值相對誤差比較
由于ARIMA模型預(yù)測的誤差只有1995~2014年,所以ARIMA-ANN模型的總樣本量 N=20。以 1996~1998,1997~1999……2011~2013年ARIMA預(yù)測誤差數(shù)據(jù)作為網(wǎng)絡(luò)輸入,1999~2014年的數(shù)據(jù)作為理想輸出,即以前3年數(shù)據(jù)作為ARIMA-ANN的輸入變量,以當年數(shù)據(jù)作為 輸出變量,組成樣本數(shù)據(jù)對網(wǎng)絡(luò)進行訓(xùn)練。因此,ARIMA-ANN的輸入神經(jīng)元為3,輸出神經(jīng)元為1,中間層的節(jié)點數(shù)選定為7個,網(wǎng)絡(luò)結(jié)構(gòu)為3-7-1。
圖4畫出了兩種預(yù)測結(jié)果與實測數(shù)據(jù)的比較圖,從圖中可以看出使用混合模型預(yù)測的結(jié)果相比而言與實際更接近。
由表1和圖5可以看出,用ARIMA-ANN組合模型平均相對誤差為3.06%,精度更高,相關(guān)系數(shù)為0.99,數(shù)據(jù)相關(guān)性更強,適合進行需水量預(yù)測。
利用混合模型模型預(yù)測該市2015~2017年需水量分別為 6.15,6.26,6.31(億 m3)
表1 ARIMA模型預(yù)測結(jié)果與混合模型預(yù)測結(jié)果對比
在需水量預(yù)測中,利用 ARIMA-ANN混合預(yù)測,既有效的捕抓了序列的相關(guān)性,又刻畫了需水量序列的非線性關(guān)系。從預(yù)測結(jié)果看,混合模型的預(yù)測值優(yōu)于應(yīng)用單一的時間序列模型的預(yù)測值。該混合模型對珠江市需水量的預(yù)測具有較好的預(yù)測效果,對于一般的預(yù)測問題也具有一定的使用價值。
[1]姜翠玲.城市生態(tài)環(huán)境需水量的計算方法[J].河海大學學報.2004,32(1):15 -18.
[2]賀麗媛,夏軍,張利平.水資源需求預(yù)測的研究現(xiàn)狀及發(fā)展趨勢[J].長江科學院院報.2007,24(1):61 - 64.
[3]徐科,徐金梧,班曉娟.基于小波分解的某些非平穩(wěn)時間序列預(yù)測方法[J].電子學報.2001,4(29):566 -568.
[4]胡勇,等.信息系統(tǒng)風險分析的工程方法研究[J].計算機工程.2006(7),29 -31.
[5]孟明星,王金文,周永紅.自回歸模型在月徑流過程概率預(yù)報中的應(yīng)用[J].水電自動化與大壩測.2005,2 9(2):74-76.
[6]邢峰.數(shù)學建模方法在城市年供水量預(yù)測中的應(yīng)用[J].長春大學學報.2008,18(6):49 -50.
[7]范劍青,姚琦偉.5非線性時間序列建模、預(yù)報及應(yīng)用6[M].陳敏譯,高等教育出版社.2005.
[8]石玉文,張遠四,單友良.神經(jīng)網(wǎng)絡(luò)在城市供水量預(yù)測中的應(yīng)用[J].計算機與數(shù)字工程.2009,37(1):165 -166.
[9]張欣,蔡偉光,萬健麟 ,等 .利用人工神經(jīng)網(wǎng)絡(luò)實現(xiàn)預(yù)測建模[J].預(yù)測.1997,(4).30 -35.
[10]焦李成 .神經(jīng)網(wǎng)絡(luò)系統(tǒng)理論[M].西安:西安電子科技大學出版社.1996.