基于BP神经网络的潇河流域水质预测

2021-12-22 07:34张秀菊王柳林李秀平王灵生
水资源与水工程学报 2021年5期
关键词:流域断面水质

张秀菊, 王柳林, 李秀平, 王灵生

(1.河海大学 水文水资源学院, 江苏 南京210098; 2.晋中市水利局, 山西 晋中 030600;)

1 研究背景

优质的水环境质量是提升城乡居民生活环境及人文内涵的必要条件,改善水环境是各流域机构与地方政府长期且艰巨的任务,而水质预测则是水环境管理与保护中的重要环节。水质预测是利用现有实测资料,通过建立水质模型预测未来水环境状况的一种方法。科学准确的水质预测有助于认识水体环境的变化规律和发展态势,可以为水环境保护与水污染防治工作提供技术支撑,提高管理部门的决策主动性。

国内外在水质预测方面的研究始于20世纪20年代。初期学者们主要关注机理性水质模型,此类模型从物理、化学、生物等多方面因素研究水质的变化机理,受到诸多学者的青睐[1]。机理性水质模型先后经历了一维、二维及三维几个发展阶段,一维水质模型有S-P水质模型[2]、MIKE11模型[3]、 QUAL2K模型[4]等,随后MIKE21水动力-水质模型[5]、CE-QUAL-W2水质模型[6]等二维水质模型得到发展,二维模型考虑了污染物浓度在河流纵向和横向上的演变,预测内容较一维模型明显增加。后来学者们研发了EFDC模型[7]、WASP模型[8]等三维水质模型,可以模拟更加复杂的水质状况。

上述机理性水质模型较为复杂,在实际运用中需要大量的基础资料作为支撑[9],例如利用水动力-水质耦合模型进行水质预测时需要有实测的河道断面尺寸、河道流量、水位及水质资料,且需要掌握研究河段范围内的时段降雨与蒸发量,以及精确的污染源、取排口等资料,基础资料成为模拟与预测精度的主要约束。故而一些学者开始转向研究非机理性水质模型,如:陈昭明等[10]运用多元回归模型对汉丰湖水质进行了预测;黄玥等[11]采用时间序列模型对三峡水库出库水质进行了预测;Zhou等[12]利用灰色预测模型对水库水质进行了预测;Liu等[13]利用支持向量机对水质进行了预测。上述非机理性水质模型在一些流域得到了实际运用,然而这些模型自身也存在诸多缺陷。例如回归分析模型相对简单,但其对统计数据的要求较高,需要大样本且数据须有较好的分布规律;时间序列模型具有相对完善的理论基础,但其预测的准确性较差[14];灰色预测模型适用于历史数据较少且不连续的情况,但模型容易受到不稳定数据的影响,导致预测误差较大;支持向量机适用于小样本,但其对参数和核函数的选择较为敏感。

基于以上研究方法的不足,考虑到人工神经网络模型具有很强的自适性、自学习和高度容错能力,本文以潇河流域晋中段为研究区域,在Python环境下建立BP神经网络模型,通过模拟流域内重铬酸盐指数(CODCr)和高锰酸盐指数(CODMn)的时空变化规律,预测未来一定时段的水质态势,为水资源管理与水环境保护提供参考依据。

2 数据来源与研究方法

2.1 研究区概况

潇河发源于山西省晋中市昔阳县,流经昔阳、寿阳、和顺、榆次、小店、清徐6个县区,最终汇入汾河,河长为147 km,总流域面积为3 894 km2,其中晋中段流域面积为3 781 km2。潇河流域建有2座中型水库,5座小型水库,目前可以供水的水库为松塔水库、蔡庄水库与郑家庄水库。流域内有6条一级支流,现设有松曲、马坊、蔡庄水库、冷泉寺、东赵、郝村6个水质监测断面。潇河流域晋中段水系分布及各水质监测断面位置如图1所示。

图1 潇河流域晋中段水系分布及各水质监测断面位置

2.2 数据来源

水质数据取自潇河流域6个监测断面的水质资料,数据来源为晋中市水利局。本次选取的数据长度为2017年1月-2020年8月,由于部分月份河流有断流、结冰或缺测情况,故导致这些月份水质数据缺失,水质数据缺失情况统计见表1。为了确保水质数据的连续性,本文运用拉格朗日插值法补充缺失值[15],拉格朗日插值多项式如下:

