基于PSO-WSVR 的短期水质预测模型研究

2013-03-18 02:48徐龙琴刘双印
郑州大学学报(工学版) 2013年3期
关键词:向量粒子水质

徐龙琴,刘双印,2,3

(1.广东海洋大学 信息学院,广东 湛江524088;2.中国农业大学 现代精细农业系统集成研究教育部重点实验室,北京100083;3. 中国农业大学 北京市农业物联网工程技术研究中心,北京100083)

0 引言

集约化水产养殖水体是水产品的栖息场所,水质的好坏直接影响着水产品的质量和产量. 对养殖水质参数进行精准预测,及时掌握水质动态变化趋势,具有重要的理论价值和现实意义.因养殖池塘水质受多方面因素的影响,具有多变量、非线性、大时滞、模糊不确定性特点,利用传统的方法很难建立精确的非线性预测模型[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 神经网络进行对比分析.试验结果表明,本文算法具有较高的预测精度和泛化能力,非常适合于集约化水产养殖水质预测.

1 加权支持向量回归机

在水产养殖水质预测领域,输入与输出变量之间存在随时间发生周期性变化的关系,且距离预测时刻越近的历史数据对预测结果影响越大,故对近期观测数据应赋予更高的权重.基于此,在标准支持向量回归机的基础上,通过引入一个适当的权重函数μ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为标准向量的数量. 加权支持向量回归机的决策函数表达式为

2 基于PSO-WSVR 的水质预测建模

2.1 粒子群优化算法

粒子群优化算法是由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治疗寻常型银屑病能有效调节免疫系统反应。

2.2 基于PSO 的WSVR 参数组合优化

研究发现惩罚因子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 继续寻优.

2.3 PSO-WSVR 水质预测模型构建

PSO-WSVR 水质预测模型的基本思想就是充分利用其强大的处理非线性多参数系统能力,建立集约化河蟹养殖水域中水质变化与各个影响因素之间复杂的非线性关系,挖掘水质内部变化规律,从而实现利用历史影响因素的变化对未来水质变化做出精确预测,有效提高了预测模型的精度以及泛化能力. 其水质预测模型构建步骤如图1 所示.

图1 PSO-WSVR 水质预测模型构建步骤Fig.1 Implementation process of predict the water quality based on PSO-WSVR

3 实验结果与分析

3.1 研究对象及数据源

图2 原始数据变化曲线图Fig.2 The variation curve of the original water quality data

3.2 数据归一化预处理

在实际应用中,为消除由于样本数据精度和量纲不同对预测模型性能的影响,为此有必要对样本数据进行归一化预处理.采用公式(12)将图2 所示的河蟹养殖生态环境数据分别归一化到[0,1]之间,既保留了数据的原始特征又提高算法性能.

式中:xmin、xmax分别为原始数据的最小值和最大值;x 和x'为归一化前后的数据.

3.2 算法实现及性能对比分析

算法利用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 模型不仅预测精度高、泛化性能好.

4 结论

(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.

猜你喜欢
向量粒子水质
向量的分解
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
聚焦“向量与三角”创新题
基于膜计算粒子群优化的FastSLAM算法改进
关于水质监测对环境保护的意义
一月冬棚养虾常见水质浑浊,要如何解决?这9大原因及处理方法你要知晓
这条鱼供不应求!虾蟹养殖户、垂钓者的最爱,不用投喂,还能净化水质
Conduit necrosis following esophagectomy:An up-to-date literature review
图像识别在水质检测中的应用
基于粒子群优化极点配置的空燃比输出反馈控制