徐龍琴,劉雙印,2,3
(1.廣東海洋大學 信息學院,廣東 湛江524088;2.中國農業大學 現代精細農業系統集成研究教育部重點實驗室,北京100083;3. 中國農業大學 北京市農業物聯網工程技術研究中心,北京100083)
集約化水產養殖水體是水產品的棲息場所,水質的好壞直接影響著水產品的質量和產量. 對養殖水質參數進行精準預測,及時掌握水質動態變化趨勢,具有重要的理論價值和現實意義.因養殖池塘水質受多方面因素的影響,具有多變量、非線性、大時滯、模糊不確定性特點,利用傳統的方法很難建立精確的非線性預測模型[2]. 為此,國內外學者采用回歸分析[3]、灰色理論[4]、時間序列[5]、模糊推理[6]、神經網絡[7]等方法,對總磷、總氮、葉綠素、水溫、COD、溶解氧、氨氮、PH 值等水質參數預測已做了大量的工作,并取得了一定的成效.但上述方法以基于樣本無限大的假設或經驗風險最小化原則為基礎,存在易陷入局部極小點、過學習與欠學習、維數災難、泛化能力差等缺陷,尤其對小樣本數據進行預測時,其預測結果很難令人滿意.
支持向量回歸機(SVR)以統計學習理論和結構風險最小化原理為基礎,較好地解決了傳統預測方法難以解決的問題[8-9].但是,作為一種新型的機器學習方法,SVR 參數以及核函數參數選取的是否恰當嚴重影響著模型的預測精度和性能.傳統的SVR 參數選取方法主要有試湊法、經驗選擇法、Bayesian 法、交叉驗證法等,但傳統方法通常憑借專家經驗進行,計算量大,時間復雜度高,不易獲取適宜的參數組合[10].為獲取較優的參數組合,提高SVR 模型預測精度,減少人為主觀因素對預測性能的影響,一些學者開始采用遺傳算法(GA)[11]、蟻群算法(ACA)[12]和粒子群優化算法(PSO)[13-14]等算法對SVR 參數進行優化組合,以提高模型的性能. 與GA 和ACA 相比[14],PSO 沒有交叉和變異操作,且以信息共享機制為基礎,每個粒子可以直接利用全局信息進行并行性全局搜索,具有調節參數少、快速、實現簡單等優點,很適合于SVR 參數優化.
針對集約化水產養殖水域環境的特點,以及監測水質數據中距預測時刻的近期數據較遠期歷史數據對預測值影響較大,提出了基于PSO 和加權支持向量回歸機(weighted support vector regression,WSVR)的短期水質預測模型. 首先以觀測數據對預測結果貢獻不同應賦予不同權限為指導思想,將標準SVR 改進為加權支持向量回歸機,對近期數據的誤差錯誤采取更高的懲罰強度,有效提高了算法精度;運用PSO 算法對WSVR 參數組合進行優化,實現WSVR 模型參數的自適應選取;以江蘇省水產養殖智能控制技術標準化示范區——宜興市集約化河蟹養殖池塘水質數據為基礎,將本文算法與標準SVR 和BP 神經網絡進行對比分析.試驗結果表明,本文算法具有較高的預測精度和泛化能力,非常適合于集約化水產養殖水質預測.
在水產養殖水質預測領域,輸入與輸出變量之間存在隨時間發生周期性變化的關系,且距離預測時刻越近的歷史數據對預測結果影響越大,故對近期觀測數據應賦予更高的權重.基于此,在標準支持向量回歸機的基礎上,通過引入一個適當的權重函數μi,實現隨著時間臨近對數據的錯誤加以越來越嚴重的懲罰強度,以調整輸入數據在回歸模型中的作用[15].根據結構風險最小化原則,其加權支持向量回歸機的優化形式如下:

式中:w 為權重,b 為偏置量;C 為大于0 的懲罰因子,ξi,ξ*
i 為非負松弛變量;ε 為不敏感損失函數參數;xi∈Rn是輸入向量;yi∈R 為相應的目標輸出值.根據Karush-Kuhn-Tucker(KKT)條件,引入拉格朗日函數,回歸問題可以轉化為其相應的對偶形式:

