基于机器学习的水质处理单元预警系统设计与实现

2023-12-29 02:54杨雨霖
信息记录材料 2023年11期
关键词:处理厂污水处理污水

李 艳,杨雨霖,杨 光

(沈阳理工大学环境与化学工程学院 辽宁 沈阳 110159)

0 引言

污水处理厂是我国生态文明建设和改善水环境质量的重要基础设施。 随着对水环境质量重视程度的增加,污水处理厂数量和处理能力得到了显著提升。 污水处理是一个复杂的过程,涉及多个变量的耦合和非线性生化反应。 当污水处理厂发生故障时,出水水质指标可能无法达到标准,从而导致二次污染。 因此,解决和实现污水处理系统的故障诊断与识别是一项重要任务[1-2]。 对污水处理出水水质进行预测研究,可以提前发现、隔离和处理故障,从而提高系统可靠性,确保长期稳定运行,这对于保证水处理过程的有效性至关重要[3-5]。

本文以沈阳市某污水处理厂为研究对象,采用回归决策树、岭回归、K 近邻算法对出水COD、TN、NH3-N 以及TP 构建预测模型,采用拟合优度、均方误差以及平均绝对误差评估3 种算法,根据评估结果来选取泛化能力最强的模型。 同时,构建污水处理工艺的故障预警可视化系统,更科学、更快速、更有效地解决污水处理厂的故障问题。

1 研究对象

1.1 某污水厂工艺流程

本文以主体工艺为AAO 的沈阳市某污水处理厂为研究对象,设计规模为1m3/d,出水水质执行《城市污水处理厂污染物排放标准》一级A 排放标准。 负责处理生活污水以及某工业园区产生的工业废水,主要出水水质指标有COD、NH3-N、TN、TP。 污水厂设计的进、出水水质指标如表1 所示。

表1 污水厂设计进、出水指标(mg/L)

1.2 数据预处理

1.2.1 数据清洗

本文中数据清洗主要是指清洗无效、无价值的污水数据。 在污水处理过程中,难免会出现传感器出现噪声等情况。 因此,需要检查数据集中是否存在缺失值,即某些数据项未被记录或获取,剔除无效的数据样本,避免无效数据降低机器学习模型的训练效果。

1.2.2 数据归一化

不同特征具有不同的单位和范围,这会导致某些特征对模型训练的影响更大,而其他特征被忽略。 污水处理过程数据存在量纲不一致、特征间的数值差异性较大的情况,为了消除不同量纲差异性带来的影响,加快程序运行时的收敛速度,故将训练集数据和测试集数据分别进行归一化处理。 归一化处理后各项污水指标的数据范围被控制在[0,1]。 具体的标准化公式为式(1)所示:

2 出水水质预测算法实现

2.1 回归决策树(DTR)

决策回归树是采用树形结构对数据进行分类,遍历可用的特征集合,对每个特征进行评估[6]。 将数据集划分为M个区域空间,每个划分空间区域都对应一个输出值Cm。回归决策树生成算法如式(2)所示:

式(2)中,f代表模型输出的回归树值;M代表输入空间划分的M个区域;R代表单元数据集;i为输入空间划分的第i个单元,即R1,R2,...,Rm;I代表常数;Ci为每个所属区域的所有样本的均值。

对于空间的划分,决策回归树会遍历每个特征,并在该特征上尝试不同的切分点[7]。 选择第j个变量作为切分变量和对应切分变量的某个取值s,作为切分点(j,s),从而划分为两个区域R1与R2,将大于s的特征值(x>s)划分至区域R1,将小于或等于s的特征值(x≤s)划分至区域R2,表示如式(3)、式(4)所示:

式(3)、式(4)中,(j,s)为切分点;j为切分变量;s为切分变量对应的取值。

在寻找最优的切分点(j,s)时,需根据误差平方和(SSE)计算,SSE公式如式(5)所示:

式(5)中,yi为每个样本的实际观测值,f(xi)为模型对于该样本的预测值。

回归决策树在递归时类似于二叉树,即一个父节点有且仅有两个子节点。 故要确定最优切分变量j(最优初始指标)和它的最优取值s(最优初始指标数值)时,就要找到两个区域的代表值C1和C2使各自区间上的误差平方和(SSE)最小。 求解过程如式(6)所示:

2.2 岭回归算法(RR)

岭回归与普通的线性回归面模型类似,目标都是通过对已知的污水水质数据集进行拟合来预测新的未知数据[8]。 不同的是,岭回归通过引入“岭惩罚项”来惩罚模型中某些参数过大的情况,以损失部分信息、降低精度为代价,使获得的回归系数更符合实际、更可靠。 具体方式是在原先β的最小二乘估计中,加入一个小扰动kI,使问题稳定并得以求解,可表示为式(7):

式(7)中,k为岭参数;I为单位矩阵。

对于岭回归,当岭参数k在0 到正无穷内变化时,岭回归系数β是k的函数。β是一个向量,由β1,β2,...,βn等多个分量组成,每一个分量都是k的函数,每一个分量画出的曲线被称为岭迹。 若岭迹线的不稳定性很强,说明此时用最小二乘法不能很好地反映真实情况,需要根据岭迹线选择一个适当的岭参数k值,以确定回归系数β。

岭回归的核心思想就是改变误差平方和函数的几何形态使得误差平方和函数存在唯一最小值点。 为了方便理解,假设一个简单的二元一次函数y=2x+1 为目标函数,引入“岭惩罚项”,示例如图1 所示。

图1 引入岭惩罚项后的回归示例

2.3 K 近邻算法(KNN)

KNN 算法的理念为“近朱者赤”,即样本的类别由其最近邻居的类别来决定。 K 近邻算法同样可以应用于分类和回归问题[9]。

在回归问题中,KNN 算法根据欧几里得距离公式(Euclidean distance)寻找离待回归样本最近的K 个训练样本,然后根据这K 个最近邻居的回归目标值进行平均或加权平均,从而得到待回归样本的预测值。 欧几里得距离是KNN 算法中常用的距离度量方法之一,用于衡量特征空间中2 个样本之间的距离。 假设有2 个样本A和B,特征向量分别表示为A=(a1,a2,…,an)和B=(b1,b2,…,bn),n为特征的数量。 欧几里得距离公式如式(7)所示:

欧几里得公式表示了特征空间中2 个样本之间的直线距离。 欧几里得距离越小,表示2 个样本在特征上越相似;欧几里得距离越大,表示2 个样本在特征上越不相似。

在KNN 算法中,K 值的确定尤为重要。 K 值较大时,意味着模型变得简单;当K 值变得较小时,预测结果对近邻的实例点非常敏感。 K 值减小意味着模型变得更复杂,容易发生过拟合。 K 值不同示例如图2 所示。

图2 K 值不同示例

交叉验证法可以有效地评估模型的性能,并帮助选择最佳的参数或超参数[10]。 交叉验证的基本思想是将原始数据集划分为训练集、验证集以及测试集。 这种方法可以有效地评估模型的性能和泛化能力。 具体而言,交叉验证通过多次划分数据集,并使用不同的子集作为训练集和验证集来进行模型的训练和评估。 在每次划分中,模型首先使用训练集进行参数的学习和调整,然后使用验证集对模型进行评估和选择最佳参数,最后使用测试集来评估模型的泛化能力,即模型对未知数据的预测准确性。 通过多次划分和验证,可以得到模型在不同数据子集上的性能指标的平均值,从而更加可靠地评估模型。 交叉验证法数据集划分如图3 所示。

图3 交叉验证法数据集划分

2.4 出水水质模型的选择

使用PyCharm Community Edition 2 023.1 进行程序编写,用其封装好的数值计算与机器学习框架scikit-learn 搭建出水水质预测的实验环境。 使用某污水处理厂2021 年1 月—2022 年3 月的实际数据作为数据集,每个样本均有20 个相同指标:日期、进水流量(Q)、进水COD、进水NH3-N、进水TN、进水TP、出水COD、出水NH3-N、出水TN、出水TP、用电量、MLSS、pH、水温、厌氧池ORP、缺氧池ORP、好氧池DO、C/N、F/M、SVI。 经数据预处理后共计9779 个样本,从数据集中随机抽取80%(7 823 个样本)作为训练集来用于模型的训练,剩余的20%(1 956 个样本)作为测试集来检验模型的有效性。 通过Sklearn 机器学习库分别建立回归决策树、岭回归算法、K 近邻算法来预测出水水质指标,即出水COD、出水NH3-N、出水TN、出水TP。