表1 研究区水质指标数据缺失情况统计表

(1)

式中:th、t、th+1为相邻的3个月份;xh、L1(t)、xh+1为相邻3个月份对应的水质指标(CODCr或CODMn)浓度,mg/L,其中L1(t)为数据缺失月份水质指标浓度插值。

2.3 研究方法

2.3.1 BP神经网络原理 1957年,Rosenblatt基于大脑神经元工作原理发明了感知器,它是最简单的人工神经网络,仅能解决线性问题。1974年,Paul Werbos发明了反向传播算法,使得利用多层神经网络求解非线性问题成为可能,由此产生了BP(back propagation)神经网络。图2为BP神经网络结构图。

图2 BP神经网络结构图

图3 BP神经网络模型流程图

2.3.2 数据处理 由于部分监测断面的实测水质数据波动范围较大,可能影响模型的收敛速度,因此在训练前需要对数据进行预处理。本研究选择改进的最大最小值归一化方法,可以有效避免出现0值,从而降低原始数据对模型训练的影响[17]。公式(2)与(3)是对数据进行预处理和反预处理的方法。

数据预处理方法的计算公式为:

(2)

反预处理方法的计算公式为:

(3)

式中:x为CODCr或CODMn的原始数值;x′为经数据处理后的数据; min(x)和max(x)分别为CODCr或CODMn数值的最小值和最大值。

2.3.3 模型构建 BP神经网络模型构建主要包括神经网络的结构设置、激活函数的选取、求解器的选取3个部分。

(1)BP神经网络的结构设置。理论上,对于一个3层的BP神经网络,只要隐含层节点数足够多,则可以逼近任意非线性函数[18]。本研究确定BP神经网络的总层数为3层。

BP神经网络在训练过程中,输入层节点数设定为k个,输出层节点数为1个。输出层,即第n个节点的CODCr或CODMn的浓度为前k个节点的历史数据的函数,其预测动态系统[19]为:

yn=f(xn-1,xn-2,…,xn-k)

(4)

式中:yn为对应编号为n的CODCr或CODMn;k为滞后编号数。

这样整个系统的输入为某编号为n的前k个编号的CODCr或CODMn,而输出则是第n个节点的CODCr或CODMn。若节点数太少,则网络训练性能会变差,而节点数太多,容易出现过拟合的状况。因此,本研究在程序设计时,设定了相应区间和步长,利用计算机自动寻优确定节点数量,最终确定的节点数见表2。以表2中的松曲断面CODCr为例,其对应的输入层节点数为6个,在模型训练期间,首先输入2017年1月-2017年6月的CODCr浓度实测值,通过模型训练输出2017年7月的CODCr浓度模拟值,然后依次滑动,最后输入2019年11月-2020年4月的CODCr浓度实测值,通过模型训练输出2020年5月的CODCr浓度模拟值。

(2)激活函数的选取。常见的激活函数有identity函数、logistic函数、tanh函数和relu函数。其中identity函数为线性函数,当计算问题为非线性时,该激活函数不适于单独使用;logistic函数和tanh函数计算量大且容易出现梯度消失问题;relu函数可以加快收敛速度,且解决了梯度弥散问题,故本研究选用relu函数,即f(x)=max(0,x)。

(3)求解器的选取。求解器可以用来优化权重,常见的求解器有lbfgs、sgd、adam。其中sgd求解器每步接受的信息有限,造成目标函数收敛不稳定甚至不收敛;adam求解器主要适用于数据集较多的情况;lbfgs为准牛顿方法家族中的优化程序,对于小型数据集,lbfgs可以收敛得更快并且性能更好,故本研究选用lbfgs求解器。

3 结果与分析

3.1 模型训练

以潇河流域2017年1月-2020年5月监测的水质指标CODCr和CODMn逐月浓度数据作为训练集,利用构建好的模型对6个监测断面的水质数据进行拟合,模型的最大学习次数设为2 000,学习速率为0.001。模型训练结果见图4和5,其中,图4为各水质监测断面CODCr浓度模拟结果,图5为各水质监测断面CODMn浓度模拟结果。由于各断面BP神经网络输入节点数不一致(见表2),故图4和5存在各断面起始模拟值的时间不一致的情况。

