遗传算法优化的BP神经网络预测水厂絮凝剂投加量

刘 旺,魏郭子建,施常洁,李 聪,张云澍,章 凯

(上海理工大学环境与建筑学院,上海 200093)

混凝过程是传统给水处理工艺中的核心部分,主要目的是去除原水中悬浮固体颗粒及藻类,其处理效果的好坏直接影响后续单元的处理效果[1]。而混凝剂的处理效果主要取决于混凝剂的投加量[2]。实际生产中,水厂都是通过试验的方法确定当日该时段的絮凝剂投加量以确保处理工艺正常运行、出水水质达标,但是其时间与管理成本较高[3-4]。此外,当原水水质变化频率较快、变化幅度较大时,容易出现原水水质发生改变但絮凝剂投加量未改变而导致的沉淀池出水浑浊度超标问题,从而造成滤池负荷较高,反冲洗时间变短,运行成本增高。

近年来,太湖地区水源水普遍存在季节性高藻问题[5]。充分的研究[6-8]表明,藻类的存在会降低混凝效果,还会向胞外释放有毒物质,从而影响出水水质。并且少量藻类细胞进入管网后,可能出现附着在管壁大量生长从而腐蚀管壁或堵塞末端水管的情况[9]。目前大部分水厂絮凝剂投加量调节是以浑浊度为唯一变量,但由于藻类的出现投加频率加剧,分析藻类对絮凝剂投加量的影响,建立纳入藻类为考量指标的絮凝剂投加量模型对于确保水厂稳定运行及提高水厂自动化水平有重要意义。

人工神经网络模型是为模仿大脑神经元网络结构和功能而建立的一种信息处理系统。神经网络模型特点在于可以护理模糊的、非线性的、甚至含有噪声的数据,即只根据输入数据和输出数据来建立模型,可以反映十分复杂的关系,非常适合多因素控制的混凝投加量等非线性系统建模[10]。神经网络模型的表现十分依赖神经网络的结构及参数设置,但神经网络的结构确定较难,简单的结构性能得不到保证,复杂的结构要求计算资源大且易过拟合[11]。有学者[12-13]已使用过人工神经网络建立絮凝剂投加量模型,但只使用了较为简单的网络结构对小批量数据进行了拟合,针对较为复杂的水质变化预测效果较差。因此,扩大样本数量及时间跨度,建立较为复杂的网络模型以提高对模型的普适性问题亟待解决。在人工神经网络结构及参数优化方面,群体智能算法已被证明是优化人工神经的一种有效手段,经群体智能算法优化后的网络模型往往具有更好的拟合度[14-15]。此外,Python是一种跨平台的计算机程序设计语言,是一个高层次的结合解释性、编译性、互动性和面向对象的脚本语言。它可以应用于科学计算统计以及人工智能,可以实现数据整理、过程分析、结果输出等功能于一身。

本文基于Python语言对水厂一年实际运行的360组数据进行处理、分析和建模,采取遗传算法对BP神经网络的结构及参数进行优化,利用负反馈人工神经网络的方法对太湖地区某水厂混凝处理系统建立数学模型,并对建立的模型进行评价。

1.1 数据清洗与预处理

实际生产中的数据往往包含小部分的异常数据,数据可能是不准确和冗余的。为保证建模的效果,往往需要先对数据进行一定的清洗及预处理。本文数据分析及建模工作均基于经过清洗及预处理过的数据集。

1.1.1 数据清洗

本文数据来源为太湖地区某水厂的混凝剂投加,依据为烧杯试验,混凝剂为聚合氯化铝,其投加量后文简称絮凝剂投加量。每日原水水质指标及中间工艺水质指标均有所波动,本文整理太湖地区某水厂2018年10月—2019年10月实际运行中较稳定的360组进出水水质及絮凝剂投加量作为原始数据样本,水质指标共20项,分别为原水浑浊度、pH、耗氧量、藻类数量、水温、氨氮、亚硝酸盐氮、铁、锰、细菌总数、总大肠菌群、耐热大肠菌群、色度、嗅和味、肉眼可见物,以及预臭氧池出水浑浊度、预臭氧池出水pH、沉淀池出水浑浊度、沉淀池出水pH、出厂水浑浊度。

