第3问1问题分析第三问中实际上包含3个问题,第一个问题是建立一个模型,用于描述主要理化因子与浮游生物密度的关系。首先通过各理化因子与浮游生物密度间的相关性,选择出相关性强的主要理化因子。之后通过以主要理化因子为输入,以浮游生物密度为输出,构建合适的BP神经网络作为第一个问题的模型。第二个问题是探究水华发生时,主要理化因子间的范围。水华发生指一定,池塘中浮游生物密度达到某值,由于题中明确指出池塘1发生轻微水华,因此以池塘1中浮游生物密度的平均值作为水华发生指标。将其他理化因子的值,取实际中最可能发生水华的值,限定浮游生物密度为水华发生指标,反解可得指定理化因子在发生水华时的范围。这里的反解,采用新构造的,以指定理化因子为输出的BP神经网络。第三个问题是预测水华发生,为避免理化因子间错综复杂的关系,并充分利用现有数据。这一问使用NAR神经网络进行处理,不同于上述“主要理化因子与浮游生物密度相关模型“的BP神经网络,NAR神经网络不采用主要理化因子预测浮游植物含量,而采用时间序列进行直接预测,其输入为各池的依时间序列的藻含量,通过藻含量的时间变化来直接预测第N+1周的藻含量。进一步,可通过藻含量值与水华发生指标做对比,确定该预测浓度下是否会发生水华。2主要理化因子与浮游生物密度相关模型2.1数据选择与处理附件1含有总磷、磷酸盐磷、总氮、硝态氮、亚硝态氮、铵态氮6种理化因子数据,附件2中4个池塘共有的理化因子为轮虫、溶氧、COD、水温、PH、盐度、透明度、总碱度8种。为统一模型适用性,以附件1和2中总共16种理化因子为基础,探究影响浮游生物密度的主要理化因子。以池塘1、2的数据为准,16种理化因子与浮游生物密度间的相关性分析,分析结果如表1所示。表1理化因子与浮游生物密度相关性理化因子R2理化因子R2理化因子R2总磷-0.0662铵态氮-0.0004PH-0.5169磷酸盐磷-0.1430轮虫-0.3860盐度-0.1098总氮0.0488溶氧0.5329透明度0.0328硝态氮0.2952COD0.0855总碱度0.2191亚硝态氮0.6307水温0.3174由表1知,亚硝态氮态氮、溶氧和PH是影响浮游生物密度的主要理化因子。因此,在之后的建模中,以这三种主要理化因子为研究对象,忽略其他次要理化因子。BP神经网络的输入值即为,池水中亚硝态氮氮、溶氧和PH,输出则为浮游植物密度总量。2.2模型建立本文基于Matlab软件,构建了一个三层前向神经网络(代码参见附录4)。模型核心是确定数据训练方式和隐含层数量。图1BP神经网络拓扑结构从附件中共可以提取出4个池塘,8周总计32条包含亚硝态氮、溶氧、PH和浮游植物密度总量的数据。以其中的的26条数据作为BP神经网络训练数据,剩余的6条作为检验数据。就训练数据量少的问题,将26条训练数据进行备份,利用训练数据原件和训练数据备份对神经网络进行重复训练,以提高拟合精度。在BP神经网络构建过程中,输入层节点数为n=3,输出节点数为m=1。根据经验公式lmna(其中a为从0到10的整数,该公式可以防止过拟合现象发生),可以确定隐含节点数目有2到12共十种可能情况。建立这10种情况,并对这些神经网络的精度进行比较,结果如下。结果显示,当隐含层节点数为10时,神经网络拟合误差最小,因此将隐含层节点数为10的BP神经网络作为主要理化因子与浮游生物密度相关模型。2.3模型评价上述模型为单隐含层BP神经网络。以第n周池水中亚硝态氮、溶氧和PH的含量为输入,以第n周浮游植物密度总量为输出。利用26条数据进行双重训练,并取隐含层节点数为10。模型能够利用主要理化因子求得当前浮游生物密度,精度较高,适用于4个池塘。3求解理化因子范围3.1求解原理由上述模型知,影响水华发生的主要理化因子为池水中亚硝态氮氮、溶氧和PH含量。其中,浮游生物量与亚硝态氮成正相关关系,与溶氧成正相关关系,与PH成负相关关系。水华发生意味着浮游生物密度达到某一值,该情况下亚硝态氮指数存在最小值,溶氧指数存在最小值,PH值存在最大值。为探究三个主要理化因子间的联系,对其三者做两两拟合。图1亚硝态氮与溶氧图2溶氧与PH图3PH与亚硝态氮由上述拟合关系知,要使得溶氧取得最小值,则PH越大越好,亚硝态氮越小越好;要使亚硝态氮取得最小值,溶氧越小越好,PH越大越好;要使得PH取最大值,则溶氧越小越好,亚硝态氮越小越好。3.2训练BP神经网络BP神经网络训练和验证方式与“主要理化因子与浮游生物密度相关模型”中的一致。分别训练ryNET,yxtdNET,phNET用于求解主要理化因子范围。以浮游植物总密度、池水中亚硝态氮和PH为输入,以池水中的溶氧为输出,训练并验证BP神经网络ryNET。以浮游植物总密度、池水中溶氧和PH为输入,以池水中的亚硝态氮为输出,训练并验证BP神经网络yxtdNET。以浮游植物总密度、池水中亚硝态氮和溶氧为输入,以池水中的PH为输出,训练并验证BP神经网络phNET。图4BP神经网络训练过程3.3计算求解由题知1号池中发生轻微水华,,因此以1号池中浮游植物总密度359.0056作为水华发生标准。以水华发生时浮游植物总密度359.0056,实际中PH的最大值9.33,实际中亚硝态氮的最小值0.005为输入,利用3.2中名为ryNET的神经网络进行求解,得到发生水华时溶氧的最小值4.9709。以水华发生时浮游植物总密度359.0056,实际中溶氧的最小值2.4,实际中PH的最大值9.33为输入,利用3.2中名为yxtdNET的神经网络进行求解,得到发生水华时亚硝态氮的最小值0.0751。以水华发生时浮游植物总密度359.0056,实际中亚硝态氮的最小值0.005,实际中溶氧的最小值2.4为输入,利用3.2中名为phNET的神经网络进行求解,得到发生水华的PH的最大值为:9.2482。因此发生水华主要理化因子的范围如下表所示:表2水华发生时主要理化因子范围主要理化因子范围溶氧14.9709mgL亚硝态氮10.0751mgLPH9.24824水华预测模型4.1NAR神经网络原理NAR模型是NARMA模型的一种特殊形式,NARMA模型可以定义为:1(y,,y,x,,)①nnnknnlyGx①式中:x—模型输入;y—模型输出;n—离散时间;G—非线性函数。当实测数据为时间序列,模型输入是未知时,可以将式①改写成式②所示的NAR模型形式。1y(y,,y)ke②nnnknF②式中:F—非线性函数;k—常数;εn—服从高斯分配的随机变量。不同于上述“主要理化因子与浮游生物密度相关模型“的BP神经网络,NAR神经网络不采用主要理化因子预测浮游植物含量,而采用时间序列进行直接预测,其输入为各池的依时间序列的藻含量,通过藻含量的时间变化来直接预测第N+1周的藻含量。4.2模型建立以池1数据为例,说明NAR神经网络建立方法,即”水华预测模型“。选用贝叶斯正则化算法训练NAR神经网络,将网络权值均方与误差均方的加权作为性能函数,在保证网络均方误差尽可能小的前提下,有效地控制网络的复杂程度,从而获得较好的泛化性能提高网络推广能力。在matlab环境下(相关代码请参见附录),调用narnet函数构建网络,建模样本中分为7个训练样本、4个验证样本、4个测试样本,传递函数设定为tansig函数,训练函数设定为trainbr函数,权值自适应学习函数设定为learngd函数,性能函数采用MSE。网络经过169次训练,训练误差为5.3×10-6。训练结束后建立了如图5所示的NAR神经网络蓝藻预测模型,预测结果如图6所示。图5NAR神经网络结构图5NAR神经网络拟合效果4.3预测结果利用4个池塘的前15周蓝藻含量构建NAR神经网络模型,预测第16周各池蓝藻含量,结果如表1所示。表1NAR神经网络预测结果池塘编号预测周数预测蓝藻量(106个/L)116530.2644216300.9694316926.0669416291.4367由题知,池塘1发生轻微水华,因此取池塘1从第一到第15周的平均蓝藻含量345.714作为水华发生判别标准。在此标准下,根据模型预测结果,认为1号和3号池塘在第16周发生水华,2号和4号池塘在第16周不发生水华。图1池塘1蓝藻含量及其预测图2池塘2蓝藻含量及其预测图3池塘4蓝藻含量及其预测图4池塘4蓝藻含量及其预测