图4 研究区各水质监测断面CODCr浓度模拟结果

图5 研究区各水质监测断面CODMn浓度模拟结果

表2 BP神经网络结构表

由图4、5可以看出,潇河流域各监测断面的实测水质数据在时间尺度上呈现非线性变化,而BP神经网络模拟值与水质数据实测值的变化趋势基本一致,表明BP神经网络经训练后能较好地反映水质变化趋势。

现将各断面水质指标的实测值与模拟值进行对比分析,用相关性系数和平均相对误差来衡量模型拟合的效果,表3为水质指标拟合效果表。

由表3可以看出,6个监测断面的CODCr浓度相关性系数均超过了0.98,为强相关。相关性系数由大到小排序为:东赵>冷泉寺>郝村>马坊>蔡庄水库>松曲,相关性系数最大的为东赵断面,其相关性系数为0.999 8,相关性系数最小的为松曲断面,相关性系数为0.989 2。6个监测断面的CODCr浓度平均相对误差的平均值约为3%,平均相对误差由小到大排序为:东赵<郝村<冷泉寺<马坊<蔡庄水库<松曲,平均相对误差最大的为松曲断面,对应的平均相对误差为6.59%,平均相对误差最小的为东赵断面,对应的平均相对误差为0.63%。整体而言,各断面CODCr浓度的拟合效果较好,其中东赵断面的拟合效果最佳。从空间位置上看,下游监测断面的CODCr浓度模拟效果好于上游断面。6个监测断面的CODMn浓度相关性系数均超过了0.99,属于强相关。相关性系数由大到小排序为:冷泉寺>松曲>蔡庄水库>东赵>郝村>马坊,相关性系数最大的为冷泉寺断面,对应的相关性系数为0.999 9,相关性系数最小的为马坊断面,对应的相关性系数为0.993 1。6个监测断面的CODMn浓度平均相对误差的平均值为1.5%,平均相对误差由小到大排序为:冷泉寺<松曲<蔡庄水库<东赵<郝村<马坊,平均相对误差最大的为马坊断面,对应的平均相对误差为4.63%,平均相对误差最小的为冷泉寺断面,对应的平均相对误差为0.15%。整体而言,各断面CODMn浓度的拟合效果较好,其中冷泉寺断面的拟合效果最佳。从空间位置上看,上游监测断面CODMn浓度的模拟效果好于下游断面。

表3 研究区各断面水质指标拟合效果表

3.2 模型验证

利用模型模拟期优化得到的权值与阈值,对潇河流域2020年6-8月的水质进行验证。具体检验结果见表4和5。其中表4为各断面CODCr浓度模型验证结果,表5为各断面CODMn浓度模型验证结果。

表4 2020年6-8月研究区各水质断面CODCr浓度模型验证结果 mg/L

表5 2020年6-8月研究区各水质断面CODMn浓度模型验证结果 mg/L

根据表4中的验证结果,蔡庄水库断面在2020年6月份、东赵断面在2020年8月份、郝村断面在2020年7月份的CODCr浓度相对误差较大,各断面其余月份的CODCr浓度的相对误差均未超过20%。因此,构建的BP神经网络模型通过检验,可以用于预测潇河流域的CODCr浓度;根据表5中的验证结果,除冷泉寺断面在2020年7月份的误差较大外,其余断面各月份的CODMn浓度验证结果较好。因此,构建的BP神经网络模型通过检验,可以用于预测潇河流域的CODMn浓度。

4 讨 论

BP神经网络对于历史数据具有很好的适应性,能较好地适用于水质浓度变化缓慢的情况,且模拟与验证精度较高。但若由于人为因素影响,个别月份水质指标浓度发生较大变化时,BP模型的精度会降低。总体而言,本文在模拟期各断面水质指标的平均相对误差均小于7%,模拟精度较高。

根据相关文献,验证期的水质预测误差是不易控制的,例如董瑞瑞等[20]利用MIKE11水动力-水质模型对汉江中下游CODMn浓度进行预测时,其验证期的平均相对误差为14.5%;王瞾瑞等[21]利用一维水质预测模型对CODCr浓度进行预测,验证期CODCr浓度的平均相对误差为24%。本研究中,在验证期,月最大相对误差未超过30%(东赵断面),各断面大多数月份的误差小于15%。其中,各断面CODCr浓度的平均相对误差均小于18%,CODMn浓度的平均相对误差均小于12%,验证精度优于其他模型。因此,本文验证精度较优,其预测结果可以接受。