在数据清洗过程中首先结合箱型图对各水质指标的极端异常值进行剔除,而后使用最近邻插补(k-nearest neighbor,KNN)对空缺数据进行填充并得到原始数据集。图1展示了原水浑浊度异常值剔除前后箱型图的变化,可以发现基于统计学原理脱离该组样本分布的异常值均被剔除,被剔除的异常值基本为较大的值。数据清洗后数据样本中各指标的数值范围如表1所示。

图1 剔除异常值前后浑浊度对比Fig.1 Comparison of Turbidity before and after Eliminating Outliers

KNN方法的思想是集中识别与特征缺失样本欧氏距离最近的k个样本,从而估计缺失数据点的值。共有m个特征的样本x在缺失第j个特征的情况下与某样本y的欧式距离如式(1)。

(1)

其中:dxy——不考虑缺失特征情况下两样本欧氏距离;

i——特征序号;

j——缺失特征序号;

m——样本特征总数;

xi——样本x第i个特征的值;

yi——样本y第i个特征的值。

在本文对缺失值的填补中取k=3,计算过程如式(2)。

(2)

其中:xj——样本x缺失的第j个特征;

n——样本序号;

k——与当前样本距离最近的k个样本;

ynj——与x样本第n近的样本yn的第j个特征值。

表1 数据样本水质指标范围Tab.1 Index Range of Data Sample Water Quality

图2 对数变换前后数据分布对比Fig.2 Comparison of Data Distribution before and after Logarithmic Transformation

1.1.2 数据预处理

对原始数据的可视化观察可知大部分水质数据均成偏态分布,而且大多是右偏的,以原水浑浊度为例,如图2(a)所示。图2(b)展示了经对数变换后数据的分布特征,其偏态分布问题得到明显改善。本文对所有数据进行的对数变换如式(3)。

Mi=log10(Ni+1)

(3)

其中:Mi——转换后的数值;

Ni——待处理的数值。

为减小建模误差、加快模型收敛速度,对数变换后的数据进行归一化处理,将数据区间集中至[0,1],并实现无量纲化,变换如式(4)。

(4)

其中:Nmax、Nmin——此水质指标中最大、最小值。

1.2 数据相关性分析

根据研究对象变量性质的不同,相关系数有多种定义方式,实际使用中需根据待分析变量的特点选取合适的相关性分析方法。本文中重点研究混凝剂与其他水质参数之间的相关性关系,絮凝剂投加量是一个连续的变量,根据待分析变量的特点,相关性系数分析方法的选取、相关系数及其t检验结果如表2所示。

表2 絮凝剂投加量与水质指标的相关性分析Tab.2 Correlation Analysis of Coagulant Dosage and Water Quality Indices

注:***表示p<0.001;
**表示0.001*表示0.01

热力图(图3)将相关关系可视化,能更直观地看出絮凝剂投加量与各水质指标的相关性。对相关系数结果分析可知,与絮凝剂投加量具有最强相关性的水质指标是原水耗氧量(相关系数为0.61),其次是预臭氧池出水浑浊度(相关系数为0.49),二者p值均为0.000,说明该相关性分析结果较为可靠。相比原水浑浊度,预臭氧池浑浊度与絮凝剂投加量的相关性更强,根据以往研究,分析可能是投加臭氧后,臭氧的氧化作用使原水中胶体颗粒性质发生了变化,因此,预臭氧池浑浊度比原水浑浊度更能反映水中胶体颗粒的状态。相关研究[16-18]表明预臭氧后混凝形成的絮体分型维数与形态系数均有所提高。研究人员[19]在2019年对该水厂的原水水质进行了统计分析,并将原水水质指标划分为了11个主成分,固体颗粒主成分中原水混浑浊度与原水耗氧量的载荷系数分别为0.94和0.74。因此,综合分析,水厂絮凝剂投加量主要与水中的固体颗粒相关。其次,絮凝剂投加量与藻类数量的相关性系数为0.42,十分接近预臭氧池出水浑浊度与絮凝剂投加量相关系数,充分说明藻类对絮凝剂投加量的影响与浑浊度相当,也应纳入混凝剂的决定指标,以保证饮用水的安全生产。沉淀池出水浑浊度、原水细菌总数、原水色度与絮凝剂投加量的相关性系数均接近0.40(分别为0.36、0.39、0.39),沉淀池出水浑浊度主要反映了投加混凝剂对浑浊度的削减程度,原水细菌总数及原水色度一定程度上还是在反映原水固体颗粒物水平。原水铁与絮凝剂投量的相关系数为0.34,较弱的相关关系可能与少量铁离子的助凝作用有关。其余大部分水质指标与絮凝剂投加量的相关性均较弱(相关性系数均小于0.30)。混凝剂的投加量与原水pH及原水水温有较强的相关性,而本研究中却呈现弱相关关系,可能由于本数据集来自南方某个以湖泊为水源的水厂,其水温变化范围较小,pH也较为稳定;
另有可能是絮凝剂投加量与原水水温及pH之间为复杂的非线性关系,无法使用相关性分析体现关联水平。

