郭強 李文竹 劉心
摘要:結(jié)合校園歷史用水?dāng)?shù)據(jù),采用貝葉斯BP神經(jīng)網(wǎng)絡(luò)區(qū)間預(yù)測方法,對校園用水量進行預(yù)測。首先運用貝葉斯準(zhǔn)則對BP神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,之后對區(qū)間預(yù)測進行仿真并和傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測法進行比較,結(jié)果顯示預(yù)測準(zhǔn)確率為%.7%,多數(shù)預(yù)測值和實際用水量吻合,相對誤差絕對值平均為1.6%,最大預(yù)測誤差為4.2%,表明該方法不僅可以解決傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)易陷入局部極小化和收斂速度慢的問題,而且能夠有效預(yù)測出校園日用水量的波動范圍,驗證了預(yù)測方法的有效性和精確性。
關(guān)鍵詞:需水量預(yù)測;區(qū)間預(yù)測;貝葉斯準(zhǔn)則;BP神經(jīng)網(wǎng)絡(luò)
中圖分類號:TV214.9 文獻標(biāo)志碼:A
水是人類生產(chǎn)、生活不可或缺的重要資源。隨著全球氣候變化和經(jīng)濟社會的發(fā)展,水資源短缺現(xiàn)象越來越嚴(yán)重,水資源供需矛盾加劇。需水量預(yù)測是供水、用水和節(jié)水規(guī)劃的重要基礎(chǔ)[1],進行合理有效的需水量預(yù)測是各個國家和地區(qū)水資源規(guī)劃的主要任務(wù)[2]。
目前國內(nèi)外所采用的需水量預(yù)測方法有很多種,比較常見的有:①基于恩格爾系數(shù)的需水預(yù)測方法[3],該方法把恩格爾定律運用到城市生活用水量預(yù)測上面,能較好地反映生活用水量的變化,但是個別年份的相對誤差較大,對非線性數(shù)據(jù)預(yù)測不準(zhǔn)確;②基于灰色預(yù)測模型的需水量預(yù)測方法[4],通過分析歷史用水?dāng)?shù)據(jù),建立需水預(yù)測模型,能預(yù)測長期和短期的用水量,該方法無需太多歷史用水?dāng)?shù)據(jù),在數(shù)據(jù)極其匱乏的情況下很適用,但其對歷史用水?dāng)?shù)據(jù)具有很強的依賴性,而且沒有考慮各個影響因素之間的聯(lián)系;③BP神經(jīng)網(wǎng)絡(luò)需水預(yù)測方法[5-7],具有非線性映射能力,能預(yù)測非線性數(shù)據(jù),自學(xué)習(xí)和自適應(yīng)能力強,能夠自動提取數(shù)據(jù)和輸出數(shù)據(jù),容錯能力強,在局部或部分?jǐn)?shù)據(jù)受到干擾后不會影響最后的預(yù)測結(jié)果,但是容易陷人局部極小化,收斂速度比較慢,數(shù)據(jù)在傳遞過程中存在不確定性。上述需水預(yù)測方法得到的預(yù)測結(jié)果均是確定性的,屬于點預(yù)測,不足之處在于不能準(zhǔn)確預(yù)測用水量在未來時段的波動范圍,在實際供用水過程中會出現(xiàn)影響預(yù)測的各種不確定因素,而區(qū)間預(yù)測[8]能夠反映水資源需求的不確定性。
筆者提出一種基于貝葉斯準(zhǔn)則[9]的BP神經(jīng)網(wǎng)絡(luò)區(qū)間需水預(yù)測模型,能描述未來預(yù)測結(jié)果的波動范圍。該模型首先利用貝葉斯準(zhǔn)則求取預(yù)測值的均值與方差,進而確定BP神經(jīng)網(wǎng)絡(luò)最優(yōu)權(quán)值和閾值,避免BP神經(jīng)網(wǎng)絡(luò)陷于局部極小化;然后,通過構(gòu)造目標(biāo)函數(shù)對局部權(quán)值和閾值進行調(diào)整,解決BP神經(jīng)網(wǎng)絡(luò)算法收斂速度慢的問題;最后,將每一步迭代過程中的BP神經(jīng)網(wǎng)絡(luò)輸入量作為隨機變量,充分考慮BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)在傳遞過程中的不確定性。
1 需水量區(qū)間預(yù)測方法
先通過聚類算法[10]對不同的用水樣本數(shù)據(jù)進行歸類,得到多個不同的相似狀態(tài)數(shù)據(jù),然后輸入到基于貝葉斯準(zhǔn)則的BP神經(jīng)網(wǎng)絡(luò)區(qū)間預(yù)測模型中,輸出得到多個預(yù)測值,再根據(jù)用水歷史數(shù)據(jù)預(yù)測誤差概率分布范圍,最后形成需水量概率性區(qū)間預(yù)測結(jié)果。
1.1 用水樣本數(shù)據(jù)的聚類分析
選取歷史用水量樣本數(shù)據(jù)進行分析。首先采用聚類算法進行合理化分類,設(shè)定s為給定的用水?dāng)?shù)據(jù)之間的一個分類距離閾值,對日用水量的任意兩個數(shù)據(jù)X(t)、X(t),如果滿足下列公式,則稱X(t)和X(t)為一類,即屬于相似狀態(tài):式中:D(t,t)為兩個數(shù)據(jù)之間的距離。
為了提高預(yù)測精度,對同一類的兩個數(shù)據(jù)Xa和Xi進行關(guān)聯(lián)度計算,公式為式中:ri為數(shù)據(jù)X0和Xi的關(guān)聯(lián)度,關(guān)聯(lián)度越高表示數(shù)據(jù)越接近,預(yù)測精度越高;d為數(shù)據(jù)總量;k為數(shù)據(jù)中的某個值,取1到24;ξi(k)為數(shù)據(jù)X0和Xi在k點的關(guān)聯(lián)系數(shù);X0(k),Xi(k)分別為數(shù)據(jù)X0和Xi在k點的取值;p為關(guān)聯(lián)度的比例系數(shù)。
1.2 需水預(yù)測區(qū)間選取
區(qū)間預(yù)測是由點預(yù)測組合而成的,設(shè)輸入的用水?dāng)?shù)據(jù)為X(ti)(i=1,2,…,k),根據(jù)點預(yù)測方法,計算區(qū)間最小值min和最大值max,[min,max]即需水預(yù)測區(qū)間。公式為
min=min X(ti+η)(1
max=max X(ti+η)(1
1.3 相似狀態(tài)選取
為了量化預(yù)測值的可變性,引入方差公式,用來表示離X(t)最近的k個臨近點的狀態(tài):式中:σt2為預(yù)測的方差值,用水量數(shù)據(jù)從1輸入到k;X(ti)為輸入的第i個用水量數(shù)據(jù);μ為用水量平均值。
把輸入的數(shù)據(jù)進行相似狀態(tài)劃分,得出不同類別的輸出值。輸出值計算公式為
Yi=Y(X,δ)+εi(7)式中:Yi為同一類別的輸出值;Y(X,δ)為輸入的不同數(shù)據(jù);εi為誤差調(diào)節(jié)值,服從正態(tài)分布εi~N(0,σ2),用來調(diào)節(jié)誤差。
把經(jīng)過聚類的區(qū)間樣本數(shù)據(jù)輸入到貝葉斯BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型中,輸出的需水量預(yù)測結(jié)果會形成一個區(qū)間,再根據(jù)用水?dāng)?shù)據(jù)歷史預(yù)測誤差產(chǎn)生的概率分布范圍,形成需水量概率性區(qū)間預(yù)測結(jié)果。
2 貝葉斯優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值閾值
實現(xiàn)區(qū)間預(yù)測的關(guān)鍵在于對用水?dāng)?shù)據(jù)進行準(zhǔn)確分析,并利用BP神經(jīng)網(wǎng)絡(luò)進行有效訓(xùn)練及仿真。貝葉斯BP神經(jīng)網(wǎng)絡(luò)區(qū)間預(yù)測的步驟:①將篩選后的若干個用水樣本數(shù)據(jù)的相似狀態(tài)進行歸一化處理,初始化BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù);②BP神經(jīng)網(wǎng)絡(luò)初始化權(quán)值閾值,選擇和函數(shù)與核參數(shù),構(gòu)造似然函數(shù),利用貝葉斯準(zhǔn)則求得權(quán)值的高斯分布,采用反復(fù)迭代的極大似然估計方法找到最佳超參數(shù),確定最優(yōu)權(quán)值閾值;③對最優(yōu)權(quán)值閾值進行訓(xùn)練、仿真,對仿真輸出的數(shù)據(jù)進行仿真精度和預(yù)測精度驗證,輸出滿足條件的預(yù)測值;④對輸出的用水預(yù)測數(shù)據(jù)進行誤差校正,轉(zhuǎn)化數(shù)據(jù),輸出用水?dāng)?shù)據(jù)的預(yù)測結(jié)果。
2.1 神經(jīng)網(wǎng)絡(luò)權(quán)值概率分布
對于歸類輸出后的訓(xùn)練樣本(Xi,Yi)(i=1,2,…,n),應(yīng)用貝葉斯法則,可以得到神經(jīng)網(wǎng)絡(luò)權(quán)值的后驗概率分布[11],表達式為式中:α和σ2為最佳超參數(shù),決定權(quán)值ω的先驗分布;Y為輸出的用水量預(yù)測值;式中的分母為歸一化因子,表示權(quán)值的先驗分布。
神經(jīng)網(wǎng)絡(luò)權(quán)值的后驗概率分布同時服從多變量高斯分布[12]:
P(ω|Y,α,σ2)=N(μ,Σ)(9)式中:Σ為用水量數(shù)據(jù)的協(xié)方差。
通過均值和協(xié)方差來確定最佳超參數(shù),從而確定最優(yōu)權(quán)值。
2.2 權(quán)值最優(yōu)解
根據(jù)用水?dāng)?shù)據(jù)的均值和協(xié)方差,采用極大似然估計方法可得出最佳超參數(shù)α和σ2的最優(yōu)解:式中:Φ迭代參數(shù)。
反復(fù)計算上式直到滿足收斂條件,可以得到更新后的最佳超參數(shù),然后代入式(8)中,從而可以求出權(quán)值的最優(yōu)解。
2.3 閾值最優(yōu)解
將得到的權(quán)值最優(yōu)解代入下列公式,就可以求出BP神經(jīng)網(wǎng)絡(luò)的閾值最優(yōu)解:式中:Y*為輸出的最優(yōu)預(yù)測值;w*為最優(yōu)權(quán)值。
2.4 權(quán)值和閾值的調(diào)整
BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分為輸入層、隱含層和輸出層[13]3層,每一層都包含有神經(jīng)元。本研究把溫度、濕度、降水量作為輸入神經(jīng)元,把日用水量作為輸出神經(jīng)元,然后進行預(yù)測。
提供訓(xùn)練樣本,輸入向量X'=(X1',X2',…,Xn'),期望輸出向量Y'=(Y1',Y2',…,Yn'),對輸入的用水樣本數(shù)據(jù)進行迭代,得到神經(jīng)網(wǎng)絡(luò)的實際輸出值:式中;akj為第k個樣本在第j層的輸出;fj為修正系數(shù);wji為第j層和第i層的連接權(quán)值;aki為第k個樣本在第i層的輸出;bj為第j層的閾值。
在訓(xùn)練結(jié)束后,調(diào)整權(quán)值和閾值,對應(yīng)的輸出結(jié)果若不滿足精度要求,則繼續(xù)調(diào)整直至符合要求,其算法公式為式中:a為權(quán)系數(shù)調(diào)整常數(shù);δj為各層的反傳誤差。
調(diào)整主要是對上一層的權(quán)值和閾值進行誤差改進,為了加快收斂速度,一般要考慮上一層的權(quán)系數(shù)。
2.5 學(xué)習(xí)速率調(diào)整
標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)算法收斂速度緩慢的一個重要原因是學(xué)習(xí)速率選擇不當(dāng)[14],學(xué)習(xí)速率若選得太小,則收斂太慢;若選得太大,則有可能導(dǎo)致振蕩甚至發(fā)散。本文對于BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速率的調(diào)整方法是:在收斂的情況下,增大η,以縮短學(xué)習(xí)時間;當(dāng)η偏大致使不能收斂時,及時減小η,直到收斂為止。
3 仿真結(jié)果
3.1 需水區(qū)間預(yù)測結(jié)果
使用MATLAB軟件[15-16]進行需水預(yù)測仿真,以河北工程大學(xué)校園用水量為研究對象,采用2017年6月30日以前的日用水量樣本數(shù)據(jù)對6月30日的逐時用水量進行預(yù)測,并與實際值進行比較。首先根據(jù)聚類算法,將用水樣本數(shù)據(jù)相近的點進行歸類篩選,找到不同相似狀態(tài)的用水預(yù)測值,然后將這些預(yù)測值輸入到貝葉斯BP神經(jīng)網(wǎng)絡(luò)模型中,輸出得到需水區(qū)間預(yù)測曲線(見圖1)。由圖1可以看出,6月30日24個實際值均落在預(yù)測值區(qū)間內(nèi),說明本文的預(yù)測方法是準(zhǔn)確有效的。
3.2 需水預(yù)測區(qū)間置信水平
置信水平[17]是指總體參數(shù)值落在樣本統(tǒng)計值某一區(qū)間的概率,置信水平越高,說明所選取的區(qū)間范圍可靠程度越高,需水預(yù)測的結(jié)果也就越準(zhǔn)確。本文以區(qū)間覆蓋率XCP(實際測量值落在預(yù)測區(qū)間內(nèi)的概率)來衡量區(qū)間的置信水平,圖1所有的實際值都位于預(yù)測區(qū)間內(nèi),即區(qū)間覆蓋率達到了100%,表明本文的需水預(yù)測區(qū)間是有效的。
3.3 需水預(yù)測區(qū)間上限與下限曲線
取圖1預(yù)測結(jié)果曲線族的包絡(luò)曲線,得到預(yù)測區(qū)間上限與下限曲線(見圖2),日用水量逐時實際值全部落在預(yù)測區(qū)間內(nèi)。由預(yù)測區(qū)間上限和下限曲線可以更加直觀地看出實際用水量的波動范圍,雖然用水?dāng)?shù)據(jù)存在一定的局限性,但是本文的預(yù)測區(qū)間上下限波動范圍為50~350m3,實際值均落在區(qū)間之內(nèi),進而說明預(yù)測的有效性和精確度。
3.4 需水預(yù)測區(qū)間中值曲線
根據(jù)圖2預(yù)測區(qū)間上限和下限曲線得到區(qū)間中值曲線(見圖3),把區(qū)間中值作為需水量確定性預(yù)測結(jié)果,再結(jié)合貝葉斯準(zhǔn)則算出置信水平。由圖3可以看出,預(yù)測區(qū)間中值曲線和實際值曲線較為接近,但是局部仍存在一定的誤差,需要通過誤差校正的方法對中值曲線進行合理優(yōu)化,以提高預(yù)測精度。
3.5 預(yù)測區(qū)間中值誤差校正
在一定置信水平下,區(qū)間預(yù)測結(jié)果在某些點處的區(qū)間長度略顯過大,因此局部預(yù)測結(jié)果精度不高。為使需水量預(yù)測更加準(zhǔn)確,應(yīng)采取誤差校正的方法來改善輸出值,具體步驟如下。
(1)把區(qū)間預(yù)測輸出值中的最優(yōu)值u*輸入到數(shù)據(jù)訓(xùn)練庫中。
(2)求u*與BP神經(jīng)網(wǎng)絡(luò)的輸出均值u之差:
(3)對神經(jīng)網(wǎng)絡(luò)的輸出值ui進行誤差校正:式中:ui'為誤差校正之后的值;hi為反饋校正系數(shù)。
最后將校正過的結(jié)果輸出即可,校正后的區(qū)間中值曲線見圖4。
從圖4可以看出,經(jīng)過誤差校正之后的區(qū)間中值曲線和實際值曲線更為接近,逐時用水量經(jīng)過調(diào)整后更加趨近實際用水量,相對誤差絕對值平均為1.6%,誤差大于3%的點有3個,最大誤差為4.2%,預(yù)測準(zhǔn)確率為96.7%,說明本方法預(yù)測精度很高。
4 貝葉斯BP神經(jīng)網(wǎng)絡(luò)預(yù)測法與傳統(tǒng)BP
神經(jīng)網(wǎng)絡(luò)預(yù)測法的比較
傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測方法收斂速度較慢,本文根據(jù)貝葉斯法則構(gòu)造目標(biāo)函數(shù),對神經(jīng)網(wǎng)絡(luò)傳遞過程中的局部權(quán)值進行了調(diào)整,收斂速度大大加快。兩種預(yù)測方法的對比見圖5??梢钥闯?,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測方法容易陷入局部極小化,而貝葉斯BP神經(jīng)網(wǎng)絡(luò)預(yù)測方法改善了局部極小化的問題,需水預(yù)測結(jié)果更加準(zhǔn)確,精度更高。
5 結(jié)語
本文利用校園歷史用水?dāng)?shù)據(jù),采用貝葉斯準(zhǔn)則對BP神經(jīng)網(wǎng)絡(luò)進行合理優(yōu)化,解決了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)容易陷人局部極小化和收斂速度慢的問題,從仿真結(jié)果印證了區(qū)間預(yù)測方法的準(zhǔn)確度更高、預(yù)測效果更好,從而為需水預(yù)測提供了有效方法。
在建立需水預(yù)測模型的過程中,影響用水量的因素還有很多,對于輸入因子的選擇今后還需要進一步研究。另外,可以嘗試將其他效果較為理想的需水預(yù)測方法和BP神經(jīng)網(wǎng)絡(luò)預(yù)測方法結(jié)合起來形成組合預(yù)測模型進行研究。
參考文獻:
[1]李琳,左其亭,鄭二偉,等.水資源約束下城市需水量預(yù)測研究[J].水資源與水工程學(xué)報,2014,25(5):42-45.
[2]王詠鈴,夏軍,劉兵.基于水資源合理配置的地下水開發(fā)利用研究[J].人民黃河,2017,39(9):51-55.
[3]張志果,邵益生,徐宗學(xué).基于恩格爾系數(shù)與霍夫曼系數(shù)的城市需水量預(yù)測[J].水利學(xué)報,2010,41(11):1304-1309.
[4]王有娟,馮衛(wèi)兵,李奧典.基于灰色組合模型的浙江省需水量預(yù)測[J].水電能源科學(xué),2015,33(3):22-26.
[5]高學(xué)平,陳玲玲,劉殷竹,等.基于PCA-RBF神經(jīng)網(wǎng)絡(luò)模型的城市用水量預(yù)測[J].水利水電技術(shù),2017,48(7):1-6.
[6]馬輝,孫穎桃,肖艷,等.基于灰色-BP神經(jīng)網(wǎng)絡(luò)組合模型的水位預(yù)測案例[J].人民黃河,2016,38(12):89-92.
[7]楊永宇,尹亮,劉暢,等.基于灰關(guān)聯(lián)和BP神經(jīng)網(wǎng)絡(luò)法評價黑河流域水質(zhì)[J].人民黃河,2017,39(6):58-62.
[8]孟煜,張斌,郭軍,等.云計算環(huán)境下云服務(wù)用戶并發(fā)量的區(qū)間預(yù)測模型[J].計算機學(xué)報,2017,40(2):378-396.
[9]BERGMAN J J,NOBLE J S,MCGARVEY R G,et al.ABayesian Approach to Demand Forecasting for NewEquipment Programs[J].Robotics and Computer-IntegratedManufacturing,2017,47:17-21.
[10]周濤,陸惠玲.數(shù)據(jù)挖掘中聚類算法研究進展[J].計算機工程與應(yīng)用,2012,48(12):100-111.
[11]FRIEDMAN J S,DROULEZ J,BESSIERE P.Approxi-mation Enhancement for Stochastic Bayesian Inference[J].International Journal of Approximate Reasoning,2017,85:139-158.
[12]YAO We,ZENG Zhigang,LIAN Cheng.Generating Probabi-listic Predictions Using Mean-Variance Estimation and EchoState Network[J].Neurocomputing,2017,219:536-547.
[13]BENNETT Christopher,STEWART Rodney A,BEAL CaraD.ANN-Based Residential Water End-Use Demand Fore-casting Model[J].Expert Systems with Applications,2013,40(4):1014-1023.
[14]PATAN Krzysztof,PATAN Maciej.Neural Networks in De-sign of Iterative Learning Control for Nonlinear Systems[J].IFAC Papers on Line,2017,50(7):13402-13407.
[15]聶影.MATLAB軟件應(yīng)用研究[J].軟件導(dǎo)刊,2014,13(7):102-104.
[16]高洪濤,陳曉寧,張麗彬,等.基于LabVIEW與MATLAB平臺的神經(jīng)網(wǎng)絡(luò)設(shè)計與應(yīng)用研究[J].自動化技術(shù)與應(yīng)用,2012,31(2):51-54.
[17]梁駿,宋松柏.水文設(shè)計值置信區(qū)間估計研究[J].西北農(nóng)林科技大學(xué)學(xué)報,2016,44(10):221-228.