徐龍琴,劉雙印,2,3
(1.廣東海洋大學(xué) 信息學(xué)院,廣東 湛江524088;2.中國(guó)農(nóng)業(yè)大學(xué) 現(xiàn)代精細(xì)農(nóng)業(yè)系統(tǒng)集成研究教育部重點(diǎn)實(shí)驗(yàn)室,北京100083;3. 中國(guó)農(nóng)業(yè)大學(xué) 北京市農(nóng)業(yè)物聯(lián)網(wǎng)工程技術(shù)研究中心,北京100083)
集約化水產(chǎn)養(yǎng)殖水體是水產(chǎn)品的棲息場(chǎng)所,水質(zhì)的好壞直接影響著水產(chǎn)品的質(zhì)量和產(chǎn)量. 對(duì)養(yǎng)殖水質(zhì)參數(shù)進(jìn)行精準(zhǔn)預(yù)測(cè),及時(shí)掌握水質(zhì)動(dòng)態(tài)變化趨勢(shì),具有重要的理論價(jià)值和現(xiàn)實(shí)意義.因養(yǎng)殖池塘水質(zhì)受多方面因素的影響,具有多變量、非線性、大時(shí)滯、模糊不確定性特點(diǎn),利用傳統(tǒng)的方法很難建立精確的非線性預(yù)測(cè)模型[2]. 為此,國(guó)內(nèi)外學(xué)者采用回歸分析[3]、灰色理論[4]、時(shí)間序列[5]、模糊推理[6]、神經(jīng)網(wǎng)絡(luò)[7]等方法,對(duì)總磷、總氮、葉綠素、水溫、COD、溶解氧、氨氮、PH 值等水質(zhì)參數(shù)預(yù)測(cè)已做了大量的工作,并取得了一定的成效.但上述方法以基于樣本無限大的假設(shè)或經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化原則為基礎(chǔ),存在易陷入局部極小點(diǎn)、過學(xué)習(xí)與欠學(xué)習(xí)、維數(shù)災(zāi)難、泛化能力差等缺陷,尤其對(duì)小樣本數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí),其預(yù)測(cè)結(jié)果很難令人滿意.
支持向量回歸機(jī)(SVR)以統(tǒng)計(jì)學(xué)習(xí)理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理為基礎(chǔ),較好地解決了傳統(tǒng)預(yù)測(cè)方法難以解決的問題[8-9].但是,作為一種新型的機(jī)器學(xué)習(xí)方法,SVR 參數(shù)以及核函數(shù)參數(shù)選取的是否恰當(dāng)嚴(yán)重影響著模型的預(yù)測(cè)精度和性能.傳統(tǒng)的SVR 參數(shù)選取方法主要有試湊法、經(jīng)驗(yàn)選擇法、Bayesian 法、交叉驗(yàn)證法等,但傳統(tǒng)方法通常憑借專家經(jīng)驗(yàn)進(jìn)行,計(jì)算量大,時(shí)間復(fù)雜度高,不易獲取適宜的參數(shù)組合[10].為獲取較優(yōu)的參數(shù)組合,提高SVR 模型預(yù)測(cè)精度,減少人為主觀因素對(duì)預(yù)測(cè)性能的影響,一些學(xué)者開始采用遺傳算法(GA)[11]、蟻群算法(ACA)[12]和粒子群優(yōu)化算法(PSO)[13-14]等算法對(duì)SVR 參數(shù)進(jìn)行優(yōu)化組合,以提高模型的性能. 與GA 和ACA 相比[14],PSO 沒有交叉和變異操作,且以信息共享機(jī)制為基礎(chǔ),每個(gè)粒子可以直接利用全局信息進(jìn)行并行性全局搜索,具有調(diào)節(jié)參數(shù)少、快速、實(shí)現(xiàn)簡(jiǎn)單等優(yōu)點(diǎn),很適合于SVR 參數(shù)優(yōu)化.
針對(duì)集約化水產(chǎn)養(yǎng)殖水域環(huán)境的特點(diǎn),以及監(jiān)測(cè)水質(zhì)數(shù)據(jù)中距預(yù)測(cè)時(shí)刻的近期數(shù)據(jù)較遠(yuǎn)期歷史數(shù)據(jù)對(duì)預(yù)測(cè)值影響較大,提出了基于PSO 和加權(quán)支持向量回歸機(jī)(weighted support vector regression,WSVR)的短期水質(zhì)預(yù)測(cè)模型. 首先以觀測(cè)數(shù)據(jù)對(duì)預(yù)測(cè)結(jié)果貢獻(xiàn)不同應(yīng)賦予不同權(quán)限為指導(dǎo)思想,將標(biāo)準(zhǔn)SVR 改進(jìn)為加權(quán)支持向量回歸機(jī),對(duì)近期數(shù)據(jù)的誤差錯(cuò)誤采取更高的懲罰強(qiáng)度,有效提高了算法精度;運(yùn)用PSO 算法對(duì)WSVR 參數(shù)組合進(jìn)行優(yōu)化,實(shí)現(xiàn)WSVR 模型參數(shù)的自適應(yīng)選取;以江蘇省水產(chǎn)養(yǎng)殖智能控制技術(shù)標(biāo)準(zhǔn)化示范區(qū)——宜興市集約化河蟹養(yǎng)殖池塘水質(zhì)數(shù)據(jù)為基礎(chǔ),將本文算法與標(biāo)準(zhǔn)SVR 和BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比分析.試驗(yàn)結(jié)果表明,本文算法具有較高的預(yù)測(cè)精度和泛化能力,非常適合于集約化水產(chǎn)養(yǎng)殖水質(zhì)預(yù)測(cè).
在水產(chǎn)養(yǎng)殖水質(zhì)預(yù)測(cè)領(lǐng)域,輸入與輸出變量之間存在隨時(shí)間發(fā)生周期性變化的關(guān)系,且距離預(yù)測(cè)時(shí)刻越近的歷史數(shù)據(jù)對(duì)預(yù)測(cè)結(jié)果影響越大,故對(duì)近期觀測(cè)數(shù)據(jù)應(yīng)賦予更高的權(quán)重.基于此,在標(biāo)準(zhǔn)支持向量回歸機(jī)的基礎(chǔ)上,通過引入一個(gè)適當(dāng)?shù)臋?quán)重函數(shù)μi,實(shí)現(xiàn)隨著時(shí)間臨近對(duì)數(shù)據(jù)的錯(cuò)誤加以越來越嚴(yán)重的懲罰強(qiáng)度,以調(diào)整輸入數(shù)據(jù)在回歸模型中的作用[15].根據(jù)結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,其加權(quán)支持向量回歸機(jī)的優(yōu)化形式如下:
式中:w 為權(quán)重,b 為偏置量;C 為大于0 的懲罰因子,ξi,ξ*
i 為非負(fù)松弛變量;ε 為不敏感損失函數(shù)參數(shù);xi∈Rn是輸入向量;yi∈R 為相應(yīng)的目標(biāo)輸出值.根據(jù)Karush-Kuhn-Tucker(KKT)條件,引入拉格朗日函數(shù),回歸問題可以轉(zhuǎn)化為其相應(yīng)的對(duì)偶形式:
式中:K(xi,xj)=(θ(xi)·θ(xj))是核函數(shù). 將WSVR 與標(biāo)準(zhǔn)SVR[8]對(duì)比發(fā)現(xiàn),只有ai和的約束發(fā)生改變,而目標(biāo)函數(shù)并沒有變化.常用核函數(shù)有多項(xiàng)式核、Sigmoid 核、線性核、Fourier 級(jí)數(shù)核與高斯徑向基核等. 與其他核函數(shù)相比,高斯徑向基核函數(shù)具有模型參數(shù)少,計(jì)算難度低、效率高易于實(shí)現(xiàn)等優(yōu)點(diǎn).筆者在本模型中采用高斯徑向基函數(shù)作為核函數(shù)K(xi,xj)=θ(xi)Tθ(xj)=exp(- ||xi-xj||2/σ2).由式(5)可求出:
式中:SV 為標(biāo)準(zhǔn)支持向量集合;NNSV為標(biāo)準(zhǔn)向量的數(shù)量. 加權(quán)支持向量回歸機(jī)的決策函數(shù)表達(dá)式為
粒子群優(yōu)化算法是由Kenney 和Eberhart[16]于1995 年提出的一種基于種群并行搜索全局尋優(yōu)的算法,通過群體中粒子之間的合作與競(jìng)爭(zhēng)使群體達(dá)到最優(yōu).PSO 的數(shù)學(xué)描述為:設(shè)種群規(guī)模為n,第i 個(gè)粒子在m 維搜索空間的位置表示為xi=(xi1,xi2,…,xij,…,xim),飛行速度vi= (vi1,vi2,…,vij,…,vim),迄今為止搜索到的個(gè)體最優(yōu)位置為pi=(pi1,pi2,…,pij,…,pim),整個(gè)粒子群全局最優(yōu)位置為pgbesti=(pgbest1,pgbest2,…,pgbestm). 可根據(jù)式(8)和(9)來更新粒子的速度和位置:
其中,i=1,2,…,n;j =1,2,…,m;c1、c2>0,分別為個(gè)體學(xué)習(xí)因子和社會(huì)學(xué)習(xí)因子;t 為當(dāng)前迭代次數(shù),r1和r2為在[0,1]范圍內(nèi)均勻分布的隨機(jī)數(shù).ω 是慣性權(quán)重系數(shù),用來控制歷史速度對(duì)當(dāng)前速度的影響.為了平衡全局和局部搜索能力,使ω隨迭代次數(shù)的增加線性遞減,能夠顯著改善PSO算法的收斂性能.
式中:ωmax為初始慣性權(quán)重;ωmin為最后慣性權(quán)重;tmax為最大迭代次數(shù).飛行速度vi∈[-vmax,vmax],該限制條件可有效防止粒子速度過快錯(cuò)過最優(yōu)解,通過對(duì)算法的改進(jìn)進(jìn)一步提高了粒子群算法的全局搜索能力.
結(jié)果顯示,觀察組總有效率97.67%,對(duì)照組總有效率81.40%,觀察組臨床療效明顯高于對(duì)照組,差異具有統(tǒng)計(jì)學(xué)意義(χ2=14.125 8,P<0.05)。觀察組臨床療效、PASI 評(píng)分明顯優(yōu)于對(duì)照組(P<0.05),說明中藥聯(lián)合NB-UVB治療尋常型銀屑病能有效促進(jìn)皮膚修復(fù);觀察組血清IFN-γ、IL-2水平明顯低于對(duì)照組(P<0.05),說明中藥聯(lián)合NB-UVB治療尋常型銀屑病能有效調(diào)節(jié)免疫系統(tǒng)反應(yīng)。
研究發(fā)現(xiàn)懲罰因子C、不敏感損失函數(shù)ε 以及核函數(shù)的參數(shù)σ 決定著WSVR 回歸模型的性能[10].為了提高預(yù)測(cè)性能,獲得最佳的C、ε 和σ參數(shù)組合是關(guān)鍵. 關(guān)于SVRM 模型參數(shù)優(yōu)化組合,目前尚未有有效的方法,常通過交叉驗(yàn)證試算或梯度下降法求解,耗時(shí)且人為影響較大.為此,筆者采用PSO 算法對(duì)WSVR 的參數(shù)進(jìn)行自動(dòng)優(yōu)化選擇,不僅克服人為選擇的隨機(jī)性,還可以通過粒子適應(yīng)度函數(shù)的設(shè)置,實(shí)現(xiàn)參數(shù)組合自動(dòng)選擇的目的.筆者選擇能直接反映WSVR 模型性能的均方誤差(MSE)的倒數(shù)作為PSO 算法的適應(yīng)度函數(shù)Fitness(),其表達(dá)式如下所示:
其中,yi、分別為真實(shí)值和預(yù)測(cè)值.
基于改進(jìn)PSO 的WSVR 參數(shù)組合優(yōu)化算法步驟描述如下:
Step1:粒子群(C,σ2,ε)初始化. 設(shè)置粒子數(shù)規(guī)模n、循環(huán)迭代最大次數(shù)tmax、慣性權(quán)重ω 的范圍,粒子速度v 的限定范圍,學(xué)習(xí)因子c1和c2等參數(shù),并隨機(jī)產(chǎn)生一組粒子的初始速度和位置.
Step2:用訓(xùn)練集來訓(xùn)練WSVR,用式(11)計(jì)算每一個(gè)粒子的適應(yīng)度值Fitness(C,σ2,ε),然后根據(jù)粒子的適應(yīng)度值更新個(gè)體極值pi和全局極值pgbesti.
Step3:由公式(8)、(9)和(10),更新每個(gè)粒子的速度和位置.
Step4:檢查算法終止條件,如迭代次數(shù)等于tmax或最優(yōu)解不再發(fā)生變化,則算法結(jié)束,輸出最優(yōu)的參數(shù)組合.否則返回Step3 繼續(xù)尋優(yōu).
PSO-WSVR 水質(zhì)預(yù)測(cè)模型的基本思想就是充分利用其強(qiáng)大的處理非線性多參數(shù)系統(tǒng)能力,建立集約化河蟹養(yǎng)殖水域中水質(zhì)變化與各個(gè)影響因素之間復(fù)雜的非線性關(guān)系,挖掘水質(zhì)內(nèi)部變化規(guī)律,從而實(shí)現(xiàn)利用歷史影響因素的變化對(duì)未來水質(zhì)變化做出精確預(yù)測(cè),有效提高了預(yù)測(cè)模型的精度以及泛化能力. 其水質(zhì)預(yù)測(cè)模型構(gòu)建步驟如圖1 所示.
圖1 PSO-WSVR 水質(zhì)預(yù)測(cè)模型構(gòu)建步驟Fig.1 Implementation process of predict the water quality based on PSO-WSVR
圖2 原始數(shù)據(jù)變化曲線圖Fig.2 The variation curve of the original water quality data
在實(shí)際應(yīng)用中,為消除由于樣本數(shù)據(jù)精度和量綱不同對(duì)預(yù)測(cè)模型性能的影響,為此有必要對(duì)樣本數(shù)據(jù)進(jìn)行歸一化預(yù)處理.采用公式(12)將圖2 所示的河蟹養(yǎng)殖生態(tài)環(huán)境數(shù)據(jù)分別歸一化到[0,1]之間,既保留了數(shù)據(jù)的原始特征又提高算法性能.
式中:xmin、xmax分別為原始數(shù)據(jù)的最小值和最大值;x 和x'為歸一化前后的數(shù)據(jù).
算法利用Matlab7.13 語言編程實(shí)現(xiàn),PSO 算法初始化為:種群規(guī)模為n =50,c1=c2=1.49,最大迭代次數(shù)tmax= 100,ω 的范圍設(shè)置為[0. 9,0.35],粒子速度v 的限定范圍[0.3,8]. 將前半小時(shí)的溶解氧、水溫、PH 值、空氣濕度、風(fēng)速、太陽輻射作為輸入項(xiàng),下一時(shí)刻的溶解氧預(yù)測(cè)值作為輸出項(xiàng),預(yù)測(cè)值與下一時(shí)刻的溶解氧實(shí)際值的均方誤差作為粒子適應(yīng)度函數(shù). 按照基于改進(jìn)PSO 的WSVR 參數(shù)組合優(yōu)化算法步驟對(duì)PSO -WSVR 進(jìn)行訓(xùn)練,在訓(xùn)練次數(shù)t =80 時(shí),獲得WSVR 的最佳參數(shù)組合:σ=0.007 5,C=78.36,ε=1.685 9.將組合參數(shù)帶入PSO -SVRM 模型中對(duì)溶解氧濃度進(jìn)行預(yù)測(cè).
為了檢驗(yàn)PSO -WSVR 預(yù)測(cè)模型的性能,采用均方根誤差RMSE、均方差MSE、平均絕對(duì)誤差MAE、平均絕對(duì)百分比誤差MAPE、相關(guān)系數(shù)R2分別作為算法性能的評(píng)價(jià)指標(biāo).將本文算法、標(biāo)準(zhǔn)SVR 算法和三層S 型激勵(lì)函數(shù)的BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比分析,其擬合預(yù)測(cè)曲線對(duì)比圖如圖3 所示,預(yù)測(cè)結(jié)果誤差統(tǒng)計(jì)見表1.
圖3 PSO-WSVR、標(biāo)準(zhǔn)的SVR 和BPNN 算法預(yù)測(cè)結(jié)果比較Fig.3 Comparison of results forecasted by BPNN,standard SVR and PSO-WSVR
表1 BPNN、標(biāo)準(zhǔn)SVR 和PSO-WSVR的預(yù)測(cè)結(jié)果誤差比較Tab.1 The forecasting error result comparison of BPNN,standard SVR and PSO-WSVR
由圖3 可知,基于PSO -WSVR 的水質(zhì)預(yù)測(cè)算法擬合度較好,預(yù)測(cè)結(jié)果比較符合實(shí)際情況;標(biāo)準(zhǔn)SVR 預(yù)測(cè)曲線擬合效果次之;而BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)曲線擬合的相對(duì)較差,這與BP 神經(jīng)網(wǎng)絡(luò)不太適合小樣本數(shù)據(jù)預(yù)測(cè)有關(guān).
由表1 不難看出,PSO -WSVR 模型與BP 神經(jīng)網(wǎng)絡(luò)相比,性能評(píng)價(jià)指標(biāo)RMSE、MAE、MAPE、MSE 分 別 下 降 了65. 66%、71. 25%、60. 15%、74.86%,R2上升了11.51%.這表明,在小樣本的情況下PSO-WSVR 比標(biāo)準(zhǔn)BP 神經(jīng)網(wǎng)絡(luò)具有更好的性能和預(yù)測(cè)精度. PSO - WSVR 模型與標(biāo)準(zhǔn)SVR 相比,性能評(píng)價(jià)指標(biāo)RMSE、MAE、MAPE、MSE 分 別 下 降 了46. 74%、17. 86%、43. 62%、67.84%,R2上升了5.13%.試驗(yàn)表明,PSO-WSVR 參數(shù)選擇避免了交叉驗(yàn)證試算確定WSVR 參數(shù)組合對(duì)用戶經(jīng)驗(yàn)的依賴,采用PSO 算法獲得參數(shù)組合有效提高預(yù)測(cè)模型的精度和性能. 總的來說,筆者提出的PSO-WSVR 模型不僅預(yù)測(cè)精度高、泛化性能好.
(1)針對(duì)集約化水產(chǎn)養(yǎng)殖領(lǐng)域水質(zhì)預(yù)測(cè)中不同時(shí)刻的水質(zhì)數(shù)據(jù)對(duì)預(yù)測(cè)模型的貢獻(xiàn)程度不同,提出了加權(quán)支持向量回歸機(jī)克服了標(biāo)準(zhǔn)支持向量機(jī)預(yù)測(cè)的不足,較好的體現(xiàn)了近期數(shù)據(jù)較遠(yuǎn)期數(shù)據(jù)對(duì)未來預(yù)測(cè)更具有影響力,應(yīng)賦予更高的權(quán)重的基本思想,從而可以提高預(yù)測(cè)精度和可靠性,能夠滿足河蟹養(yǎng)殖水質(zhì)管理的需要.
(2)基于PSO 優(yōu)化算法對(duì)WSVR 的參數(shù)組合進(jìn)行尋優(yōu),克服了交叉驗(yàn)證試算確定WSVR 參數(shù)組合的人為主觀因素的影響,并將PSO-WSVR 混合預(yù)測(cè)模型應(yīng)用于江蘇省水產(chǎn)養(yǎng)殖智能控制技術(shù)標(biāo)準(zhǔn)化示范區(qū)——宜興市集約化河蟹養(yǎng)殖池塘水質(zhì)變化趨勢(shì)中. 結(jié)果表明,基于PSO-WSVR 預(yù)測(cè)模型較標(biāo)準(zhǔn)SVR 和BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型具有更好的預(yù)測(cè)精度和泛化能力.
(3)通過對(duì)集約化水產(chǎn)養(yǎng)殖池塘的水質(zhì)監(jiān)測(cè),提前預(yù)知未來短期池塘水質(zhì)變化趨勢(shì),給養(yǎng)殖戶和水利管理部門不僅提供充足水質(zhì)污染尤其是突發(fā)水質(zhì)惡化事件的應(yīng)對(duì)時(shí)間,還對(duì)有效降低人力勞動(dòng)強(qiáng)度,提高生產(chǎn)效益,有一定的應(yīng)用推廣價(jià)值.
[1] 申安華.云南高原湖泊與池塘的河蟹養(yǎng)殖技術(shù)研究[J].水生態(tài)學(xué)雜志,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] 王小藝,趙曉平,劉載文,等.基于灰色理論的湖庫水體富營(yíng)養(yǎng)化預(yù)測(cè)方法研究[J]. 計(jì)算機(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ī)參數(shù)選擇的改進(jìn)分布估計(jì)算法[J]. 山東大學(xué)學(xué)報(bào):工學(xué)版,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ī)中長(zhǎng)期水文預(yù)報(bào)模型[J]. 水力發(fā)電學(xué)報(bào),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,F(xiàn)INDIK 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ìn)的支持向量回歸機(jī)的金融時(shí)序預(yù)測(cè)[J]. 數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2012,42(4):38 -44.
[16]KENNEDY J,EBERHART R C,SHI Y. Swarm Intelligence[M]. San Francisco,CA:Morgan Kaufmann Publishers Inc,2001.