APP下载

基于PCA-NARX神经网络的氨氮预测

2019-01-12,,

大连海洋大学学报 2018年6期
关键词:氨氮水质神经网络

,,

(1.上海海洋大学 信息学院,上海 201306;2.上海海洋大学 水产与生命学院,上海 201306)

氨氮在水体中的含量能够反映出水体的污染程度和生物的生长状况,是衡量水质优劣的重要指标之一[1],国内外相关研究表明,养殖水体中氨氮的含量受到多种因素的影响,如pH值、饲料、生物种类、换水频率和药物残留等,因而直接或者间接影响着养殖生物的生长[2-3]。此外,相关渔业水质标准[4]也对渔业养殖用水的氨氮含量有着明确规定,适宜鱼类生长的水体氨氮含量不能高于0.02 mg/L,通常情况下,氨离子的浓度不能高于5 mg/L[5-6]。因此,在水产养殖过程中监测氨氮的含量,预测其变化趋势对水产养殖产业有着重要意义。

近年来,对氨氮等水质参数的预测主要集中在检测污水处理效果、评估自然水体污染程度、监测水产养殖水质变化等方面。主要方法有时间序列法、支持向量机法和人工神经网络法等。由于在不同的水环境中,水质参数的变化受到多种因素的影响,而时间序列法[7-8]只考虑了预测变量与自身变化间的关系,缺乏对相关因子的考虑,不适合复杂环境的水质参数预测。居锦武[9]使用最小二乘支持向量机法建立了养殖水体的氨氮预测模型;刘双印等[10]使用基于时间相似数据的支持向量机法对水产养殖中的溶解氧进行了在线预测;但支持向量机法存在着算法复杂程度高、最佳训练参数的确定困难、易陷入局部最优解的问题[11-12]。由于神经网络具有自学习、自组织、并行处理信息和处理非线性信息的能力,能够挖掘数据背后较难用数学式描述的非线性特征,弥补了传统时间序列模型的不足,从而被广泛应用于水产养殖水质参数的预测问题[13-15]。

非线性有源自回归模型NARX(Nonlinear auto regressive models with exogenous inputs)是一种应用广泛的动态神经网络,Cadenas等[16]应用NARX模型对风速变化进行短期预测。Guzman等[17]运用NARX模型对密西西比地区地下水位进行长时间时间序列预测。蔡磊等[18]应用NARX模型对暴时SYM-H指数进行预测,并取得了不错的效果。本研究中采用基于主成分分析法(PCA)优化网络输入变量的NARX神经网络预测模型,即PCA-NARX神经网络模型,并结合相关专家经验与氨氮调控需求,在池塘围网条件下对中华绒螯蟹24 h、48 h水体氨氮含量进行短期预测。

1 模型构建

1.1 基本NARX网络模型

NARX网络模型即有外部输入的非线性自回归模型,属于动态递归神经网络,相当于具有输入延时的BP网络加上输出到输入的延时反馈连接[18],NARX网络主要由输入层、隐层、输出层及输出到输入的延时构成,其网络结构如图1所示,由于输出层不断将包含历史的输出数据反馈到输入层,从而使NARX网络具有记忆能力,相比于传统回归神经网络包含更长时间的网络历史状态和实时状态信息。

图1 NARX网络模型Fig.1 Model of NARX neural network

假设I(t)、O(t)分别为网络在t时刻的外部输入和输出,M为输入数据的个数,D为反馈时延的阶数,则对于网络t时刻的输入I(t)={I1,I2,…,IM},对应的反馈输入为C(t)={O(t-1),O(t-2),…,O(t-D)},隐层第j个神经元的输出Hj为

(1)

其中:f为隐层节点的激励函数,本研究中选用tanh函数,相关文献表明tanh函数在梯度求解时容错性能好[18];Ii为第i个输入的值,wji为i个输入与第j个隐含层神经元之间的连接权值;bj为第j个隐层神经元的阈值。网络的输出为

(2)

其中:S为隐层神经元的个数;woj为第j个隐含神经元与输出神经元之间的连接权值;bo为输出神经元的阈值。

1.2 PCA-NARX氨氮预测模型

1.2.1 输入变量的选择 主成分分析法(Principal Components Analysis, PCA)是一种数据压缩和特征提取的多变量统计分析技术,本模型中使用PCA对网络的外部输入变量进行降维,通过构造变量的一系列线性组合形成新变量,新的变量比原始数据维度更低,且在彼此不相关的前提下反映原始数据的信息。通过PCA选择的主成分变量作为NARX网络的输入,既减少了输入变量的维数,又消除了由于输入变量的相关性不同对网络输出结果造成的影响,从而简化了网络的结构,提高了网络收敛性和稳定性。PCA主要计算过程如下:

