張志博
(廣西大學土木建筑工程學院,廣西 南寧 530004)
水資源是國家穩定、社會發展、人民幸福的重要基礎。隨著中國深化改革的推進,國民經濟總產值得到進一步的提高,水資源的供需矛盾日益顯著,水資源合理配置顯得尤為重要[1]。在水資源配置的研究中,區域需水量預測是重要的前提,所以合理有效的需水量預測是區域水資源規劃的首要任務。目前國內外采用的需水量預測方法比較多[2],主要包括單一方法和組合方法,單一方法分為傳統的預測方法和新型預測方法。傳統的預測方法有定額法[3]、線性回歸、多元回歸[4]、趨勢預測法[5]等,新型預測方法有神經網絡法[6]、灰色預測法[7]等。單一預測方法和組合預測方法得出的需水量預測結果都是確定性,不能準確預測未來時段用水量的波動性,在實際供用水過程中會出現很多影響預測結果的不確定性因素,而區間預測能夠很好地反映需水量預測結果的不確定性[8]。本文在BP預測模型的基礎上,引入正態分布區間估計方法,以期更加準確的描述未來柳州市不同時段需水量的不確定性。
柳州市位于廣西中部偏東北,全市包括五區五縣,即城中區、魚峰區、柳南區、柳北區、柳江區五區,柳城、三江、融安、融水、鹿寨五縣,國土面積18 592 km2。年平均降雨量在1 500~1 600 mm,全年降雨時空分布不均,在5—8月份降雨較多,地表水是其主要的供水水源。根據柳州市統計局統計,柳州市供水量基本維持在23億m3,供水量年際有一定的變化,主要是受降雨量、供水工程調蓄能力影響。供水結構變化不大,以地表水供水為主。
BP神經網絡[9]是一種應用領域廣泛的預測模型,它通過模擬訓練得到輸入數據與輸出數據之間的關系,再通過輸入新的數據得出模擬預測結果,是一種新型智能預測方法。它的學習過程主要包括以下4個部分,輸入模式順傳播、輸出誤差逆傳播、循環記憶訓練、學習結果判別[10]。一般情況下,需水預測應用最多的三層BP神經網絡,它包括輸入層、隱含層和輸出層3部分[11]。在MATLAB運行環境下,三層BP神經網絡模型的構建步驟如下。
a)數據的預處理。如果BP神經網絡輸入、輸出數據范圍特別大,會導致神經網絡收斂速度慢、訓練時間長。因此,在訓練神經網絡前需要對原始數據進行歸一化處理,使得數據映射到[0,1]或[-1,1]或更小的范圍。本文選用premnmx函數對原始數據進行歸一化處理,使得歸一化后的數據映射到[-1,1]。
b)隱含層結點數的確定。隱含層結點數對BP神經網絡訓練效果有很大的影響,如果隱含層結點數過多,會導致網絡訓練過慢且易陷入局部最優。若隱含層結點數過少,則會導致網絡學習能力不足、無法實現輸入和輸出變量的映射關系[12]。隱含層結點數通常按式(1)確定:
(1)
式中n——輸入層節點數;h——隱含層節點數;m——輸出層節點數;a——0~10的常數。
本文的輸入層結點數為5,輸出層結點數為1,取a=9,則代入式(1)得隱含層結點數h=11。
c)創建新的前向神經網絡。本文選擇輸入層激活函數為“tansig”、輸出層激活函數為“purelin”,構造了一個3層BP神經網絡對需水量進行預測。采用梯度自動下降動量和自適應lr算法“traingdx”訓練BP網絡,目標誤差goal=10-3,學習率lr=0.035,最大迭代次數epochs=2000。函數構造語句如下:
net=newff(minmax(P),[11,1],{‘tansig’,‘purelin’},‘traingdx’);
net.trainParam.show=50;
net.trainParam.lr=0.035;
net.trainParam.epochs=2000;
net.trainParam.goal=1e-3;
d)BP網絡訓練及仿真。調用TRAINGDM算法訓練BP神經網絡,并對BP網絡進行仿真,其算法語句如下:
[net,tr]=train(net,P,T);
A=sim(net,P);
a=postmnmx(A,mint,maxt);

(2)


(3)
(4)
可得μ的置信度為1-α的置信區間[14]為:
(5)
根據《柳州市水資源公報》和《柳州市統計年鑒》統計,柳州市的用水量主要集中在農業、居民生活、工業等,本文初步選取7個因子作為柳州市需水量的影響因子,分別是柳州市常住人口、國內生產總值、工業生產總值、農業生產總值、固定資產投資、有效灌溉面積、播種面積(表1)。通過SPSS軟件相關性分析得出這7個影響因子對用水量指標都有一定的影響(表2)。通過表3成分貢獻率可以發現,前5個因子累計貢獻率達到99.924%。一般情況下,因子累計貢獻率達90%就很好的代表相關因子的影響。由表4的因子荷載矩陣可以看出常住人口、國內生產總值、工業生產總值、農業生產總值、固定資產投資對第一主成分的相關系數都達到了0.95以上,所以選擇這5個影響因子作為主成分,并以此構造BP模型的輸入樣本。