2.1 BP神经网络

在给水处理中,絮凝剂投加量与原水水质及处理构筑物运行状态密切相关,并且由于各地原水性质及水处理工艺各异,目前针对絮凝剂投加量并没有固定计算公式或经验公式。本文将尝试采用BP神经网络建立原水水质及工艺运行水质与絮凝剂投加量的映射关系。综合考虑相关性分析结果、水厂实际工艺及水质指标的在线监测技术,拟采用原水耗氧量、浑浊度、藻类数量、pH、氨氮、色度、铁、水温,以及预臭氧池出水浑浊度、预臭氧池出水pH、沉淀池出水pH、沉淀池出水浑浊度,作为模型的输入值建立模型A;
为探究原水藻类数量对絮凝剂投加量的影响,在模型A的基础上输入值删除原水藻类数量,建立模型B。

2.1.1 模型拓扑结构

本文使用变换后的部分数据作为学习样本,输入层神经元个数为输入样本特征数12个,隐含层个数为2个,输出层神经元个数为1个。隐含层神经元个数的确定一直是BP神经网络中的一个难点,若设置的隐含层神经元数量过少,神经网络往往出现欠拟合现象;
若设置过多的隐含层神经元数量,计算拟合慢且极易出现过拟合。另一种方法是根据输入样本的特征数量确定隐含层数量的经验公式,但这种经验公式法缺乏理论的支撑,且往往仅能达到相对最优结果。本文拟采用智能优化算法对BP神经网络的网络结构及关键参数进行优化,隐含层数量及隐含层神经元数量,即为其中的一个重要待优化值。BP神经网络的拓扑结构如图4所示。

图4 神经网络模型结构Fig.4 Neural Network Model Structure

2.1.2 激活函数及训练方法

BP神经网络的学习过程由信号的正向传播和误差的反向传播组成,输入值从输入层输入,经隐含层处理以后,传向输出层。误差反向传播是将模型拟合值与真实值的误差以某种形式通过隐含层向输入层反向传播,误差信号作为修正权值的依据。训练过程直至输出的误差满足一定条件或者迭代次数达到一定次数停止。输入层数据传入隐含层、隐含层之间数据传递及隐含层数据传至输出层时均有激活函数。在本文中,隐含层采用ReLU激活函数,输出层则采用线性输出函数。线性输出函数即不做变换,ReLU函数如式(5)。

A=max(0,Z)

(5)

其中:A——当前该隐含层神经元激活值;

Z——上一层所有神经元值加权映射到该隐含层神经元的值。

误差优化方法,即网络训练方法采用动量法改进的小批量梯度下降法,各机器学习框架均支持该经典的神经网络优化器。批量训练的梯度法是基于梯度下降法改进的,以单个样本的误差修正为例,式(6)~式(8)说明了梯度下降法对某隐含层权值大致的修正过程。单个样本网络输出值与实际值误差计算如式(6)。

E=(dk-ok)2

(6)

其中:E——单个输入样本的误差函数;

dk——第k个样本输出值的真实值;

ok—第k个样本模型拟合值。

将该误差用隐含层权值及输出层的激活函数表达可变换为式(7)。

E=[dk-fo(w[j]·y[i])]2

(7)

其中:fo——输出层激活函数;

