(云南省水文水資源局紅河分局,云南紅河661100)
水質預測是依據已有的歷史監測數據,通過科學的方法推測將來的水質變化趨勢,以期達到掌握水質現狀及發展趨勢的目的[1]。提高水質預測精度對于開展水環境質量評價、落實最嚴格水資源管理制度以及制訂水污染控制系統規劃等均具有十分重要的意義。由于水質受物理、化學和生物等水環境條件以及人類活動等眾多確定性因素和隨機因素的影響,致使傳統回歸分析等方法難以獲得理想的預測效果。BP神經網絡是人工神經網絡應用最為廣泛的神經網絡模型之一,在各行業領域中,幾乎90%以上的人工神經網絡應用均是基于BP神經網絡或改進型BP神經網絡,其本身所具有的非線性映射能力和自適應、自組織、自學習等特性,已在水質預測中得到應用[2-4]。在實際應用中,由于單隱層BP神經網絡初始權值閾值等參數通過隨機確定,致使BP神經網絡收斂速度慢、易陷入局部最優而不能獲得較好的預測效果。目前,普遍采用遺傳算法[5-6]、粒子群算法[7-8]等智能算法優化BP神經網絡權值及閾值或增加BP神經網絡隱層數來改善BP神經網絡的預測性能。研究表明,同單隱層相比,多隱層BP神經網絡泛化能力強,預測精度高,是提高BP神經網絡預測性能的重要途徑之一。目前已在徑流預測[9]、水質預測[10]、風電功率預測[11]以及水安全評價[12]等方面得到應用,但多隱層BP神經網絡的應用大部分僅限于雙隱層。在水質預測實例研究中,文獻[10]采用雙隱層BP神經網絡對老哈河化學需氧量(CODCr)、五日生化需氧量(BOD5)等指標進行預測,取得較好的預測效果;文獻[3]采用三隱層BP神經網絡對云南某水庫總氮(TN)進行預測,并獲得了一定的預測效果。但文獻[3,10]不足之處在于采用人工試湊法確定網絡結構,存在不能保證網絡結構最優及人工試湊法繁瑣等缺點。
基于上述原因分析,為有效提高水質預測精度,作者提出一種基于隨機漂移粒子群(random drift particle swarm optimization,RDPSO)算法結構優化的三隱層BP神經網絡預測方法,利用RDPSO算法優化三隱層BP神經網絡隱層節點數,構建三隱層RDPSO-BP水質預測模型,并與基于單隱層、雙隱層節點優化的RDPSO-BP神經網絡、基于網絡權值閾值優化的RDPSO-BP神經網絡預測模型作對比,以云南省五里沖水庫總氮預測為例進行實例研究,旨在驗證三隱層RDPSO-BP模型用于水質預測的可行性和有效性。
隨機漂移粒子群(RDPSO)算法是孫俊等人受PSO算法的軌跡分析和金屬導體中自由電子定向漂移運動、隨機無規則熱運動啟發而提出來的一種具有較強全局搜索的群體智能算法。RDPSO算法中自由電子的定向漂移運動類似于粒子的局部搜索,隨機無規則熱運動類似于粒子的全局搜索[13]。參考文獻[13-15],RDPSO算法數學描述如下。

(1)

(2)


(3)

綜上,RDPSO算法中粒子速度和位置更新公式表示為:
(4)
(5)

BP神經網絡是目前應用最廣泛的神經網絡模型之一,按結構可分為單隱層BP神經網絡(三層網絡)和多隱層BP神經網絡(四層以上網絡)。理論上,單隱層BP神經網絡已能映射或逼近任何有理函數[16-17],但實際應用表明,對于復雜預測問題,單隱層BP神經網絡往往表現出預測精度低和泛化能力弱等問題和不足;同單隱層BP神經網絡相比,多隱層BP神經網絡不但預測精度高、泛化能力強,而且易避免網絡訓練陷入局部最優。限于篇幅,多隱層BP神經網絡拓撲結構及算法迭代步驟參見文獻[9,18]。
研究表明,對于同一預測問題,多隱層BP神經網絡的預測精度和泛化能力由隱層數和隱層節點數共同決定。對于相同隱層數的BP神經網絡,隱層節點數之和越大,則網絡擬合精度越高,但過多的隱層節點易導致網絡“過擬合”而降低其預測精度和泛化能力;對于隱層節點數相同的BP神經網絡,隱層數越多,則網絡預測精度越高,但過多的隱層數不但增加網絡的復雜程度,同時增加選擇隱層節點數的難度。本文基于Matlab神經網絡工具箱和三隱層newff()函數,利用RDPSO算法尋優各隱層節點數,以期獲得三隱層RDPSO-BP模型理想的預測效果。
三隱層RDPSO-BP神經網絡模型預測實現步驟可歸納如下(單隱層、雙隱層RDPSO-BP神經網絡模型可參如下步驟考實現;基本權閾值優化的RDPSO-BP神經網絡模型可參考文獻[6-8]實現)。
Step1合理劃分訓練樣本和預測樣本,利用式(6)對水質實測序列進行歸一化處理?;贛atlab神經網絡工具箱newff()函數構建三隱層BP神經網絡,設定三隱層BP神經網絡隱層節點數的搜尋范圍。
(6)

