,,,,
(1.北京工商大學 計算機與信息工程學院,北京 100048; 2.北京市水務局辦公室,北京 100038)
隨著城市化進程快速推進,環保基礎設施建設未得到同步發展,城市雨污水在排入時攜帶較多污染物,導致了城市水環境形勢面臨嚴峻威脅。為了防止水污染擴散,在河湖關鍵位置設立了監測站點,自動監測水質信息狀況,為水污染防治提供信息基礎。在此基礎上,根據水質監測信息預測水質變化趨勢,對水環境的有效防范治理具有重要意義。
在水質預測研究中,數理統計方法和人工神經網絡技術得到了廣泛應用。在基于數理統計的水質預測方面,顏劍波等人建立了多元回歸模型[1],在自變量和因變量之間規律分析的基礎上,對三門峽斷面水質的COD濃度進行了預測。榮潔等人應用了指數平滑法-馬爾科夫預測模型[2],對數據進行平滑處理,并結合馬爾科夫法對合肥湖濱與巢湖裕溪口兩大斷面的CODMn、TP、TN濃度進行了預測。劉東君等人將最優加權組合預測法應用到永定河的DO 值的預測[3]。然而傳統的數理統計方法對于數據要求較高,且影響水質的各因素之間存在著復雜的非線性關系,使得數理統計方法應用受到限制[4]。人工神經網絡技術目前已成為水質預測的主要研究方向之一。李景文等人利用基于TSC-RBF的預測方法,對漓江陽朔段流域水質中的CODMn和NH3-N進行了預測[5],張森等人提出了將偏最小二乘法和支持向量機相耦合的水質預測方法,以長江朱沱的高錳酸鉀指數為例進行分析[6]。宦娟等人提出了基于K-means聚類和ELM神經網絡的水質預測模型[7],應用于養殖水質溶解氧預測。
上述文獻中雖然對水質預測方面作了深入的研究,但并未針對原始數據中的噪聲信號進行有效處理,同時傳統的數理統計方法受到多方面的限制,神經網絡方法也只采用了單一預測模型,不能避免單一方法的局限性。因此本文將優化后的RBF、Elman神經網絡以及支持向量機相結合,構建基于Adaboost的水質組合預測模型,通過對北海水域中溶解氧濃度進行預測分析,結果表明該模型具有較好的預測精度和泛化能力。
小波分析利用小波函數做為基函數,將原始信號按頻率分解為多層,各層之間信號不重疊,且所分解的信號包含了原信號的所有頻率,其中對于小波函數的選擇最為重要[8]。本文選取Symlets和Daubechies小波系作為小波函數進行去噪效果對比。
小波去噪的基本步驟如下:
1)結合實際數據,將信號分解為不同頻率的信號,并計算每層的小波分解系數。
2)設定各層小波的閾值,閾值處理方式包括軟閾值和硬閾值兩種。
3)將各層信號與閾值比較并處理后進行小波重構,得到去噪后的信號。
采用的小波去噪效果評價指標為如下兩種:
均方根誤差RMSE,表示去噪后信號與原始信號的均方誤差,值越小表示去噪效果越好:
(1)

信噪比SNR,表示原始信號和噪聲值比值,值越大表示去噪效果越好:
(2)
其中:powers表示原始信號功率,powern表示噪聲功率信號。
RBF神經網絡是具有單隱層的三層前向網絡,其基本思想是,用RBF作為隱單元的“基”構成隱藏層空間,隱藏層對輸入矢量進行變換,將低維的模式輸入數據直接變換到高維空間內,使得在低維空間內的線性不可分問題在高維空間內線性可分[9-10]。RBF神經網絡的結構示意如圖1所示。

圖1 RBF神經網絡結構圖
其中:Xi為第i個輸入向量,yi為第i個輸出向量,N代表隱含層神經元個數。隱含層中的每一個神經元都使用了非線性徑向基函數φ(·),即輸入向量通過輸入層到達隱含層,經過隱含層神經元的徑向基函數進行非線性變換,再將變換結果加權求和得到輸出結果[11]。
支持向量機SVM可用于模式分類和非線性回歸,其主要思想是建立一個分類超平面作為決策曲面,使得正例和反例之間的隔離邊緣被最大化。將樣本數據從樣本空間映射到高維特征空間進行線性回歸,從而求解出一個包含了多種因素影響的水質最優回歸函數。在最優回歸函數中采用適當的核函數代替高維空間中的向量內積,就可以實現非線性變換后的線性擬合,而計算復雜度卻沒有增加,從而得到最優回歸函數[12]:
(3)
其中:αi,αi*為拉格朗日乘子;b為回歸閾值;SV為支持向量;k(xi,x)為核函數。
Elman 網絡是一種比前向神經網絡具有更強計算能力的反饋型神經網絡,能夠更好的反映系統的動態性[13]。Elman網絡是在BP神經網絡基礎上多了一個承接層,具有適應時變特性的Elman反饋動態遞歸網絡預測性能[14]。