为剖析蔡庄水库、东赵、郝村、冷泉寺断面部分月份水质指标验证误差偏大的原因,对该4个断面水质指标的实际检测浓度进行比较,2017年1月-2020年8月该4个断面的水质指标浓度变化情况见图6。

由图6(a)可以看出,蔡庄水库断面CODCr浓度在2017年1月-2020年4月平稳振荡,2020年4月之后,CODCr实测浓度明显降低,较其他年份同时期CODCr浓度值小,由此导致2020年6月CODCr浓度模拟值大于实测值,相对误差较大。根据潇河实测流量资料,蔡庄水库在2020年4月-2020年8月的河道流量偏小,故推测CODCr浓度降低的原因应该是当地水利部门实施了严格的污染物入河管控措施,污染物浓度出现减小趋势。

由图6(b)可以看出,东赵断面CODCr浓度在2017年1月-2020年6月基本保持平稳振荡,但2018年4月和2020年8月存在两个峰值,其浓度远高于历史平均数值,例如2020年8月CODCr的实测浓度是往年相同月份的2倍。经核对,东赵断面在2020年8月份的河道流量较往年大,故CODCr浓度大幅度增大的原因可能是存在临时性或突发性的入河污染物增多的问题。

由图6(c)可以看出,郝村断面CODCr浓度在2017年1月-2020年8月平稳振荡,而郝村断面在2020年7月的CODCr浓度相对误差较大,其原因应是由于模型自身存在误差,BP神经网络出现了陷入局部极值的现象。

由图6(d)可以看出,冷泉寺断面在冬季1或2月份均出现检测峰值,但总体上CODMn浓度呈现减小的态势,且2020年4月之后,CODMn浓度与其他年份同时期相比显著偏小,由此导致2020年7月验证的相对误差变大。由于冷泉寺断面在流域各断面中水质相对较差,近些年流域机构加强了对周边入河污染物的管控,这也是该断面CODMn浓度下降的原因。

图6 2017年1月-2020年8月4个断面的实测水质指标浓度变化情况

BP神经网络模型只考虑了潇河流域各水质指标的历史数据,而外部环境的改变对河流水质的影响较大,会对神经网络训练过程产生干扰,从而影响模型精度。如何降低外部因素的干扰,亦或考虑将影响水质的影响因素加入模型中,还有待进一步研究。

5 结论与展望

本文分析了传统水质预测方法的优缺点,通过构建BP神经网络模型,利用潇河流域晋中段实测水质资料进行水质模拟与权值优化,进而对潇河流域6个水质监测断面的CODCr和CODMn指标未来3个时段的浓度进行预测,主要结论与展望如下:

(1)BP神经网络能较好地反映水质数据的变化趋势,训练集的各断面水质指标平均相对误差均小于7%,相关性系数均超过了0.98;验证集的各断面水质指标平均相对误差均低于18%,预测精度高,可用于预测潇河流域的CODCr和CODMn浓度,为水资源管理与水环境保护提供参考依据。

(2)本研究在选取神经网络节点数量时,在程序中设置了相应区间和步长,对训练集的平均相对误差和相关性系数进行了约束,利用计算机自动寻优,降低了模型的不确定性,节省了参数率定的时间。

(3)为了提高收敛速度与预测精度,以及改善过拟合的问题,将人工神经网络与其他算法的结合应是今后研究的重点。

猜你喜欢
流域断面水质
压油沟小流域
一种精确的轮胎断面束缚方法
高深度大断面中深孔一次成井技术探索与应用
超大断面隧道初期支护承载力学特性及形变研究
沙颍河流域管理
青山湖生态清洁小流域
关于水质监测对环境保护的意义
一月冬棚养虾常见水质浑浊,要如何解决?这9大原因及处理方法你要知晓
这条鱼供不应求!虾蟹养殖户、垂钓者的最爱,不用投喂,还能净化水质
茂名市开展全面攻坚劣Ⅴ类国考断面行动!