Step2確定適應度函數。適應度函數是描述種群個體優劣程度的主要指標,本文選用訓練樣本均方誤差作為適應度函數,描述如下:
(7)

Step3設置RDPSO算法群體大小N,最大迭代次數T,最大、最小熱敏系數α、α′,常數c1和c2。設置當前迭代次數t=0,初始化粒子位置和速度。

Step5基于式(7)計算目標適應度值,更新全局最優位置G和粒子局部最優位置P。
Step6根據式(4)、(5)更新粒子的速度和位置。
Step7判斷算法迭代終止條件是否滿足,若滿足則轉至Step8,否則令t=t+1,并執行Step4—7。
Step8輸出最優適應度值和最優粒子個體空間位置, 即三隱層BP神經網絡各隱層節點數。
Step9利用RDPSO算法優化獲得的各隱層節點數代入三隱層BP神經網絡對預測樣本進行預測。
五里沖水庫位于蒙自市城東22 km期路白鄉龍寶坡村,為紅河州州府蒙自市城市主要供水水源。水庫控制徑流面積265.3 km2,多年平均徑流量9 356萬m3,總庫容7 949萬m3,興利庫容5 076萬m3,設計年生活供水量2 190萬m3,現狀供水量1 516.8萬m3,供水人口20.0萬人。近年來,隨著蒙自市人口的激增,徑流區人類活動頻繁、農業面源污染加劇,五里沖水庫水質狀況不容樂觀。據云南省水環境監測中心紅河分中心近5 a水質監測結果顯示,五里沖水庫2013—2017年年均水質評價均為Ⅲ類(依據GB 3838—2002《地表水環境質量標準》中規定的基本項目和補充項目評價,評價方法采用單因子評價法,監測頻次為12次/a),主要影響因子為總氮,汛期由于降水沖刷等原因,總氮存在超標現象。
a) 預測方法。目前,總氮預測普遍采用2種方式:①利用同期監測相關性指標對總氮進行預測,但前提是總氮監測值與其他同期監測指標值具有較好的相關性;②利用總氮監測系列值,采用相空間重構法或自相關法確定影響向量(輸入向量)對總氮進行預測。本文通過對五里沖水庫水質監測結果進行分析,發現總氮監測值與其他同期監測指標值相關性較差,無法獲得好的監測結果。因此,本文采用自相關法對總氮進行預測。
b) 預測對象。五里沖水庫是蒙自市主要供水水源地,目前由云南省水環境監測中心紅河分中心承擔監測任務;監測項目為GB 3838—2002《地表水環境質量標準》中規定的基本項目和補充項目;監測頻次為12次/a。本文收集五里沖水庫2013—2017年60組總氮監測數據,利用SPSS軟件對該總氮序列進行自相關分析,計算各階自相關系數,見表1。

表1 總氮序列自相關系數
從表1來看,當滯后數(嵌入維數)為6時,自相關系數最大,為0.585。據此,構建嵌入維數為6維的輸入向量和當月總氮序列為輸出向量的三隱層RDPSO-BP神經網絡總氮預測模型,60組監測數據共獲得54組實驗分析序列,并利用前50組總氮監測數據作為訓練樣本,后4組作為預測樣本。限于篇幅,輸入輸出向量表從略。
a) 參數設置。RDPSO算法最大迭代次數T=100,群體大小N=50,最大、最小熱敏系數α、α′分別設置為0.9、0.3,常數c1、c2均設置為2。單隱層、雙隱層、三隱層BP神經網絡模型隱層傳遞函數采用logsig,輸出層傳遞函數采用purelin,訓練函數采用trainlm,學習速率lr為0.01,期望誤差為0.008,最大訓練輪回為100次,隱層節點數搜索范圍∈[2,10]。RDPSO_BP神經網絡模型權值和閾值搜索空間為[-1,1],隱層節點數為11,其他參數設置同上。
b) 模型構建及預測。基于上述分析,分別構建單隱層、雙隱層、三隱層RDPSO_BP神經網絡總氮預測模型,即構建RDPSO_BP_One、RDPSO_BP_Two、RDPSO_BP_Three預測模型,以及基于權、閾值優化的RDPSO_BP預測模型。選取平均相對誤差絕對值MRE、最大相對誤差絕對值MaxRE作為評價指標,利用此4種模型對五里沖水庫總氮進行訓練和預測,見表2(限于篇幅,僅給出預測樣本相對誤差)。并繪制訓練~預測相對誤差效果,見圖1。

