基于PCA的模糊BP网络建模方法在藻类生长状态预测中的应用
2011-07-23张颖
张 颖
(上海海事大学信息工程学院,上海 201306)
0 引言
随着经济发展和工业化进程的不断推进,环境污染日益严重.过度排放使得富含氮、磷的污染物质随着江河不断流入大海,导致海水中的藻类过度繁殖、赤潮等灾害频繁爆发,给海洋环境以及周边人们的生产生活带来严重危害.动态监测近海海水中藻类的繁殖状况,可以有效了解海水水质的变化情况,掌握周边河流和陆地向海洋的排放状况,预测藻类爆发性繁殖等灾害的发生,并据此提前建立预警机制或采取相应的防范措施,尽可能减少灾害所造成的损失.对藻类的动态监测结果还可以作为近海环境动态评价的依据,作为制定上下游整体经济发展规划、统筹产业规划的参考,以保证经济和社会的可持续发展.
大量研究[1-2]表明,藻类的生长与海水的硝酸盐含量、光透度、温度、含盐度、氧溶量等十几种理化因子的变化有着密切关系.叶绿素a是表征水体中藻类含量的最直接指标,也是反映水体中浮游生物量的综合指标[3-4],根据其含量变化可以了解浮游植物生物量及其变化趋势.本文将主成分分析法(Principal Component Analysis,PCA)与模糊反向传播(Back Propagation,BP)网络建模方法相结合,研究海水中各种理化因子与藻类浓度间的关系及规律,建立状态预测模型,实现对近海水域藻类繁殖情况的预测.
1 PCA
PCA由霍特林于1933年正式提出,是一种通过降维技术把多个变量化为少数几个主成分(称为原变量的线性组合,即综合变量)的统计分析方法.这些主成分通常表示为原始变量的某种线性组合,能够反映原始变量的绝大部分信息.
通过数学变换,PCA使新变量——主成分彼此不相关,并选取少数几个在方差总信息中比例较大的主成分来分析事物.按累计贡献率的大小加权平均得出反映藻类生长的综合变量,通过比较获取在总信息量中比例较大的主成分作为系统预测模型的输入变量.共设n个影响因子,每个影响因子取m次数据,则可得原始数据矩阵X=(xij)n×m,其中xij为第 i个影响因子的第 j次取值,i=1,2,…,n,j=1,2,…,m.藻类生长影响因子的PCA分析步骤如下:
(1)影响因子数据的标准化处理.对每个xij进行归一化处理,有
式中:xs为归一化后的值,xij为实际值,xmax和xmin分别表示对第i个影响因子的n次取值的最大值和最小值.
(2)利用标准化后的数据计算影响因子间的相关因数矩阵
(3)求解相关因数矩阵R的特征值和特征向量.令|R-λI|=0,可得R的m个特征值λi(i=1,2,…,m)(主成分的方差),其中 λ1≥λ2≥…≥λm≥0.设 λ1,λ2,…,λm对应的特征向量为 α1,α2,…,αm,则第i个主成分的表达式为
(4)确定主成分.选取p(p<m)个主成分,使得累计贡献率超过85%.
2 模糊BP网络及其学习算法
模糊BP网络是按照模糊逻辑系统的运算步骤分层构造,并利用BP学习算法的模糊动态系统.它不改变模糊逻辑系统的基本功能,如模糊化、模糊推理和反模糊化等,可以从海量数据中自动产生模糊规则,并具有自学习、自适应的能力.
2.1 一种具有在线学习功能的模糊BP网络结构模型
一种具有在线学习功能的模糊BP网络结构模型见图1.该网络分为3层,可以理解为一种3层前馈网络[5-6],并可以用BP概念对其参数进行调整,从而达到使模糊逻辑系统进行学习的目的.
图1 具有在线学习功能的模糊BP网络结构模型
第2层的功能:获取去模糊化表达式所需要的分子变量a和b.a为各规则下系统输出模糊变量的高斯隶属度函数的中心点值与zl的乘积之和,b为
2.2 模糊BP网络系统的学习算法
取性能指标
式中:f为模型输出;d为期望输出.
按最速下降法调整网络中的各权重因数,即针对E对各权重因数在负梯度方向进行搜索调整,可获得
式中:α 为学习步长,可选取 α=0.5;f=a/b,a=
第3层的功能:完成系统的去模糊化处理f=a/b,获得系统输出结果.
模糊BP算法分两步:(1)对于给定的输入xi,前向计算出模糊BP网络系统的参数zl(l=1,2,…,M),以及a,b和f;(2)运用(5)~(7)式反向迭代,对和(i=1,2,…,n;l=1,2,…,M)等参数不断进行调整,以获得最小的系统输出误差.
3 预测实验
3.1 确定与藻类繁殖状况相关的主要理化因子
通常,与藻类繁殖状况相关的理化因子主要包括海水的硝酸盐含量、温度、光透度、含盐度和氧溶量等,而叶绿素a的含量通常用来表征藻类繁殖状况.[8-10]选择长江口某海域,从2009年11月25日3时50分至2009年12月7日15时50分,每隔1 h采集一次上述理化因子数据,共得到这一海域的300组数据作为实验的样本数据.选择该时间段采集数据的原因在于:根据历年来这一海域海洋理化因子观测资料发现,该时间段是这一海域藻类繁殖状况异常的多发期,因此以该时段的观测数据作为模型训练的样本数据具有一定的代表性.上述因子中的海水光透度和温度的状态采集时间很短,而其他因子的测量牵涉到一些化学传感器的反应时间问题,获取时间长短各不相同,将采样间隔定为1 h,可兼顾各个变量获取时间的等间隔同步,所得到的样本数据对模型构造及状态预测具有实际意义.
首先构造预测系统的初始模型.选择叶绿素a含量作为预测系统的输出变量,硝酸盐含量、光透度、温度、含盐量、氧溶量和前一采样时刻的叶绿素a含量等6个变量作为系统的输入变量,然后根据采样数据对输入变量进行主成分分析[4],求得相关因数,结果见表1.
表1 各理化因子的相关因数
由表1可知,6个因子存在不同程度的相关性,其中:温度与含盐量和氧溶量的相关因数分别为0.553和 -0.691,含盐量与氧溶量的相关因数为-0.654.由此可提取出彼此独立的变量,筛选出有代表性的因子构造模糊BP网络的输入变量.
根据表1的相关因数和本文中主成分分析步骤(1)~(4),计算所筛选的6个变量因子相关因数矩阵R的特征值和贡献率,结果见表2.
表2 主成分特征值和贡献率
由表2可知,第1个和第2个因子的贡献率分别为44.398%和20.447%,计算可得:前4个因子的累计贡献率为90.409%.
由于通常情况下,因子累计贡献率大于等于85%时就可以反映相关因子的影响,因此可以用前4个变量主成分代替原来的6个变量构造模糊BP网络模型系统.
3.2 模糊BP网络预测结果分析
将300组观测数据中的前200组作为模型系统训练数据,其余100组作为测试数据.在PCA基础上,通过样本训练构建模糊BP网络模型系统,通过测试数据进行系统预测验证.系统训练及测试结果见图2(图中虚线为样本数据,实线为模型系统输出数据).模糊BP网络的误差见表3.
图2 模糊BP网络训练及预测结果
表3 模糊BP网络的误差
由图2和表3可以看到,基于PCA的模糊BP网络能够较好地描述这一非线性系统对象.图2中的预测结果表明,模糊BP网络经过训练具有系统预测功能,能够根据新输入的数据较好地预测出系统输出可能出现的结果.从对220~240测试点之间出现峰值的跟踪情况可以看出,模糊BP网络模型具有较好的泛化性能,能够有效预测藻类繁殖的情况,这恰恰是该类预测系统最需要被关注的功能.从表3中的误差分析结果可以看到,模糊BP网络的测试误差大于训练误差,但预测模型还是表现出一定的泛化性能,可较好地跟踪测试数据的变化,预测出叶绿素a浓度在接下来的100个采样周期内的变化情况.
与叶绿素a浓度相关的理化因子有十几种之多,但它们与叶绿素a浓度变化的关联程度各不相同.如果都作为模型系统的输入变量,将使模型维数很高、形式异常复杂,会使模型收敛速度慢、计算耗时大,不仅实时性差,而且模型的泛化性能也会降低.采用PCA可以获取与系统输出变量关联最大的主成分变量,将它们作为模型的输入变量,可以降低模型阶次、缩短模型训练时间、提高系统响应的实时性,结合模糊BP网络的特点,可以使系统具有良好的泛化性能.
4 结束语
基于PCA的模糊BP建模方法可以有效降低非线性模型系统的复杂程度,提高模型计算的实时性,并使系统具有较好的泛化性能.本文运用这种模型描述海水各类理化因子与水体中叶绿素a含量之间的复杂映射关系,依此预测海水中藻类繁殖生长状况.实验结果表明,运用基于PCA的模糊BP网络模型可以预测海水中叶绿素a的浓度,进而可以推测海水中藻类的生长状况.
[1]LEE J H W,HUANG Y,DICKMAN M,et al.Neural network modelling of coastal algal blooms[J].Ecological Modelling,2003,159(2/3):179-201.
[2]MELESSE A M,KRISHNASWAMY J,ZHANG K Q.Modeling coastal eutrophication at Florida bay using neural networks[J].J Coastal Res,2008,24(2B):190-196.
[3]农吉夫,黄文宁.基于主成分分析的BP神经网络长期预报模型[J].广西师范学院学报,2008,25(4):46-51.
[4]高卫峰,姚志红.基于BP神经网络的藻类生长预测研究[J].微计算机信息,2005,21(10):167-169.
[5]朱武亭,刘以建.BP网络应用中的问题及其解决[J].上海海事大学学报,2005,26(2):64-66.
[6]胡志武,程葆明,陈延才.基于BP神经网络的船员适任性评价模型[J].上海海事大学学报,2010,31(12):23-27.
[7]王立新.自适应模糊系统与控制——设计与稳定性分析[M].北京:国防工业出版社,1995:35-56.
[8]陈艳拢,杨建洪,赵冬至,等.赤潮预报预警模型研究进展[C]//辽宁:中国海洋学会赤潮研究与防治专业委员会第二届学术研讨会,2007.
[9]刘载文,吕思颖,王小艺,等.河湖水华预测方法研究[J].水资源保护,2008,24(5):42-47.
[10]王洪礼,葛根,李悦雷.基于模糊神经网络(FNN)的赤潮预警预测研究[J].海洋通报,2006,25(4):36-41.