[i]——神经网络第i层;

[j]——神经网络第j层;

w[j]——神经网络第j层与第i层的连接权值;

y[i]——神经网络第i层的激活值。

动量法改进的梯度下降法权值wji的修正量计算如式(8)。

(8)

其中:Δw[j](t)——该次误差反向传播中对权值w[j]的修正量;

η——学习率;

α——动量因子;

Δw[j](t-1)——上一次误差反向传播中对权值w[j]的修正量。

梯度下降法与小批量梯度下降法的区别在于,其用于计算更新梯度值的样本数量,梯度下降法中使用所有样本误差算出的梯度的平均值来更新权值,而批量梯度下降法一次训练中随机抽取一个小批量样本用于计算梯度更新权值。梯度下降法计算量大且易陷入局部最小值,小批量梯度下降法有效地改善了这个问题且加快了计算速度[20]。

2.2 遗传算法优化神经网络结构

遗传算法将要解决的优化问题模拟成一个生物进化的过程,通过复制、交叉、突变等操作产生下一代的解,并逐步淘汰适应度函数值低的解,增加适应度函数值高的解,进化N代后就有极大可能进化出适应度函数值很高的个体。遗传算法是一种全局优化算法,在进化代数足够大的情况下,可以认为找到的函数值最高的个体为当前条件下的最优解。

2.2.1 遗传算法的决策变量及适应度函数

本文中优化问题的决策变量为神经网络的两个隐含层神经元个数、批量训练样本量、学习率、动量、正则化系数。其变量取值如下:隐含层1及隐含层2神经元个数为[12,100];
批量训练样本量为[1,50];
学习率为[0.01,0.1];
动量因子为[0.01,1];
正则化系数为[0.000 1,0.1]。考虑计算速度,适应度函数主要根据模型在训练集以及验证集上的均方根误差定义。给验证集均方根误差一个较大的权重能在优化中有效地对过拟合问题进行惩罚,提高模型的泛化能力,适应度函数fp如式(9)。

(9)

其中:fp——遗传算法适应度函数;

P——训练集样本个数;

ytrain——训练集数据真实值;

Q——验证集样本个数;

ytest——验证集数据真实值;

2.2.2 遗传算法优化结果

隐含层1神经元个数为90个;
隐含层2神经元个数为90个;
批量训练样本个数为28个;
学习率取0.1;
动量因子取0.95;
正则化系数取0.003 7。图5展示了遗传算法寻优过程中所有个体的适应度函数值,在进化至第500代时,大部分个体已经收敛至最优解附近。进化500代后最优解已基本可认为是当前条件下的全局最优解。

图5 遗传算法寻优过程中适应度函数值Fig.5 Fitness Function Value in Process with Genetic Algorithm Optimization

图6 模型A(将原水藻类水量纳入输入值)总体拟合效果Fig.6 Overall Fitting Effect of Model A (Amount of Raw Water Algae Included in the Input Values)

图7 模型B(未将原水藻类水量纳入输入值)总体拟合效果Fig.7 Overall Fitting Effect of Model B (Amount of Raw Water Algae Not Included in the Input Values)

图8 模型A验证拟合值与真实值绝对误差分布Fig.8 Distribution of Absolute Errors between Model A Fitted Value and True Value on Validation Set

最优神经网络经过1 000次训练,最终达到稳定,模型A其在训练集及验证集上的表现如图6所示,训练集模型拟合值与真实值R2为0.86,均方根误差为3.68 mg/L,训练集288个样本平均绝对误差为2.75 mg/L;
验证集模型拟合值与真实值R2为0.75,均方根误差为4.55 mg/L,模型的泛化性尚可,未出现明显过拟合现象。模型B其在训练集及验证集上的表现如图7所示,训练集模型拟合值与真实值R2为0.70,均方根误差为4.45 mg/L,平均绝对误差为3.38 mg/L;
验证集模型拟合值与真实值R2为0.50,均方根误差为6.82 mg/L。