表2 五里沖水庫總氮預測結果及其比較
注:表中加粗數字表示為最優值
a) 從表2來看,無論是訓練樣本還是預測樣本,三隱層RDPSO_BP神經網絡模型的擬合-預測精度均優于單隱層、雙隱層RDPSO_BP神經網絡模型及基于權閾值優化的RDPSO_BP神經網絡模型,其對于預測樣本預測的平均相對誤差絕對值為6.98%,精度分別比RDPSO_BP_One、RDPSO_BP_Two和RDPSO_BP模型提高了62.11%、42.07%和31.16%,具有較好的擬合、預測精度和泛化能力,表明RDPSO算法能有效優化三隱層BP神經網絡的各隱層節點數,模型及方法可為水質預測及其他相關預測研究提供參考。

圖1 五里沖水庫總氮訓練~預測相對誤差效果
b) 從表2及圖1來看,三隱層RDPSO_BP神經網絡模型的總體擬合-預測平均相對誤差絕對值達2.73%,擬合、預測效果明顯優于其他3種模型,表現出較高的擬合-預測精度??梢?,合理選擇三隱層BP神經網絡各隱層節點數能有效避免預測過程中“過擬合”和“欠擬合”現象的發生,進一步提高三隱層BP神經網絡模型的預測精度和泛化能力。
c) 從表2預測結果來看,預測精度最高的是RDPSO_BP_Three模型,其次是RDPSO_BP和RDPSO_BP_Two模型,預測效果最差的是RDPSO_BP_One模型。RDPSO_BP和RDPSO_BP_Two模型預測精度在伯仲之間。可見,合理選取BP神經網絡隱層節點數或優化BP神經網絡權閾值,均能提高BP神經網絡預測精度。
d) 從RDPSO_BP_One、RDPSO_BP_Two、RDPSO_BP_Three模型的擬合-預測結果來看,對于訓練樣本,單隱層、雙隱層和三隱層RDPSO_BP模型的擬合精度分別為3.79%、2.95%和2.39%;對于預測樣本,單隱層、雙隱層和三隱層RDPSO_BP模型的預測精度分別為18.42%、12.05%和6.98%,從本預測實例來看,在相同條件下,BP神經網絡擬合-預測精度以及泛化能力隨著隱層數的增加而提高。
a) 本文分析了單隱層BP神經網絡模型在預測中存在的問題和不足,提出基于隨機漂移粒子群(RDPSO)算法優化三隱層BP神經網絡隱層節點數的預測方法,即通過RDPSO算法優化確定三隱層BP神經網絡模型網絡結構,并給出基于網絡結構優化的三隱層BP神經網絡模型構建方法和實現步驟,拓展了三隱層BP神經網絡模型的應用范疇。
b) 本文構建三隱層RDPSO-BP神經網絡預測模型,通過五里沖水庫總氮預測實例進行驗證,并與基于單隱層、雙隱層節點優化的RDPSO-BP神經網絡和基于網絡權值、閾值優化的RDPSO-BP神經網絡預測模型作對比。驗證結果表明,在相同條件下,BP神經網絡擬合-預測精度以及泛化能力隨著隱層數的增加而提高。通過RDPSO算法優化確定三隱層BP神經網絡各隱層節點數,可有效避免三隱層RDPSO-BP神經網絡模型在預測過程中“過擬合”和“欠擬合”現象的發生,有效提高三隱層BP神經網絡模型的預測精度和泛化能力。
c) 從實例預測結果來看,三隱層RDPSO-BP神經網絡模型預測的平均對誤差絕對值為6.98%,預測精度遠高于其他3種模型,表明三隱層RDPSO-BP神經網絡模型具有較高的擬合、預測精度和泛化能力,模型及方法可為相關水質預測研究提供參考。