圖2 Elman神經網絡結構圖
其中:w1為承接層到隱含層的連接權值,w2為輸入層到隱含層的連接權值,w3為隱含層到輸出層的連接權值。
提升(boosting)方法是一種常用的統計學習方法,通過改變訓練樣本的權重,學習多個分類器,并將這些分類器進行線性組合,以提高分類的性能[15-16]。
Adaboost方法是其中最典型的一種算法,其主要思想是:首先給出弱學習算法和K組樣本數據,每組數據的初始權重為1/K;然后利用弱學習算法進行訓練,將訓練結果與實際值進行比較,將預測失敗的訓練樣本賦予較大權值,使得在下一次迭代運算時這些訓練樣本得到更多的關注,訓練失敗判定由錯誤率ε決定,當ε大于給定閾值時判定為預測失敗樣本。從而得到了一系列采用不同權重的訓練樣本的弱預測器序f1,f2,…,fn,并且每個弱預測器也具有相應的權值,預測效果越好,弱預測器權值越大;最后在迭代完成后將所有弱預測器加權求和得到強預測器,再用強預測器進行預測[17]。
RBF網絡可以自適應的確定網絡結構,但采用固定的目標誤差goal以及擴展系數spread,無法針對樣本進行優化,導致訓練精度仍有待提升,在此使用梯度下降法得出一系列相對應的目標誤差及擴展系數,通過試湊法獲取最優的預測結果。
關于SVM參數的優化選取,并沒有公認統一的最優方法,現在目前常用的方法就是讓懲罰系數c和核函數半徑g在一定的范圍內取值,對于取定的c和g把訓練集作為原始數據集,利用交叉驗證方法得到在此組c和g下訓練集驗證分類準確率,最終取使得訓練集驗證分類準確率最高的那組c和g做為最佳的參數[17]。
Elman網絡采取權值更新方法—梯度下降法[18],其缺陷是收斂速度慢、容易陷入局部最小值,在此借助遺傳算法GA訓練初始權值和閾值對Elman網絡進行優化。改變Elman網絡依賴梯度下降法來調整網絡權值的思想,利用GA全局性搜索的特點,尋找最為合適的網絡連接權值、閾值和網絡結構,提高預測精度和泛化能力。
以北京北海公園水域作為研究對象,北海作為地表湖泊且為城市景觀水,其水質指標的變化同時受到自然和人為因素的影響,對于水環境治理具有指導意義。本文預測模型主要針對北海水域1~4月份溶解氧濃度進行分析研究。同時分別采用RBF網絡、支持向量機以及Elman網絡進行建模預測,將預測結果進行對比分析。
第一步,構造弱預測器。將3種單一模型分別作為3個弱預測器。在使用神經網絡以及支持向量機進行預測時,本質是找出輸入輸出之間的非線性函數關系,要得到良好的預測效果,輸入輸出數據的選擇很重要。
由于溶解氧濃度的變化是一個漸變的過程,所以根據歷史數據變化趨勢來預測后面的輸出可以取得較好結果,如下所示:
d(t)=F(d(t-1),d(t-2),…,d(t-n))
(4)
式中,d(t)為t時刻溶解氧的監測數據,n為輸入層的節點數,F為由單一預測模型確定的輸入-輸出映射關系。經試驗確定采用最近3天的溶解氧歷史數據來預測輸出效果最好,即n=3。
在模型輸入輸出選擇方面,分別以溶解氧數據的前3天歷史數據為模型輸入向量,未來一天的預測值為輸出向量,構建3輸入1輸出的弱預測器:
d(t)=F(d(t-1),d(t-2),d(t-3))
(5)
第二步,構建Adaboost強預測器。用Adaboost算法將得到的多個弱預測器序列組成新的強預測器。基于Adaboost組合預測方法實現流程如圖2所示。