表1 柳州市統計數據

表2 各影響因子的相關系數矩陣

表3 主成分特征值和貢獻率

表4 主要因子的荷載矩陣
運用SPSS軟件對常住人口、國內生產總值、工業生產總值、農業生產總值、固定資產投資與年份進行相關性分析,結果見表5??梢园l現,常住人口、國內生產總值、工業生產總值、農業生產總值、固定資產投資均與年份的相關系數分別為0.999、0.997、0.978、0.985、0.991,都接近于1,顯著性P值都小于0.01,表明此5個因子均與年份之間存在顯著線性關系。于是,繪制5個因子與年份的散點圖,見圖1—5。

表5 主成分因子與年份的相關性分析結果

圖1 常住人口與年份散點擬合

圖2 國內生產總值與年份散點擬合

圖3 工業生產總值與年份散點擬合

圖4 農業生產總值與年份散點擬合

圖5 固定資產投資與年份散點擬合
由散點圖可以看出,各影響指標和年份之間有良好的線性擬合關系。擬合優度是回歸分析的決定參數,可以表明自變量與因變量形成的散點與回歸曲線的接近程度[15]。通過SPSS回歸分析:常住人口、國內生產總值、工業生產總值、農業生產總值、固定資產投資在回歸模型中的擬合優化度分別為R2=0.998、0.993、0.957、0.969、0.981,調整后擬合優化度R2=0.997、0.993、0.953、0.966、0.979,得出回歸直線對實際值擬合效果較好。另外,由輸出變異系數表(ANOVA)可知各模型統計量F值分別為4 004.230、1 464.204、222.460、315.332、523.761,顯著性P值均小于0.01,表明顯著性效果很好,模型具有統計學意義。于是對2020、2025年數值進行回歸預測分析,結果見表6。

表6 2020、2025年輸入層各指標預測值
為了盡量減少樣本量少而引起的系統過擬合等隨機因素導致的誤差對預測結果的影響[15],將柳州市2007—2016年統計數據作為訓練數據,2017、2018年統計數據作為檢驗數據,檢驗BP神經網絡預測的相對誤差,并挑選相對誤差小于2%的100個BP神經網絡預測模型,對2020、2025年柳州市需水量進行預測。
由表7和圖6、7可以發現,通過BP模型得出的預測結果滿足正態性。由于2020年預測結果的偏度為-0.069、偏度標準差為0.241,偏度值約等于0。2025年的預測結果的偏度為0.609,偏度標準差為0.241,偏度值大于0、偏度的絕對值約為其標準差2.53倍。通過查閱相關資料,偏度大于0為正偏態,偏度小于0為負偏態,偏度約等于0為正態。偏度的絕對值為其標準值的2~3倍,偏度大于0,則此為輕度正偏態分布,反之,偏度值小于0,為輕度負偏態分布。偏態的絕對值為其標差的3倍以上,偏度值大于0,為中度正偏態分布,偏度值小于0,為中度負偏態分布。因此,2020年的預測結果服從正態分布,2025年的預測結果服從輕度正偏態分布。

表7 預測結果統計值

圖6 2020年預測結果頻率分布

圖7 2025年預測結果頻率分布
當數據的分布服從輕度正偏態分布時,可以考慮用自然數對數(ln)或以10為底的對數(lg)對其數據進行轉化,使其數據服從正態分布,便于對數據進行分析。但是,以10為底的對數(lg)的糾正力度較強,2025年預測數據的偏度絕對值為其標準值的2.53倍,所以采用自然對數(ln)對其進行轉換。轉換的SPSS語句為new_X=LN(Z),轉化后的統計結果為偏度為0.536,偏度的標準誤差為0.241,峰度為0.235,峰度的標準誤差為0.478。偏度的值小于1,并且轉換后的偏度值小于轉換前,在一定程度上改善偏態分布,可近似認為轉換后2025年預測數據服從正態分布。頻率分布見圖8。

圖8 正態變換后2025年預測結果頻率分布
通過SPSS軟件對數據進行分析,得出表8預測結果描述統計值。因為抽取的100組2020、2025年預測結果服從正態分布,根據統計學以樣本估計總體知識可知,2020、2025年BP模型預測結果服從正態分布。根據正態分布總體均值區間估計方法可得:在置信度95%的情況下,柳州市2020、2025年需水量預測結果分別為21.478億~21.622億m3、21.813億~22.023億m3。

表8 預測結果描述統計
與傳統的預測模型相比,本文將確定性方法與不確定性方法相結合,在滿足預測方法相對誤差小于2%的前提下,提取100個抽樣預測結果,通過SPSS頻率分布描述統計,發現預測結果服從一定的正態分布。結合正態分布的區間估計,得出在置信水平95%的情況下2020、2025年柳州市需水量預測結果分別為21.478億~21.622億m3、21.813億~22.023億m3。