(3)

(4)

(3) 求解相关系数矩阵R的特征根λ1≥λ2≥…≥λm、特征向量u1,u2,…,um,并计算贡献率和累计贡献率。

主成分Fi的贡献率(ei)为

(5)

累计贡献率(P)为

(6)

本研究中选取累计贡献率90%以上的p主成分变量作为网络的输入,从而将网络输入维数由m降为p。

(4) 获得主成分矩阵。n个样本对应p个主成分变量构成的矩阵为

An×p=Zn×mUm×p。

(7)

其中,Um×p=[u1,u2,…,up]。

1.2.2 性能评价指标 预测模型性能评价是判断模型预测性能的关键,评价NARX模型性能的主要指标有均方根误差(RMSE)、相关系数(R)、误差自相关系数(EA)。其中,RMSE用于判定预测值与实际输出值之间的偏差,R用于判定两者的相关性,EA用于判定预测值与误差之间的相关程度,三者的计算公式分别为

(8)

(9)

(10)

1.2.3 训练过程 本研究中用于氨氮预测的PCA-NARX 神经网络流程见图2,首先,取出原始样本中的外部输入变量,处理异常数据;PCA分析后,非主成分变量剔除,主成分变量与预测变量合并为样本数据集,将样本数据集分为训练集、验证集、测试集3部分用于网络训练;训练过程采用L-M(Levenberg-Marquardt)算法,该算法是使用最为广泛的非线性最小二乘算法,在中小规模的神经网络中,训练速度较快。网络训练过程中,每一次网络训练结束之后比较R、RMSE与EA的值,训练初期,数值波动较为剧烈,后期趋于平稳,整体R值逐渐增加,RMSE逐渐减小,在训练过程中反复调整隐层单元个数和延迟阶数,假设RMSEmin(t)为训练中第t次循环前最小RMSE,定义训练终止的判断函数γ为

(11)

当γ<0.001时,认为网络的收敛已经接近极限[18],训练可以终止。训练结束之后,使用测试样本检验网络的性能。

图2 PCA-NARX神经网络流程Fig.2 Process of PCA-NARX neural network

2 数据处理及网络参数确定

2.1 数据来源

本研究中用于预测氨氮的数据来源于上海福岛水产养殖专业合作社生产基地,根据2015年2 月 20 日—10 月 20 日期间对中华绒螯蟹养殖水环境的监测数据,检测成蟹围网的水质指标有温度、酸碱度、溶解氧、氧化还原电位、浊度、海水比、盐度、氨氮共8项。根据不同水域长时间监测数据表明,每小时内各项参数指标浮动范围较小[19-20],因此,可以小时为单位,计算每小时各项参数的平均值(表1)。高温时期(7—8 月)和最后一次集中蜕壳期是成蟹生长过程中两个重要的时期,应加强此期的饲养管理[21],监测水质变化情况,选取其中的480组水质参数用于PCA-NARX网络训练。

2.2 异常数据处理

2.2.1 缺失数据的处理 对前后时间间隔不大的缺失水质数据,可以采用如公式中线性插值法对其进行修复处理[10],即

Xk+i=Xk+i(Xk+j-Xk)/j,0

(12)

其中:Xk和Xk+j分别为k时刻和k+j时刻水质参数,Xk+i为k+i时刻水质的参数;对于缺失时间跨度较大的数据,可以选择天气类型相同或者相近的临近日期,采用时间刻度相同的数据进行补全处理。

2.2.2 非真实数据的处理 由于水质参数具有时序性和延续性等特点,前后相邻的监测数据正常情况下不会发生急剧的跳变。通过计算,若某时刻水质参数值大于样本均方误差的2倍,则认为数据有误,可以采用下式进行平均值平滑处理[21],即

Xk=(Xk-1+Xk+1)/2。

(13)

2.3 外部输入参数的确定

根据“1.2.1”节描述的PCA提取主成分的方法,对除氨氮之外的7项水质指标参数进行PCA主成分提取,计算特征值与贡献率,结果见表2。

经过PCA提取的前三个主成分贡献率分别为45.875%、30.156%和22.238%,从表2可知,前三个主成分的累计贡献率为98.269%,大于90%,说明3个主成分变量能够反映原始数据提供的绝大部分信息,因此,主成分个数确定为3。根据公式(7)计算出主成分矩阵,通过PCA分析将网络的输入由7维降低为3维,优化了网络的输入,得到的主成分变量分别命名为F1、F2、F3,部分数据如表3所示。