式中:K(xi,xj)=(θ(xi)·θ(xj))是核函數. 將WSVR 與標準SVR[8]對比發現,只有ai和的約束發生改變,而目標函數并沒有變化.常用核函數有多項式核、Sigmoid 核、線性核、Fourier 級數核與高斯徑向基核等. 與其他核函數相比,高斯徑向基核函數具有模型參數少,計算難度低、效率高易于實現等優點.筆者在本模型中采用高斯徑向基函數作為核函數K(xi,xj)=θ(xi)Tθ(xj)=exp(- ||xi-xj||2/σ2).由式(5)可求出:

式中:SV 為標準支持向量集合;NNSV為標準向量的數量. 加權支持向量回歸機的決策函數表達式為

粒子群優化算法是由Kenney 和Eberhart[16]于1995 年提出的一種基于種群并行搜索全局尋優的算法,通過群體中粒子之間的合作與競爭使群體達到最優.PSO 的數學描述為:設種群規模為n,第i 個粒子在m 維搜索空間的位置表示為xi=(xi1,xi2,…,xij,…,xim),飛行速度vi= (vi1,vi2,…,vij,…,vim),迄今為止搜索到的個體最優位置為pi=(pi1,pi2,…,pij,…,pim),整個粒子群全局最優位置為pgbesti=(pgbest1,pgbest2,…,pgbestm). 可根據式(8)和(9)來更新粒子的速度和位置:

其中,i=1,2,…,n;j =1,2,…,m;c1、c2>0,分別為個體學習因子和社會學習因子;t 為當前迭代次數,r1和r2為在[0,1]范圍內均勻分布的隨機數.ω 是慣性權重系數,用來控制歷史速度對當前速度的影響.為了平衡全局和局部搜索能力,使ω隨迭代次數的增加線性遞減,能夠顯著改善PSO算法的收斂性能.

式中:ωmax為初始慣性權重;ωmin為最后慣性權重;tmax為最大迭代次數.飛行速度vi∈[-vmax,vmax],該限制條件可有效防止粒子速度過快錯過最優解,通過對算法的改進進一步提高了粒子群算法的全局搜索能力.
結果顯示,觀察組總有效率97.67%,對照組總有效率81.40%,觀察組臨床療效明顯高于對照組,差異具有統計學意義(χ2=14.125 8,P<0.05)。觀察組臨床療效、PASI 評分明顯優于對照組(P<0.05),說明中藥聯合NB-UVB治療尋常型銀屑病能有效促進皮膚修復;觀察組血清IFN-γ、IL-2水平明顯低于對照組(P<0.05),說明中藥聯合NB-UVB治療尋常型銀屑病能有效調節免疫系統反應。
研究發現懲罰因子C、不敏感損失函數ε 以及核函數的參數σ 決定著WSVR 回歸模型的性能[10].為了提高預測性能,獲得最佳的C、ε 和σ參數組合是關鍵. 關于SVRM 模型參數優化組合,目前尚未有有效的方法,常通過交叉驗證試算或梯度下降法求解,耗時且人為影響較大.為此,筆者采用PSO 算法對WSVR 的參數進行自動優化選擇,不僅克服人為選擇的隨機性,還可以通過粒子適應度函數的設置,實現參數組合自動選擇的目的.筆者選擇能直接反映WSVR 模型性能的均方誤差(MSE)的倒數作為PSO 算法的適應度函數Fitness(),其表達式如下所示:

其中,yi、分別為真實值和預測值.
基于改進PSO 的WSVR 參數組合優化算法步驟描述如下:
Step1:粒子群(C,σ2,ε)初始化. 設置粒子數規模n、循環迭代最大次數tmax、慣性權重ω 的范圍,粒子速度v 的限定范圍,學習因子c1和c2等參數,并隨機產生一組粒子的初始速度和位置.
Step2:用訓練集來訓練WSVR,用式(11)計算每一個粒子的適應度值Fitness(C,σ2,ε),然后根據粒子的適應度值更新個體極值pi和全局極值pgbesti.
Step3:由公式(8)、(9)和(10),更新每個粒子的速度和位置.
Step4:檢查算法終止條件,如迭代次數等于tmax或最優解不再發生變化,則算法結束,輸出最優的參數組合.否則返回Step3 繼續尋優.
PSO-WSVR 水質預測模型的基本思想就是充分利用其強大的處理非線性多參數系統能力,建立集約化河蟹養殖水域中水質變化與各個影響因素之間復雜的非線性關系,挖掘水質內部變化規律,從而實現利用歷史影響因素的變化對未來水質變化做出精確預測,有效提高了預測模型的精度以及泛化能力. 其水質預測模型構建步驟如圖1 所示.

