王旭生,王 昕,孙晓川+
(1.华北理工大学 理学院,河北 唐山 063210;2.华北理工大学 人工智能学院,河北 唐山 063210)
近年来,我国海洋污染日益严重,海洋灾害逐年增加,海洋生态环境逐渐恶化[1]。海洋水质参数的变化直接影响海水水质的好坏,利用海洋监测网络对海洋环境进行持续的动态监测,精确预测未来海水水质的变化,如何准确预测海水水质成为国内外学者研究的热点。
海水水质受多种物理、化学和生物因素影响,且不同影响因素之间有一定的关联性,要想迅速、准确实现海水水质预测,必须要先降低不同因素间的关联关系,提取影响水质的主要因子。主成分分析(principal component analysis,PCA)被用来解决这一问题[2,3],对给定的相关变量实现基于变换矩阵的降维,从而为回归提供更友好的输入,避免了人为选择的主观性问题。
在过去的几十年里,出现了各种各样的水质预测模型,现代较为流行的方法包括支持向量机模型、神经网络模型、模糊法、小波分析法等。文献[4-6]建立了基于支持向量机的水质预测模型,文献[7-10]采用神经网络进行水质预测。但神经网络存在收敛速度慢、在训练过程中容易过拟合、需要调整的参数过多、泛化性能较差等缺点,支持向量机相较于神经网络参数较少,但其随着训练样本的增加训练时间也相应延长,惩罚因子不可估量,核函数要受到Mercer条件限制。相关向量机基于贝叶斯理论,可以实现概率输出,且核函数不受条件制约,很好克服了支持向量机的缺陷[11-13]。
根据以上问题,本文提出一种基于组合核RVM的海水水质预测模型。该模型利用PCA将较多相互关联的变量转化为较少的主成分变量,然后将提取的主成分因子输入到多核RVM中进行训练和预测,但模型参数的选择直接影响模型最终的预测性能,利用经验选取又存在很大的随机性和主观性。萤火虫算法[14,15](firefly algorithm,FA)在收敛性和全局寻优能力上展现出较强的稳定性和较高的效率,且需要调整的参数少,因此,本文考虑萤火虫算法对组合核RVM核函数权重和参数进行优化选择。
自适应多核模式下的PCA-RVM模型由3个关键的功能模块构成,首先海洋中的传感器采集到的水质数据利用PCA进行数据提取,消除隐藏在变量中的冗余信息;然后提取后的数据进入到多核RVM模型进行非线性逼近,为了避免人为调整参数的随机性,采用了FA进行参数选择,利用优化后的参数建立水质预测模型。
传感器采集到的水质数据进行PCA数据降维,主成分是输入变量的线性变换,按照方差递减顺序排列,方差最大的为第一主成分,其次为第二主成分,以此类推。当前k个主成分的累计贡献率超过95%,则认为这k个主成分可以代表原始数据所包含的信息量,用于水质预测研究。PCA的具体步骤如下所示:
(1)输入待降维数据矩阵X,降维后数据贡献率目标值Crate;
(2)计算数据矩阵X的去中心化矩阵C;
(3)求解C的特征值和特征向量;
(4)按照特征值由大到小的顺序排列特征向量;
(5)使用特征值构造一个列向量,并对列向量做降序排列;
(6)计算特征值之和sum,并初始化降维后矩阵维数n=1;
(7)计算贡献率Crate=前n个特征值之和/总特征值之和;
(8)如果Crate>95%,则取前n个特征向量构成变换矩阵T;否则令n=n+1,返回步骤(7);
(9)对数据矩阵做降维变换newX=X*T;
tm=y(xm,ω)+εm
(1)
式中:ω=(ω0,ω1,…,ωm)为权重向量,εm是期望为0,方差为σ2的高斯分布,即εm~N(0,σ2)。若定义
(2)
式中:K(x,xm)为核函数,则p(tm|x)=N(tm|y(xm),σ2)。又由于tm相互独立,因此目标向量t的高斯似然分布可表示为
(3)
式中:t=(t1,t2,…,tm)T,Φ=[φ(x1),φ(x2),…,φ(xm)]T,φ(xm)=[1,K(xm,x1),…,K(xm,xT)]T。
根据稀疏贝叶斯方法,让ω服从均值为0的高斯先验分布
(4)
式中:α=(α0,α1,…αN)T为确定权值ω服从高斯先验分布的超参数。
根据贝叶斯规则,给定先验概率,可得到后验概率
(5)
和权值ω的后验概率分布为
(6)
若设A=diag(α0,α1,…αN),则后验协方差∑和均值μ的表达式分别为
∑=(σ-2ΦTΦ+A)-1
(7)
μ=σ-2∑ΦTt
(8)
基于最大期望超参数估计,运用多次迭代可得
(αi)new=γi/μ2
(9)
(10)
其中,μi为第i个后验平均值,定义γi=1-αi∑ii。
当输入一个新样本x′,相应输出t′的预测分布为
(11)
根据正态分布的性质可知,p(t′|t)服从正态分布。对于权值后验概率分布的预测来说,其限制条件αMP,σ2MP均取最大值,所以可以得到
p(t′|t,αMP,σ2MP)=N(t′|y′,σ′2)
(12)
式中:σ′2=σ2MP+Φ(x′)T∑Φ(x′),y′=μTΦ(x′)(y′为t′的预测值)。
RVM中的内核函数是影响RVM性能的关键因素。因此,根据数据特点选择合适的内核而不是使用单一固定的内核是非常重要的。常用的核函数包括:线性核
(13)
高斯核
(14)
Sigmoid核
(15)
Laplace核
(16)
在本文中,将以上4个核函数集成为RVM的组合内核,可以表示为
Kcom(xi,yi)=aKlin(xi,yi)+bKgas(xi,yi)+cKsig(xi,yi)+dKlap(xi,yi)
(17)
式中:a、b、c、d为4个核函数的权重。4个内核中每个单独的内核都是组合核的特例,例如:当a=b=c=0时,组合核变为Laplace核。
对于水质预测问题,难以根据先验知识对多核RVM预测器中的核参数及核权重设置合适的值。针对这一问题,本文提出FA算法来优化组合RVM中的参数。该算法通过模拟自然界中萤火虫的发光行为,利用发光强的萤火虫会吸引其周围发光弱的萤火虫向其靠近来完成位置更新,通过多次迭代寻找空间中的最佳位置点作为寻优结果,从而完成算法寻优。具体步骤为:
(1)进行FA算法参数的初始化,包括萤火虫数目n,最大吸引度β0,光强吸收系数γ,步长因子α,最大迭代次数或搜索精度ε;
(2)随机选取萤火虫的初始位置,通过计算目标函数值获取每个萤火虫最大荧光亮度I0;
(3)通过计算萤火虫间的相对亮度I和吸引度β决定萤火虫的移动方向;
(4)对移动后的萤火虫进行空间位置更新,随机移动处在最佳位置的萤火虫;
(5)重新计算更新后萤火虫的亮度;
(6)当达到所需搜索精度或最大设定搜索阈值,则转(7);否则,搜索次数加1,转向(3),进入下一次全局搜索;
(7)输出所需最优参数。
自适应多核RVM预测模型算法见表1,在算法的开始部分,输入海洋传感器数据集X,并设置主成分贡献率,随后进行PCA数据降维,得到提取后的数据集NewX,进入RVM预测器进行预测。模型训练阶段,初始化FA的参数,进行参数寻优得到对应参数集合C_best,建立预测模型,进行水质数据测试集预测。
表1 自适应多核RVM预测模型算法
为验证本文所提出模型的性能,本文选取中国某海域水质数据作为实验数据,并与单一核RVM模型进行比较。溶解氧、蓝绿藻、叶绿素a、pH作为水质数据的重要参数,因此,本文选取这4种水质因子作为RVM预测器的输出数据。
本文所用水质数据来源于中国某海域连续20天实时监测数据,采样时间间隔为半小时,共包含1000个样本,每个样本包含10个化学因子,即盐度(SAL)、电导率(CON)、溶解氧(DO)、叶绿素a(Chl-a)、浊度(TUR)、蓝绿藻(BGA)、总溶解性固体(TSS)、溶解氧饱和度(DOS)、水温(TEM)、pH。在进行数据集预处理时,将数据集中的异常值所在样本删除,对缺失值进行拉格朗日插值填补。选取10个化学因子作为模型的输入,DO、Chl-a、BGA、pH分别作为输出进行水质预测。在本实验中,前800条数据作为模型的训练集,后200条作为测试集。模型参数由FA确定,FA寻优的参数设置见表2。
表2 优化算法参数设置
为了评价海洋水质预测模型的综合性能,采用平均绝对误差MAE作为模型综合性能的评价标准。其计算公式为
(18)
式中:h(xi)和yi分别为模型的预测值与真实值。
除此之外,本文还考虑了统计学习中的箱线图和散点图来进一步验证模型的有效性。
箱线图是描述海洋水质数据集四分位区间的图形工具,通过箱子的上下边表示水质数据的上下四分位数,箱子中间的横线表示海洋水质因子的中位数,箱子两端延伸出去的直线为数据的最大值和最小值,而箱子外的加号表示数据的离群点,以此来反应水质数据的离散程度。
散点图是对于水质参数真实值与预测值作为横纵轴进行绘图,图中y=x的直线表示预测数据与实际数据没有偏差,模型的预测点越多集中在该直线上,表示模型的拟合效果越好,对于水质数据预测的误差越小。
利用PCA对以上10种海水水质影响因素进行降维分析,再利用单一核和多核RVM模型将降维后的数据对其进行非线性逼近。
经过PCA降维后的各主成分贡献率如图1所示。其中,横坐标表示海水水质数据降维提取后的主成分,纵坐标表示各主成分对于原始数据信息量的贡献率,折线表示主成分的累计贡献率。由图1可知,第1主成分贡献率达35%以上,第2、3主成分贡献率达20%以上,说明三维主成分已经综合了10项海水水质数据75%以上的信息量。通过折线可以看出前6个主成分的累计贡献率达到了95%以上,符合主成分的提取个数原则(Crate>95%),说明PCA对于海洋水质输入数据的降维提取是有效的,能够为后续预测器提供更加可靠的输入。
图1 海洋水质因子主成分贡献率
图2给出了自适应多核RVM和4个单核RVM模型的部分预测曲线对比,其横坐标表示海洋水质数据时间序列,纵坐标表示所预测水质因子的数值,不同的曲线代表不同的核函数模型,黑色实线为海洋水质数据的真实值。从图中可以看出,多核RVM模型对于水质因子的拟合效果要优于其它4个模型,尤其是对于数据集中奇异值的预测,自适应多核RVM展现出了较大的优势。不同预测曲线偏离真实数据的程度不同也验证了由于核函数性质不同导致海洋水质因子预测结果不同。
表3给出了单一核与自适应多核RVM模型对于水质参数的预测能力误差比较。从表3可以看出,在动态复杂的海洋水质影响因子中,多核组合RVM模型的预测精度最高,平均绝对误差均低于单核RVM模型。但对于单一核RVM模型,Gas核对于DO和BGA的预测性能较好,Lap核能较好地预测Chl-a,而Lin和Gas对于pH的预测误差相同,Sigmoid核函数对于BGA和Chl-a的预测误差较大。
图3给出了海洋水质预测模型实际值和预测值的箱线图。从图中可以明显地看出,组合核的四分位范围和中位数与实际数据的箱线图最为接近,最大值、最小值预测上略有差距。不同核函数模型在对于DO和pH的预测中都没有出现异常值点,说明实验所采用核函数模型对于这两种预测因子的拟合效果相对较好。值得注意的是,在对于BGA和Chl-a的预测中,Sigmoid核出现了多个异常值点,这与图2中的Sigmoid预测曲线与真实数据拟合效果相较于其它核函数较差相一致。
表3 5种模型的海洋水质预测结果
图2 不同评估模型输出对比
图3 5种模型预测值与真实值的箱线图比较
图4给出了海洋水质预测模型实际值和预测值的散点图。从图中可以看出,对于4种预测因子,组合核预测点比单核的预测点更多集中在基准线附近,再次显示了其强大的非线性逼近能力。5种模型在对于DO的预测中,预测点偏离基准线程度较小。对于其它3种水质因子,单一核预测器都有较为明显的离群点。
图4 5种模型预测值与真实值的散点图比较
本文提出了一种基于集成框架的海洋水质影响因子预测模型,该模型将PCA、FA和组合核RVM集成在一起。在数据降维阶段,利用PCA将高维复杂的水质影响因子提取为几个关键的主成分;在预测阶段,利用FA优化的组合核RVM进行预测。为了验证组合核RVM,选择了单独核的RVM预测结果进行比较。通过实验可以得出如下结论:①数据降维后的数据用较少的数据量代表了较多的水质特征;②组合核在大多数情况下性能优于单一核RVM。在今后的研究工作中,可以探索其它改进RVM模型对水质的预测效果。