聶紅梅 趙建軍 李興菊 王迎
摘要:建立高精度水量預(yù)測算法模型,有利于水資源充分利用。以北京市2002-2015年需水量為例,對數(shù)據(jù)進行相關(guān)性分析后選出主要影響因素,然后采用主成分回歸法、逐步回歸法、灰色模型以及BP神經(jīng)網(wǎng)絡(luò)共4種方法進行建模,并用北京市2016年和2017年數(shù)據(jù)進行模型精度驗證。結(jié)果表明:4種方法都適合用于城市需水量預(yù)測,其中主成分分析和逐步回歸分析兩種方法主要考慮了多元線性回歸存在多重共線性,但是逐步回歸模型優(yōu)于主成分回歸模型。將4種模型進行對比驗證,BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測精度最高,平均相對誤差達到0.79%,用來預(yù)測2016-2017年需水量,預(yù)測結(jié)果分別為38.66億m3、39.49億m3,適合作為城市需水量預(yù)測方法。
關(guān)鍵詞:需水量預(yù)測;多重共線性;主成分回歸模型;逐步回歸模型;灰色模型;BP神經(jīng)網(wǎng)絡(luò)模型
DOI:10.11907/rjdk.191311開放科學(xué)(資源服務(wù))標識碼(OSID):
中圖分類號:TP312文獻標識碼:A 文章編號:1672-7800(2019)010-0069-05
0引言
水是不可缺少的資源,隨著社會發(fā)展,需水量越來越大。為了最大限度減少水資源浪費情況,減少供水設(shè)施的各項投資總額,保證水資源供需平衡,對城市需水量進行準確預(yù)測是一種不錯選擇。目前,在城市需水量預(yù)測方面,國內(nèi)外已有許多專家學(xué)者做了大量研究。如Brekke等在城市需水量預(yù)測中引入逐步回歸法,該模型建模時間短且效率高;Jain等分別對8種模型進行評價,對短期用水進行預(yù)測、測試和檢驗;張洪國等用灰色預(yù)測模型建立年用水量預(yù)測模型,雖然預(yù)測精確度較高、易于檢驗,但是預(yù)測時間短;趙明等應(yīng)用支持向量機模型,通過拉格朗日對偶形成凸函數(shù),并優(yōu)化求解,支持向量機模型降低了算法復(fù)雜度,提高了模型泛化能力,但要求數(shù)據(jù)量大。
總的來說,現(xiàn)有預(yù)測方法大體分為3類:定性預(yù)測法、定量預(yù)測法以及其它預(yù)測法。當(dāng)掌握的歷史資料比較缺乏時,可以用定性預(yù)測方法;當(dāng)歷史數(shù)據(jù)比較多且易于獲得時,可以用定量預(yù)測法;其它預(yù)測方法包括類比法、指標分析法等。由于需水預(yù)測算法各有優(yōu)劣,而進行需水預(yù)測時需結(jié)合預(yù)測目的、特點、用水變化規(guī)律等合理選擇一種或幾種預(yù)測算法,因此在進行水量預(yù)測時必然會面臨預(yù)測算法的選擇問題。
為了找到一種預(yù)測精度較高的城市需水量預(yù)測算法模型,本文分別采用多元線性回歸中的主成分回歸和逐步回歸分析法、灰色預(yù)測模型以及BP神經(jīng)網(wǎng)絡(luò)算法預(yù)測城市需水量。盡管這幾種算法在城市需水預(yù)測中已經(jīng)有了一定研究,但是幾種算法應(yīng)用的比較分析相對不足?;谝陨戏椒?,以北京市2002-2017年需水量數(shù)據(jù)為例,對幾種算法進行建模仿真并驗證,找出其適應(yīng)特性,為以后選擇城市需水量預(yù)測算法提供參考。
1需水量預(yù)測方法原理
1.1多元線性回歸模型
多元線性回歸法是研究某個事物與其它多個變量之間關(guān)系的方法。其回歸模型為:
1.1.1主成分分析
主成分分析法采用對數(shù)據(jù)從高維降到低維的方式選出幾個不具有相關(guān)關(guān)系的綜合指標,將幾個綜合指標作為主成分,建立它與因變量的回歸方程,其中,幾個主成分包含原始數(shù)據(jù)的大部分信息。主成分分析法一方面可以用來消除多重共線性和將m維降至p維(m>p),另一方面有時會出現(xiàn)命名不清晰的情況,無法解釋其中一些變量,使結(jié)果不合理。
主成分分析步驟:
(1)數(shù)據(jù)標準化處理。表達式為:
1.1.2逐步回歸分析
逐步回歸分析通常用來消除共線性,通過選取最好的子集變量排除不顯著變量,使得多重共線性被消除,從而使模型性能更佳。詳細步驟是:從原始自變量中隨意挑選一個變量開始,每個步驟中只引入或排除一個自變量,自變量是否引入或排除主要根據(jù)F檢驗與偏回歸平方和加以判斷。每次引入一個變量時,如果原來引入的變量由于新引入變量而使F變得不再顯著,則排除該變量。每次引入或排除變量都要執(zhí)行F檢驗,以保證每引入或排除變量前,回歸方程中只有顯著變量。不斷重復(fù)這個過程,等到?jīng)]有不顯著的變量被選人回歸方程,也沒有顯著變量被回歸方程排除就結(jié)束。逐步回歸分析法一方面可以保留顯著變量和消除共線性,另一方面也容易將一些較重要的變量排除在外,導(dǎo)致信息不完整。
1.2灰色模型
灰色G(1,1)模型先對原數(shù)據(jù)序列進行一步步累加,生成趨勢較大的新數(shù)據(jù)序列,然后利用新數(shù)據(jù)建模并預(yù)測,最后通過累減方式還原成原來的數(shù)據(jù)序列。根據(jù)灰色理論建立一元微分方程G(1,1)。
1.3BP神經(jīng)網(wǎng)絡(luò)模型
BP神經(jīng)網(wǎng)絡(luò)采用誤差反向傳播算法進行訓(xùn)練,且自學(xué)習(xí)能力、容錯能力較強。其結(jié)構(gòu)如圖1所示。
BP神經(jīng)網(wǎng)絡(luò)包括正向傳播和誤差逆向傳播。當(dāng)進行正向傳播時,輸入信號經(jīng)過隱含層處理后,轉(zhuǎn)向輸出節(jié)點以通過某種變換產(chǎn)生輸出信號,然后計算輸出誤差;若實際輸出值與期望輸出值沒有達到所需要求,則進行誤差逆向傳播。誤差逆向傳播對誤差按照原來通路返回的方式,通過修改連接權(quán)和閾值,使誤差沿目標的負梯度方向調(diào)整。不斷重復(fù)這一迭代過程,直到達到一定條件,訓(xùn)練即可停止。其網(wǎng)絡(luò)訓(xùn)練過程為:①網(wǎng)絡(luò)初始化;②計算隱含層的輸出;③計算輸出層的輸出;④計算誤差;⑤更新連接權(quán);⑥更新閾值;⑦判斷是否達到停止條件,若沒有,則返回過程②繼續(xù)循環(huán),反之,結(jié)束訓(xùn)練。
2應(yīng)用實例
2.1數(shù)據(jù)處理
收集整理2002-2017年北京市需水量相關(guān)數(shù)據(jù)??紤]經(jīng)濟、社會、氣候是影響城市總需水量的主要因素,選取北京市11個影響因子為主要影響因素。如表2所示,x1表示常住人口(萬人)、x2表示人均可支配收入(元)、x3表示人均生產(chǎn)總值(元/人)、x4表示工業(yè)生產(chǎn)總值(億元)、x5表示社會固定資產(chǎn)投資(億元)、x6表示城市綠化覆蓋率(%)、x7表示有效灌溉面積(千hm2)、x8表示農(nóng)作物播種面積(萬hm2)、x9表示發(fā)電量(億kw.h)、x10表示年降水量(mm)、x11表示平均氣溫(℃),需水量(億m2)用y表示。
應(yīng)用SPSS軟件對影響因子進行相關(guān)性分析,選擇相關(guān)性系數(shù)|r|>0.7的影響因子,即人口、人均可支配收入、人均生產(chǎn)總值、工業(yè)生產(chǎn)總值、社會固定資產(chǎn)投資、城市綠化覆蓋率、農(nóng)作物播種量以及發(fā)電量作為主要影響因子。
2.2多元線性回歸模型預(yù)測結(jié)果
判斷8個主要影響因素是否存在多重共線性情況,結(jié)果如表3所示。
通過表3可知,其容差范圍在0.001~0.010之間,均小于0.1;方差膨脹因子范圍在52.278-918.564之間,均大于10,由此可以判斷自變量間有很強的共線性情況。下文分別采用主成分分析和逐步回歸分析解決該種情況。
2.3灰色預(yù)測模型預(yù)測結(jié)果
采用北京市2002-2015年用水量數(shù)據(jù)建立灰色G(1,1)模型,預(yù)測2016-2017年用水量。先用灰色模型中的式(7)求出參數(shù)a,再把a代人式(5)求出參數(shù)u,然后把a和u兩個參數(shù)代人式(9),從而求出預(yù)測值,模型驗證采用后驗差檢驗法。最終得到的灰色預(yù)測模型如下:
其中,均方差比值和小誤差概率分別為C=0.343 1、P:0.857 1;參照預(yù)測精度等級表,可以得出其預(yù)測精度等級為合格。由此可以說明灰色G(1,1)模型適合用于城市需水量預(yù)測。
利用該模型預(yù)測北京市2002-2015年需水量,結(jié)果如表4所示。
2.4BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測結(jié)果
利用北京市2002-2015年需水量相關(guān)數(shù)據(jù),把經(jīng)過皮爾遜相關(guān)性分析后得到的8個主要影響因子作為輸入、實際需水量作為輸出,建立BP神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)主要采用學(xué)習(xí)率自適應(yīng)梯度下降法,迭代次數(shù)設(shè)置為100次,誤差目標值和學(xué)習(xí)速率分別設(shè)置為0.001、0.000 5;經(jīng)過不斷訓(xùn)練后得到最終的神經(jīng)網(wǎng)絡(luò)模型。用該模型預(yù)測2002-2015年需水量,最終得到不同模型下北京市2002-2015年實際值與預(yù)測值及相對誤差(見表4)。
通過分析表4,比較這幾種算法模型結(jié)果可得:主成分回歸模型和逐步回歸模型的平均相對誤差分別為2.07%、1.14%;灰色G(1,1)模型比逐步回歸模型的平均相對誤差高0.33%,且2002年預(yù)測值與真實值一致;而利用BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測時,平均相對誤差為0.79%,在2004-2007年連續(xù)4年中相對誤差都低于平均相對誤差,總體擬合效果較好。綜合可知,上述模型中主成分回歸模型精確度最差,灰色模型精確度次之,逐步回歸模型精確度稍高,而BP神經(jīng)網(wǎng)絡(luò)模型精確度最高。
為了進一步驗證模型精確度,將上述4種模型用來預(yù)測北京市2016-2017年用水量,該兩年實際值分別為39.0億m3、39.5億m3。利用主成分回歸模型得到的預(yù)測值分別為36.54億m3、36.67億m3;利用逐步回歸模型得到的預(yù)測值分別為38.29億m3、38.89億m3;利用灰色模型得到的預(yù)測值分別為38.06億m3、38.40億m3;而利用BP神經(jīng)網(wǎng)絡(luò)得到的預(yù)測值分別為38.66億m3、39.49億m3。綜上可知,BP神經(jīng)模型得到的預(yù)測值更符合實際值,相對誤差分別為0.88%、0.03%,具有更高精確度,可以用來預(yù)測城市需水量。
3結(jié)語
在多元線性回歸中,采用主成分分析和逐步回歸分析兩種方法都是為了消除多重共線性,但是應(yīng)用在城市需水量預(yù)測中時,逐步回歸模型的預(yù)測精確度明顯更高。灰色G(1,1)模型與逐步回歸模型的預(yù)測精度相差不大,而灰色G(1,1)與BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度相比差距較大。主要原因是:一方面,灰色G(1,1)模型的精確度要求累加數(shù)據(jù)具有指數(shù)性質(zhì),而實際累加的數(shù)據(jù)未必具有指數(shù)規(guī)律;另一方面,灰色G(1,1)模型沒有考慮其它影響因素,因此導(dǎo)致預(yù)測結(jié)果與實際值相比存在較大誤差。BP神經(jīng)網(wǎng)絡(luò)模型不僅考慮需水量相關(guān)影響因素,而且建模時把全部數(shù)據(jù)同時作為訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù),通過不斷訓(xùn)練和檢驗,很大程度上提升了模型預(yù)測精度,使得最終預(yù)測精度為0.79%。在實際生活中,城市需水量預(yù)測有多種方法。當(dāng)有大量歷史數(shù)據(jù)時,可以考慮灰色模型和BP神經(jīng)網(wǎng)絡(luò);若考慮城市需水量各種影響因素且數(shù)據(jù)容易獲得時,可采用BP神經(jīng)網(wǎng)絡(luò)及逐步回歸分析算法。