郭 英
(河北省唐山水文水資源勘測局,河北 唐山063000)
城鄉經濟的快速發展,伴隨著污染物的大量排放。加之對污染物的治理措施及管理制度落后,導致水體污染嚴重,河流生態環境急速下降,嚴重威脅到水中動植物甚至城鄉居民的生命安全,需找出合理的治理措施提高水體水質[1]。現如今,通過水質歷時監測數據,找出其中規律,建立水質監測模型,是水環境研究工作和污染治理工作的基礎,已逐漸成為了相關部門研究的熱點之一[2]。長期對水質進行監測,操作成本高,在偏遠地區無法實現,因此,研究水質監測模型具有重要意義[3]。
由于水環境系統涉及到了溫度、氣候、化學、人為因素等多個方面,是較復雜且較穩定的系統,水質隨施加變化是存在一定規律性的[4]。機器學習神經網絡模型可通過對基礎數據的長時間訓練,找出數據內在的規律,達到預測數據的目的,因其原理簡單,計算結果精確,已被大量應用于預測模型的建立中[5]。郭小青和項新建[6]基于神經網絡模型建立了水質監測及評價系統,驗證了人工神經網絡模型的精確性;李曉東等[7]同樣通過人工神經網絡模型建立了水質監測模型,結果精確度較高。
人工神經網絡BP模型和支持向量機SVM模型是應用較廣泛的機器學習模型。但BP模型雖具有一定的自適應能力,但其存在學習能力弱、收斂速度較慢、易出錯等諸多問題,限制了其應用推廣[8]。而SVM模型同樣存在無法估計預測不確定性的問題,導致其精度較低[9]。本文擬將SVM進行改進,針對具體水質指標長時間實測數據,以水中總磷、總氮、化學需氧量和溶解氧含量為基礎,研究改進SVM模型、SVMM模型計算精度,并與BP模型和SVM模型計算結果進行對比,找出最優水質監測模型。
根據圖1所示的神經網絡拓補結構,可知BP神經網絡為非線性函數。當輸入節點數為n,輸出節點數為m時,神經網絡模型表達了輸入節點到輸出節點的映射關系[10]。BP神經網絡模型需首先訓練模型,其具體計算步驟見文獻[11]中的描述。

圖1 BP神經網絡計算原理
SVM模型與BP神經網絡模型類似,均是通過訓練數據,找出數據中存在的內部規律,從而對未來數據進行預測,SVM模型具體計算步驟見文獻[12]。粒子群算法(PSO)可用粒子的位置代替解的值,每粒子可由其大小和方向決定其速度矢量,其粒子的速度和位置可由迭代方法計算求得,其計算公式:

式中vi(t+1),vi(t)分別為粒子在t+1和t時刻的速度;xi(t+1),xi(t)分別為粒子在t+1和t時刻的位置;ω為指標權重;a1,a2為學習因子,取值在[0,2]之間;r1,r2為隨機系數,取值在[0,1]之間。
基于PSO原理對SVM模型進行優化,首先對SVM模型中的參數進行優化,根據SVM中的核函數,優化確定SVM模型中的參數值,根據每個粒子的適應度,確定每個粒子的最優位置,由最優粒子代替原有粒子,得出SVM模型最優參數,提高SVM模型的計算精度[13]。
判斷預測模型計算精度的指標有很多,比如相對誤差、絕對誤差等。經過相關研究的長時間表明,在判斷模型計算精度時,應從計算結果與實際值的誤差及一致性兩個方面綜合考慮。Nash-Sutcliffe系數CD、相對誤差RE和Kendall一致性系數K可以較好地反映長時間預測序列與實測值的誤差和一致性,是系統性較好的數據評價指標體系。其中,CD與K的值越大、RE的值越小,模型算法與實測值的一致性越好、計算精度越高,具體公式:


式中 P′為模型算法模擬值;Pm為實測值;Pm為實測值的均值;n為樣本數量;C為待檢驗方法與實測結果中擁有一致性元素的對數;D為待檢驗方法與實測結果中不具有一致性元素的對數。
表1為不同模型日值模擬結果與實測數據的擬合方程斜率與決定系數。

表1 不同模型模擬結果日值與實測值擬合方程斜率
表1顯示,模型改進后,在模擬計算4種指標時的精度和一致性均有很大提高。由表1可知,3種模型均高估了4項水質指標值,其中BP模型計算精度最差,其與實測值擬合方程斜率最高達到1.537,而決定系數R2均在0.5以下,且與實測值的相關性均未達顯著水平(P>0.05);SVM模型雖計算精度較BP模型略有提高,但精度仍較差,在估算TP時,雖決定系數R2的相關性達到顯著水平(P<0.05),但擬合方程斜率達到1.401,精度較差;SVMM模型計算精度最高,4項指標擬合方程斜率均較接近于1,且決定系數R2均達到0.8以上,同時與實測數據的相關性達到極顯著水平(P<0.01)。綜上所述,在模擬水質日值時,SVMM模型模擬結果表現出了較高的精度和一致性。
圖2為不同模型模擬結果與實測值月值趨勢分析。

圖2 不同模型模擬結果月值與實測值趨勢分析
圖2顯示,不同水質指標在年內的變化趨勢呈現了明顯的拋物線型式,均呈現出由升高到降低的變化趨勢。不同模型模擬DO含量時,SVMM模型與實測值變化趨勢基本一致,且數值相近,而BP模型和SVM模型均在很大程度上高估了DO值,平均誤差分別達到59.3%和64.7%;在模擬COD時,SVMM模型與實測值誤差僅為11.4%,而BP模型與SVM模型與實測值誤差分別達到71.4%和69.8%;在模擬TP時,SVMM模型與實測值誤差僅為9.8%,而BP模型與SVM模型與實測值的誤差分別達到58.4%和64.2%;在模擬TN時,SVMM模型與實測值誤差僅為7.6%,而BP模型與SVM模型與實測值誤差分別達到56.4%和61.2%。綜上所述,在模擬水質指標月值時,SVMM模型模擬精度最高。
表2為不同模型模擬結果與實測值的精度指標對比分析。

表2 不同模型模擬結果與實測值精度指標對比
表2顯示,SVMM模型對水質指標進行模擬時,計算誤差最低,其RMSE值雖在模擬TN時較高,但僅為0.207,模擬其余指標時,RMSE均低于0.2,而其模擬結果與實測值的一致性最高,K值與CD值均在0.80以上,且與實測值的相關性均達到了極顯著水平 (P<0.01);SVM模型模擬結果較差,RMSE值普遍在0.4~0.5之間,誤差較高,反映一致性的指標K值與CD值在0.4~0.6之間,且K值在除了模擬TN時,CD值除了模擬COD時,其余指標均達到了顯著水平(P<0.05);BP模型的模擬精度最差,RMSE值均在0.65以上,誤差最高,K值與CD值均在0.5以下,且與實測值的相關性均未達顯著水平(P<0.05)。綜上所述,SVMM模型的模擬精度最高,SVM模型次之,BP模型最差,與前文結論基本一致。
基于PSO算法優化SVM模型(SVMM),以4種水質指標實測值為基礎,以期模擬水質指標,得出用于水質監測的模型,將得出的結果與BP神經網絡模型、SVM模型做了對比,最終結論可知,在對模擬結果日值、月值和精度指標進行分析后,可知SVMM模型的模擬精度最高,該模型可稱為水質監測的基本模型使用。