圖3 組合預測方法實現流程圖
Adaboost組合預測模型具體建模步驟如下:
1)樣本數據權重初始化。首次迭代時數據的初始權重為D1(k)=1/n(k=1,2,…,n代表樣本序號,下標1代表迭代次數),為每個樣本數據分配相等的權重。
2)弱預測器預測。每次迭代前將此預測器權值初始化為0,再利用相同的訓練集訓練3個弱預測器,若某一樣本數據預測誤差大于一定值,則將其累計權值相加最后得到這一弱預測器的權值之和:
Errorj=Errorj+Di
(6)
其中:Errorj代表第j個弱預測器權值累加和,Di代表超過誤差閾值的數據的權值。
3)更新樣本數據權重。若當前樣本誤差未超過閾值則權值Di不變,順延到下一次迭代當中,若超過誤差閾值,則將權值變大:
Di+1=1.1·Di
(7)
4)預測序列權值計算。根據弱預測器權值累加和Errorj算序列權值:
(8)
5)構建強預測函數。經過n輪迭代后得到強預測結果:
F=at·[f1,f1,…,fn]
(9)
選取平均相對誤差絕對值MRE、最大相對誤差絕對值MaxRE以及均方誤差MSE作為對預測結果的評價標準:
(10)
(11)
(12)

選取2015年1月至4月北海水質監測數據作為訓練樣本,2016年1月至4月監測數據作為測試數據。選用的水質指標溶解氧濃度,其中采樣頻率為每日一次,兩年分別有120組數據。選用Symlets和Daubechies作為小波函數,閾值處理采用硬閾值,閾值選擇標準為啟發式閾值,分解層數為5,分別對原始數據進行去噪處理,結果如表1所示。

表1 去噪評價指標結果
由表1可以看出不同小波函數具有不同的去噪效果,其中db6均方誤差最低以及信噪比最高,因此采用db6作為小波基對數據進行去噪。
將基于Adaboost組合預測模型應用于溶解氧濃度預測步驟如下:
第一步,將去噪后的數據歸一化處理。數據經過轉化映射在[0,1]范圍內,采用式(13)進行歸一化處理:
y=(ymax-ymin)·(x-xmin)/(xmax-xmin)+ymin
(13)
式中,y為經過處理的數據,x為原始數據,xmin、xmax分別為最小值和最大值;ymax和ymin分別默認值為1和-1。
第二步,訓練和預測。利用所選數據對組合預測模型進行訓練和預測,預測精度對比結果見表2。

表2 各預測模型預測結果
由表2對2016年1~4月份溶解氧預測精度對比可知,Elman網絡的平均相對誤差約在5%,平均相對誤差則更大,達到了14%以上;RBF網絡和SVM相較于Elman網絡各項指標的預測精度都有了不同程度的提升。而Adaboost組合預測模型的預測效果最好,其中均方誤差僅有0.002,相較于前3種單一模型,組合模型表現出了明顯的優勢,預測精度最高,適合于非線性的水質指標預測。單一模型在面對多樣環境時,總會有不足,而組合模型恰好的彌補了這一點。
圖3給出了組合預測模型和3種單一模型對于2016年1~4月份溶解氧預測的誤差曲線。

圖4 誤差曲線
由圖4可以看出,Adaboost組合預測模型的誤差曲線最低、預測結果最接近真實值,表明了使用Adaboost算法對多個不同的弱預測器進行集成,可以有效的提升水質指標的預測精度。
1)在去噪過程中小波函數的選擇對于去噪效果具有顯著的影響,在其他條件相同下,db6小波函數的去躁效果在Symlets和Daubechies小波系表現最優,有效的去除了數據中的誤差信號,為實現水質精準預測奠定了基礎。
2)建立了基于Adaboost的組合水質預測模型,通過對北海水域溶解氧濃度歷史情況進行分析,并與經過參數優化后的RBF網絡、支持向量機和Elman網絡預測結果進行對比,證明相對于傳統的單一預測模型,通過Adaboost優化的組合預測模型預測結果更加接近真實情況,提高了預測精度和泛化能力。將此方法應用到河湖水質指標變化預測中,可為城市水環境污染防治提供參考依據,滿足了人們生產、生活用水的需求。