2.4 网络结构的确定

将“2.3”节得到的主成分数据与原始的氨氮数据合并,采用公式(14)进行归一化至[0.1,0.9]区间内,以消除不同量纲和数量级对网络训练的影响。

表1 样本数据Tab.1 Information on the samples

表2 主成分分析Tab.2 Analysis of principal component

表3 主成分数据Tab.3 Data of the principal component

(14)

得到连续480 h(3个主成分变量和氨氮)480组数据样本集,3项主成分为NARX网络模型的外部输入,下一时刻氨氮的值为输出,取样本的70%作为训练集,用于网络训练,取样本的15%作为验证集,验证网络归一化程度,防止网络过拟合,取样本的15%作为测试集,用于预测性能进行测试。使用Matlab建立PCA-NARX网络模型,选择trainlm函数为训练函数,训练过程中,反复调整隐层个数和延迟阶数,对比均方根误差、自相关系数和误差自相关系数,结果表明,当隐层个数为11、延迟阶数为2时,预测效果最佳。

3 仿真结果与分析

结合相关专家经验与中华鳌绒蟹换水与调控水质需求[22],为验证PCA-NARX网络模型的预测效果,本研究中使用训练好的PCA-NARX氨氮预测模型对2015年10月1日起连续48 h之内的水中氨氮含量进行预测,并与真实的数据进行对比(图3)。从图3可见,16~25 h和43~48 h时预测效果略有波动,整体48 h之间预测曲线基本与实际变化趋势一致。

图3 PCA-NARX神经网络模型48 h氨氮预测Fig.3 Ammonia nitrogen level forecasting in 48 hours based on PCA-NARX neural work

本研究中,采用相同结构的NAR、NARX神经网络模型对氨氮进行同时间段的预测效果对比,3种网络模型在24、48 h时预测曲线对比见图4,3种网络预测模型均方根误差(RMSE)见表4。从图4可见,NARX网络模型在1~10 h、15~30 h、40~45 h时预测曲线有较大波动;NAR网络模型在整体48 h之内预测变化趋势一致,但是预测精度低于PCA-NARX网络模型,氨氮峰值、谷值处出现较大误差;从整体48 h预测来看,经过主成分分析得到的主成分变量作为输入的PCA-NARX网络模型预测效果最佳。

从表4可见,PCA-NARX网络模型在1~24 h、1~48 h时的RMSE均小于NAR、NARX网络模型,1~24 h时略小于NAR网络模型,但总体48 h内,PCA-NARX网络模型对氨氮的预测性能优于NARX、NAR神经网络模型,具有更高的预测精度和更优的泛化能力。

图4 NARX、PCA-NARX、NAR网络模型的氨氮预测Fig.4 Ammonia nitrogen level forecasting by NARX,PCA-NARX and NAR neural net works

网络模型neural net work均方根误差RMSE1~24 h 1~48 hNARX1.2971.685NAR0.9961.086PCA-NARX0.7530.624

4 结论

本研究中采用PCA-NARX神经网络模型对养殖环境的氨氮进行时间序列预测,并结合中华鳌绒蟹的水质调控需求,进行了24 h、48 h的预测研究,并与NAR、NARX网络模型在24 h、48 h内预测精度对比。结果表明:PCA-NARX网络模型在24 h内的均方根误差较NAR网络模型减少24.39%,较NARX模型减少41.94%;总体上48 h之内的预测均方根误差为0.624,PCA-NARX神经网络具有更小的均方根误差。PCA-NARX网络模型相对于传统NARX网络模型优化了网络输入变量,具有更优秀的泛化能力,同时又兼顾了NAR网络模型对预测周期性变化的优势,为水环境质量监测、渔业用水安全管理领域提供了一个更高精度的水氨氮预测模型。

猜你喜欢

氨氮水质神经网络
悬浮物对水质氨氮测定的影响
改进型T-S模糊神经网络的出水氨氮预测
神经网络抑制无线通信干扰探究
一月冬棚养虾常见水质浑浊,要如何解决?这9大原因及处理方法你要知晓
图像识别在水质检测中的应用
氧化絮凝技术处理高盐高氨氮废水的实验研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
间位芳纶生产废水氨氮的强化处理及工程实践
基于支持向量机回归和RBF神经网络的PID整定