本文将对DTR、RR 以及KNN 算法进行评价,采用拟合优度(R2)、均方误差(MSE)以及平均绝对误差(MAE)综合评价的方法。

R2是衡量回 归模型拟合程度的常用指标,其取值范围为0 到1。R2越接 近1,表示模型预测值与真实值之间的拟合程度越好,R2见公式(8);MSE是衡量预测值与真实值之间差异的平方的均值,MSE越小,表示模型的预测结果与真实值的偏差越小,拟合效果越好,MSE见公式(9);MAE是衡量预测值与真实值之间差异的平均绝对值。MAE越小,表示模型的预测结果与真实值的偏差越小,拟合效果越好,MAE见公式(10)。

其中,n为样本个数,为第i个样本对应的水质指标预测值,yi为第i个样本的水质指标真实值,y-为数据集对应的水质指标平均值。

在4 项出水水质指标的测试集上分别采用DTR、RR、KNN 算法进行测试。 记录3 种算法在测试集上的R2、MAE以及MSE,根据结果可知,预测出水COD、NH3-N 采用回归决策树算法表现最好;预测出水TN 采用K 近邻算法表现最好;预测出水TP 采用岭回归算法表现最好。 计算结果如表2 所示。

表2 不同算法在不同出水水质预测指标上的表现情况

3 系统设计与实现

3.1 需求分析

本文从获得实际数据和对可能发生的故障做出快速研判的角度出发,致力于开发一套出水水质预测、数据分析和数据管理等功能于一体的污水处理出水水质预警系统软件,用于为污水处理厂提供有力的科技保证和技术支撑,对于水质模型预测结果为“不达标”的水质样本,进行提前预报预警。 对于提高污水处理厂的运行管理,确保污水处理工艺流程稳定高效地运行有着重要的意义。

3.2 数据管理模块

数据管理模块可以实现系统管理者对整个系统的数据库进行CURD(create、update、read、delete)操作,包括出水水质预测管理、故障树管理、用户管理等。 数据管理界面如图4 所示。

图4 数据管理界面

3.3 故障预警模块

故障预警模块实现根据进水水质数据以及污水工艺运行中的参数来预测污水出水水质数据,输入数据包括:进水COD、进水NH3-N、进水TN、进水TP、pH、水温、厌氧池ORP、缺氧池ORP、进水流量以及污泥浓度(MLSS)、碳氮比(C/N)、碳磷比(C/P)、污泥负荷(F/M)以及污泥体积指数(SVI)。 预测数据包括:出水COD、出水NH3-N、出水TN 以及出水TP。 当预测结果没达到一级A 排放标准(见表1)时,发出故障预警。 故障预警模块见图5—图6。

图5 输入故障预警数据

图6 故障预警结果

3.4 数据分析模块

数据分析模块实现了当输入规定时间范围时,显示该时间范围内的各项出水指标合格率饼状图,各项出水指标包括:出水COD、出水NH3-N、出水TN、出水TP。 选取2023 年7 月17 日至2023 年8 月17 日这一时间段,各项出水指标合格率如图7 所示。

图7 出水指标合格率饼状图

4 结语

本文以某污水处理厂为研究对象,采用机器学习算法对出水水质进行预测,并建立污水处理出水水质预警系统。 通过对实际数据的预处理和3 种算法(DTR、RR、KNN)的比较评估,选取最优算法来预测不同水质指标。基于出水水质预测模型,设计污水处理出水水质预警系统,当水质不符合设计出水指标时及时进行预警。 同时,系统还包括数据管理模块和数据分析模块,可以方便管理者对数据库进行CURD 操作和分析出水指标的合格率。

未来,将进一步完善污水处理出水水质预警系统。 同时,还将考虑引入更多的影响因素和监测数据,以进一步改进预测模型的性能,为确保污水处理工艺流程的稳定、正常和高效运行提供解决方案,为改善水环境质量做出更大的贡献。

猜你喜欢
处理厂污水处理污水
处理污水
污水处理厂低碳节能的探讨与研究
人体的“废料处理厂”
生活污水去哪儿了
我国乡镇污水处理模式的探讨
太原市61个村要建污水处理设施严禁直排入河
污水的自述
污水罐坍塌
城市污水处理厂占地研究
涌浪机在污水处理中的应用