圖1 PSO-WSVR 水質預測模型構建步驟Fig.1 Implementation process of predict the water quality based on PSO-WSVR

圖2 原始數據變化曲線圖Fig.2 The variation curve of the original water quality data
在實際應用中,為消除由于樣本數據精度和量綱不同對預測模型性能的影響,為此有必要對樣本數據進行歸一化預處理.采用公式(12)將圖2 所示的河蟹養殖生態環境數據分別歸一化到[0,1]之間,既保留了數據的原始特征又提高算法性能.

式中:xmin、xmax分別為原始數據的最小值和最大值;x 和x'為歸一化前后的數據.
算法利用Matlab7.13 語言編程實現,PSO 算法初始化為:種群規模為n =50,c1=c2=1.49,最大迭代次數tmax= 100,ω 的范圍設置為[0. 9,0.35],粒子速度v 的限定范圍[0.3,8]. 將前半小時的溶解氧、水溫、PH 值、空氣濕度、風速、太陽輻射作為輸入項,下一時刻的溶解氧預測值作為輸出項,預測值與下一時刻的溶解氧實際值的均方誤差作為粒子適應度函數. 按照基于改進PSO 的WSVR 參數組合優化算法步驟對PSO -WSVR 進行訓練,在訓練次數t =80 時,獲得WSVR 的最佳參數組合:σ=0.007 5,C=78.36,ε=1.685 9.將組合參數帶入PSO -SVRM 模型中對溶解氧濃度進行預測.
為了檢驗PSO -WSVR 預測模型的性能,采用均方根誤差RMSE、均方差MSE、平均絕對誤差MAE、平均絕對百分比誤差MAPE、相關系數R2分別作為算法性能的評價指標.將本文算法、標準SVR 算法和三層S 型激勵函數的BP 神經網絡進行對比分析,其擬合預測曲線對比圖如圖3 所示,預測結果誤差統計見表1.

圖3 PSO-WSVR、標準的SVR 和BPNN 算法預測結果比較Fig.3 Comparison of results forecasted by BPNN,standard SVR and PSO-WSVR

