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

袁红春1赵彦涛1刘金生2

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

摘要:为准确掌握水产养殖中重要水质参数氨氮的变化趋势,提出了基于PCA-NARX神经网络的氨氮预测模型,用主成分分析法提取的主成分变量作为网络输入,优化网络结构,以中华绒螯蟹Eriocheir sinensis的养殖水体为例,建立了PCA-NARX网络模型,并与NAR、NARX网络模型进行了对比试验。结果表明:PCA-NARX模型在24 h 和48 h内均方根误差(RMSE)最小,较NAR网络模型减少24.39%,较NARX网络模型减少41.94%;总体在48 h之内,PCA-NARX网络模型相对于NAR、NARX网络模型具有更好的泛化能力,对氨氮的预测性能较好。本试验结果可为中华绒螯蟹养殖水体的氨氮调控提供参考依据。

关键词: 氨氮预测;PCA-NARX神经网络;主成分分析;水产养殖

氨氮在水体中的含量能够反映出水体的污染程度和生物的生长状况,是衡量水质优劣的重要指标之一[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个输入的值,wjii个输入与第j个隐含层神经元之间的连接权值;bj为第j个隐层神经元的阈值。网络的输出为

(2)

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

1.2 PCA-NARX氨氮预测模型

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

(1) 数据标准化。设样本个数为n,指标个数为mxij(i=1,2,…,nj=1,2,…,m)为第i组样本第j项指标的值,为第j项指标平均值,Sj为方差,根据公式(3)进行标准化处理,得到标准化矩阵Zn×m

(3)

(2) 根据公式(4)建立相关系数矩阵

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

其中:yo,tt时刻的目标输出值;yit时刻的实际输出值;n为测试样本个数;为目标输出平均值;为预测平均值;yo,d为延迟d时刻的目标输出值;yd为延迟d时刻的实际输出值。

1.2.3 训练过程 本研究中用于氨氮预测的PCA-NARX 神经网络流程见图2,首先,取出原始样本中的外部输入变量,处理异常数据;PCA分析后,非主成分变量剔除,主成分变量与预测变量合并为样本数据集,将样本数据集分为训练集、验证集、测试集3部分用于网络训练;训练过程采用L-M(Levenberg-Marquardt)算法,该算法是使用最为广泛的非线性最小二乘算法,在中小规模的神经网络中,训练速度较快。网络训练过程中,每一次网络训练结束之后比较RRMSEEA的值,训练初期,数值波动较为剧烈,后期趋于平稳,整体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<i<j

(12)

其中:XkXk+j分别为k时刻和k+j时刻水质参数,Xk+ik+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维,优化了网络的输入,得到的主成分变量分别命名为F1F2F3,部分数据如表3所示。

2.4 网络结构的确定

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

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

序号No.温度/℃temperature酸碱度pH溶解氧/(mg·L-1)DO 氧化还原电位/mVORP浊度/(mg·L-1)TDS海淡水比值SSG盐度salinity氨氮/(mg·L-1)NH3-N125.67.85.2443.27.640.200.580.90226.07.34.6442.47.680.220.590.58325.88.25.0639.97.610.210.581.13424.68.06.3643.37.650.200.581.27523.97.44.8042.97.700.210.590.59622.97.35.2643.17.680.210.590.74723.07.54.7243.37.650.210.591.44︙︙︙︙︙︙︙︙︙47925.77.74.0242.87.630.190.591.2948027.37.96.4842.17.610.190.590.89

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

成分component 特征值eigenvalue贡献率/%contribution rate12.57145.87521.56430.15631.03522.23840.0420.82150.0380.40260.0250.35470.0110.204

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

F1 F2F30.758-0.5980.3150.826-0.8020.1120.952-0.8310.3020.790-0.875-0.112︙︙︙0.653-0.899-0.3980.652-0.921-0.588

(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

表4 均方根误差统计
Tab.4 Statistics of RMSE

网络模型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网络模型对预测周期性变化的优势,为水环境质量监测、渔业用水安全管理领域提供了一个更高精度的水氨氮预测模型。

参考文献

[1] 熊鸿斌,陈雪,张斯思.基于MIKE11模型提高污染河流水质改善效果的方法[J].环境科学,2017,38(12):5063-5073.

[2] 刘永士,臧维玲,侯文杰,等.凡纳滨对虾生长及养殖池氮、磷收支随养殖时间的变化[J].大连海洋大学学报,2013,28(2):143-147.

[3] 李金亮,陈雪芬,赖秋明,等.凡纳滨对虾高位池养殖氮、磷收支研究及养殖效果分析[J].南方水产,2010,6(5):13-20.

[4] 国家环境保护局.GB 11607-1989 渔业水质标准[S].北京:中国标准出版社,1989.

[5] 汪翔,何吉祥,佘磊,等.基于NAR神经网络对养殖水体亚硝酸盐预测模型的研究[J].渔业现代化,2015,42(4):30-34.

[6] 张霞霞,李世森,胡艺珂,等.亚硝酸盐对水产动物毒性的影响[J].安徽农业科学,2014,42(5):1398-1400.

[7] 孙国红,沈跃,徐应明,等.基于Box-Jenkins方法的黄河水质时间序列分析与预测[J].农业环境科学学报,2011,30(9):1888-1895.

[8] 范海梅,李丙瑞,叶属峰,等.长江口表层溶解氧浓度的长时间序列分析[J].海洋环境科学,2011,30(3):342-345.

[9] 居锦武.基于LS-SVM的养殖水体氨氮含量分析模型的优化[J].大连海洋大学学报,2016,31(4):444-448.

[10] 刘双印,徐龙琴,李道亮,等.基于蚁群优化最小二乘支持向量回归机的河蟹养殖溶解氧预测模型[J].农业工程学报,2012,28(23):167-175.

[11] Tan Guohua,Yan Jianzhuo,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.

[12] Lü Jiake,Wang Xuan,Zou Wei.A hybrid approach of support vector machine with differential evolution optimization for water quality prediction[J].Journal of Convergence Information Technology,2013,8(2):1158-1163.

[13] 胡康,万金泉,马邕文,等.基于模糊神经网络的A2/O工艺出水氨氮在线预测模型[J].中国环境科学,2012,32(2):260-267.

[14] 余伟,罗飞,杨红,等.基于多神经网络的污水氨氮预测模型[J].华南理工大学学报:自然科学版,2010,38(12):79-83.

[15] 崔雪梅,汪殿蓓,熊思.基于随机遗传算法的LM-BP模型的氨氮预测[J].水利水电技术,2013,44(11):26-28,39.

[16] Cadenas E,Rivera W,Campos-Amezcua R,et al.Wind speed forecasting using the NARX model,case:La Mata,Oaxaca,México[J].Neural Computing and Applications,2016,27(8):2417-2428.

[17] Guzman S M,Paz J O,Tagert M L M.The use of NARX neural networks to forecast daily groundwater levels[J].Water Resources Management,2017,31(5):1591-1603.

[18] 蔡磊,马淑英,蔡红涛,等.利用NARX神经网络由IMF与太阳风预测暴时SYM-H指数[J].中国科学:技术科学,2010,40(1):77-84.

[19] 袁红春,潘金晶.改进递归最小二乘RBF神经网络溶解氧预测[J].传感器与微系统,2016,35(10):20-23.

[20] 刘金生,王军,岳武成,等.水体pH对中华绒螯蟹幼蟹蜕壳生长及其相关基因表达的影响[J].淡水渔业,2016,46(4):96-100.

[21] 刘双印.基于计算智能的水产养殖水质预测预警方法研究[D].北京:中国农业大学,2014.

[22] 刘金生.中华绒螯蟹的生长动态、基因表达与水质环境(水温、溶氧、pH及氨氮)的相关性[D].上海:上海海洋大学,2016.

Ammonia nitrogen level forecasting based on PCA-NARX neural network

YUAN Hong-chun1, ZHAO Yan-tao1, LIU Jin-sheng2

(1.College of Information Technology, Shanghai Ocean University, Shanghai 201306, China; 2.College of Fisheries and Life Science,Shanghai Ocean University, Shanghai 201306, China)

Abstract An ammonia nitrogen level forecasting model is developed based on the PCA-NARX neural network in which principal component variables extracted are used as exogenous inputs by principal component analysis (PCA) and the network structure was optimized in order to improve accuracy of ammonia nitrogen level forecasting and grasp the trend of the ammonia nitrogen levels accurately. The forecasting performance was conducted in a Chinese mitten handed crabEriocheir sinensis tank compared with NAR and NAR neural networks. Simulation results show that the proposed method has good nonlinear fitting ability and its root mean square error (RMSE) is lower than that in NAR and NARX in 24 h, consistent with NAR and NARX in 24 h and 48 h. Also, the comparison with other models indicates that PCA-NARX neural network has better nonlinear fitting ability and superior in forecasting dissolved oxygen level based on theRMSE in short term (48 h), and can be used to offer scientific guidance to control water quality.

Key words ammonia nitrogen level forecasting; PCA-NARX neural network; principal component analysis; aquaculture

收稿日期 2018-03-14

基金项目 国家自然科学基金资助项目(41776142)

作者简介 袁红春(1971—), 男, 博士, 教授。 E-mail:hcyuan@shou.edu.cn

中图分类号TP389.1

文献标志码:A

DOI:10.16535/j.cnki.dlhyxb.2018.06.020

文章编号2095-1388(2018)06-0808-06