验证集对于描述机器学习模型效果尤为重要,其表现反映了模型的泛化能力,即模型是否反映了一般规律。模型A验证集共72组数据,最小绝对误差为0.032 mg/L,平均绝对误差为3.78 mg/L,平均相对误差为7.86%,其验证集的模型预测值误差分布如图8所示,50%样本绝对误差控制在3 mg/L内,70%样本绝对误差控制在5 mg/L内,100%样本绝对误差控制在10 mg/L内;
模型B验证集共72组数据,其最大绝对误差为21.98 mg/L,最小绝对误差为0.11 mg/L,平均绝对误差为4.95 mg/L,平均相对误差10.70%。未将当原水藻类细胞纳入建模输入量时,有多个验证集及测试集样本的绝对误差超过15 mg/L,且这些样本大多原水藻类数量较高,对于原水藻类数量为0的数据样本,模型B也表现出了不错的拟合效果。综合对比模型A与模型B,充分说明了原水藻类数量对于絮凝剂投加量的重要影响。

图9反映了模型A验证集拟合值与真实值的变化趋势。虽然模型A拟合值有时与预测值数值有差距但其变化趋势与实际值变化趋势大体一致。综合来看,验证集表现说明模型A有对于预测絮凝剂投加量具有一定实用性和参考价值。

图9 模型A验证集拟合值及真实值变化趋势Fig.9 Trend of Model A Fitted Values and True Value of the PAC Dosage on Validation Set

(1)数据采集是构建水厂智能投药模型的基础,本文根据水厂实际工艺,选取了原水耗氧量、浑浊度、藻类数量、pH、氨氮、色度、铁、水温以及预臭氧池出水浑浊度、预臭氧池出水pH、沉淀池出水pH、沉淀池出水浑浊度这些能实现在线监测且对絮凝剂投加量影响较大的指标,作为模型的输入特征。除去考虑了原水性质外,将整个工艺抽象为了一个系统并且考虑了中间工艺的主要参数,提高了模型的综合性。通过分析,原水耗氧量对絮凝剂投加量影响最大,预臭氧池浑浊度和原水藻类数量次之。对于絮凝剂投加量,藻类表现出与浑浊度几乎相同的影响力,因此,在确定絮凝剂投加量时将原水藻类数量纳入考量指标是有必要的。

(2)基于清洗后的数据集采用遗传算法对BP神经网络的隐含层神经元数量、批量训练样本量、学习率、动量、正则化系数进行了优化求解,最优模型在验证集上模型拟合值与真实值平均绝对误差为3.78 mg/L,验证集上模型的一定泛化能力表明模型一定程度上反映了絮凝剂投加量与部分水质指标的客观规律。

(3)验证集仍然有少部分样本模型拟合值与真实值相差较大,可能的原因模型的输入特征有缺失,而这些样本受缺失特征的影响较大。结合水厂工艺运行,考虑进水流量可能是缺失的重要特征之一,其不仅影响需药量还影响各工艺的水力条件,纳入考虑应能进一步提升模型精度。

(4)人工神经网络具有准确、简单、快捷的特点。仅通过系统的输入与输出即可获得较为可靠的模型。模型的通用性与时效性只取决于输入样本,实现复杂水处理系统的优化设计,为提高控制管理水平提供了一条新的途径。

猜你喜欢 浑浊度原水絮凝剂 基于浑浊度的水厂工艺内控指标的精细化管理净水技术(2022年8期)2022-08-10天然气分布式能源站水动力源原水预处理加氯系统技改分析与实践能源工程(2022年2期)2022-05-23丙烯酰胺强化混凝去除黑河原水浊度的研究供水技术(2022年1期)2022-04-19不同浑浊度溃坝流体流动特性研究人民长江(2021年10期)2021-12-09浑浊度和耗氧量对饮用水消毒的协调关系研究安徽建筑(2020年11期)2020-11-23原水大阵小猕猴智力画刊(2019年9期)2019-11-08一种油井水泥用抗分散絮凝剂钻井液与完井液(2018年5期)2018-02-13原水臭氧氧化生成溴酸盐的影响因素研究进展中国资源综合利用(2017年1期)2018-01-22絮凝剂在造纸行业中的应用及进展华东纸业(2016年2期)2017-01-19聚硅酸/聚丙烯酰胺复合絮凝剂的研究中国塑料(2016年10期)2016-06-27

推荐访问:神经网络 水厂 遗传