表1 BPNN、標準SVR 和PSO-WSVR的預測結果誤差比較Tab.1 The forecasting error result comparison of BPNN,standard SVR and PSO-WSVR
由圖3 可知,基于PSO -WSVR 的水質預測算法擬合度較好,預測結果比較符合實際情況;標準SVR 預測曲線擬合效果次之;而BP 神經網絡預測曲線擬合的相對較差,這與BP 神經網絡不太適合小樣本數據預測有關.
由表1 不難看出,PSO -WSVR 模型與BP 神經網絡相比,性能評價指標RMSE、MAE、MAPE、MSE 分 別 下 降 了65. 66%、71. 25%、60. 15%、74.86%,R2上升了11.51%.這表明,在小樣本的情況下PSO-WSVR 比標準BP 神經網絡具有更好的性能和預測精度. PSO - WSVR 模型與標準SVR 相比,性能評價指標RMSE、MAE、MAPE、MSE 分 別 下 降 了46. 74%、17. 86%、43. 62%、67.84%,R2上升了5.13%.試驗表明,PSO-WSVR 參數選擇避免了交叉驗證試算確定WSVR 參數組合對用戶經驗的依賴,采用PSO 算法獲得參數組合有效提高預測模型的精度和性能. 總的來說,筆者提出的PSO-WSVR 模型不僅預測精度高、泛化性能好.
(1)針對集約化水產養殖領域水質預測中不同時刻的水質數據對預測模型的貢獻程度不同,提出了加權支持向量回歸機克服了標準支持向量機預測的不足,較好的體現了近期數據較遠期數據對未來預測更具有影響力,應賦予更高的權重的基本思想,從而可以提高預測精度和可靠性,能夠滿足河蟹養殖水質管理的需要.
(2)基于PSO 優化算法對WSVR 的參數組合進行尋優,克服了交叉驗證試算確定WSVR 參數組合的人為主觀因素的影響,并將PSO-WSVR 混合預測模型應用于江蘇省水產養殖智能控制技術標準化示范區——宜興市集約化河蟹養殖池塘水質變化趨勢中. 結果表明,基于PSO-WSVR 預測模型較標準SVR 和BP 神經網絡預測模型具有更好的預測精度和泛化能力.
(3)通過對集約化水產養殖池塘的水質監測,提前預知未來短期池塘水質變化趨勢,給養殖戶和水利管理部門不僅提供充足水質污染尤其是突發水質惡化事件的應對時間,還對有效降低人力勞動強度,提高生產效益,有一定的應用推廣價值.
[1] 申安華.云南高原湖泊與池塘的河蟹養殖技術研究[J].水生態學雜志,2010,3(2):129 -132.
[2] DELLANA S,WEST D. Predictive modeling for wastewater applications:Linear and nonlinear approaches[J]. Environmental Modelling and Software.2009,24:96 -106.
[3] ABAURREA J,ASIN J,CEBRIAN A C,et al. Trend analysis of water quality series based on regression models with correlated errors[J]. Journal of Hydrology,2011,400:341 -352.
[4] 王小藝,趙曉平,劉載文,等.基于灰色理論的湖庫水體富營養化預測方法研究[J]. 計算機仿真,2011,28(1):17 -19.
[5] TAN Guo-hua,YAN Jian-zhou,GAO Chen,et al.Prediction of water quality time series data based on least squares support vector machine[J]. Procedia Engineering,2012,31:1194 -1199.
[6] MAHAPATRA S S,NANDA S K,PANIGRAH B K.A cascaded fuzzy inference system for indian river water quality prediction [J]. Advances in Engineering Software,2011,42:787 -796.
[7] EVNARD J,GRIEU S,POLIT M. Wavelet-based multi-resolution analysis and artificial neural networks for forecasting temperature and thermal power consumption[J]. Engineering Applications of Artificial Intelligence,2011,24(3):501 -516.
[8] VAPNIK V. Statistical learning theory[M]. New York:Wiley,1998.
[9] SINGH K P,BASANT N,GUPTA S. Support vector machines in water quality management[J]. Analytica Chimica Acta,2011,703:152 -162.
[10]王雪松,程玉虎,郝名林.一種支持向量機參數選擇的改進分布估計算法[J]. 山東大學學報:工學版,2009,39(3):7 -10.
[11] AVCI E. Selecting of the optimal feature subset and kernel parameters in digital modulation classification by using hybrid genetic algorithm-support vector machines:HGASVM[J]. Expert Systems with Applications,2009,36(2):1391 -1402.
[12]張俊,程春田,申建建,等. 基于蟻群算法的支持向量機中長期水文預報模型[J]. 水力發電學報,2010,29(6):34 -40.
[13]HSIEH T J,HSIAO H F,YEH W C. Mining financial distress trend data using penalty guided support vector machines based on hybrid of particle swarm optimization and artificial bee colony algorithm[J]. Neurocomputing,2012,82:196 -206.
[14]BABAOGLU I,FINDIK O,ü LKER E. A comparison of feature selection models utilizing binary particle swarm optimization and genetic algorithm in determining coronary artery disease using support vector machine[J]. Expert Systems with Applications,2010,37(4):3177 -3183.
[15]陳懿冰,張玲玲,聶廣禮,等. 基于改進的支持向量回歸機的金融時序預測[J]. 數學的實踐與認識,2012,42(4):38 -44.
[16]KENNEDY J,EBERHART R C,SHI Y. Swarm Intelligence[M]. San Francisco,CA:Morgan Kaufmann Publishers Inc,2001.