土木与环境工程学报  2019, Vol. 42 Issue (4): 159-164   PDF    
PSO-SVM与BP神经网络组合预测供水系统余氯的方法
毛湘云 , 徐冰峰 , 孟繁艺     
昆明理工大学 建筑工程学院, 昆明 650500
摘要:针对余氯量在供水系统内非线性变化的特性,建立了PSO-SVM与BP神经网络组合模型对管网末端余氯进行预测分析。该模型通过粒子群优化算法(PSO),对SVM的特性参数进行优化;采用BP神经网络对模型进行残差修正。通过对单一的BP模型和SVM模型、组合模型的预测精度进行分析。结果表明:组合模型预测比BP和SVM单一预测均方误差分别降低了62.30%、75.29%,平均相对误差降低了55.03%、54.27%。综上所述,该模型具有强大的非线性拟合能力,预测精度高,运行稳定性强,对供水企业控制余氯的投加量和设置二次加氯点有一定的指导作用。
关键词余氯    支持向量机    粒子群算法    神经网络    组合模型    
Prediction of residual chlorine in water supply system by PSO-SVM and BP neural network combined model
Mao Xiangyun , Xu Bingfeng , Meng Fanyi     
Faculty of Civil Engineering and Mechanics, Kunming University of Science and Technology, Kunming 650500, P. R. China
Abstract: Due to the nonlinearity of residual chlorine in the pipe network, a PSO-SVM and BP neural network combined model was developed to prediction of residual chlorine.This model through particle swarm optimization algorithm (PSO) to optimization the characteristics parameter of the SVM, and use the BP neural network model to residual error correction. The prediction precision of combined model was ananysed by comparing the single prediction model of BP and SVM. The results show that compared with the single prediction of BP and SVM, the mean square error of the combined model decreased by 62.30% and 75.29% respectively, but the average relative error decreased by 55.03% and 54.27% respectively. In a conclusion, the combined model had strong nonlinear fitting capability, high prediction accuracy, and strong operation stability. This model plays an important role in controlling the residual chlorine dosing and setting the secondary chlorination point for water supply enterprise.
Keywords: residual chlorine    support vector machines    particle swarm optimization    neural networks    combined model    

氯是供水处理中使用最广泛的一种消毒剂,余氯作为衡量管网水质的一项重要指标,对控制水中的细菌滋生,保证管网水质安全十分重要。《生活饮用水卫生标准》(GB 5749—2006)[1]中规定,出厂水余氯应大于0.3 mg/L,管网末梢余氯量不应小于0.05 mg/L。但由于氯是一种非稳定性物质,受到管网中各种因素的影响,其浓度随时间的推移而发生削减,消毒能力下降,使得水质发生恶化,水质保障的中心已逐渐由水厂向管网转移[2-4]。所以探究余氯预测方法,为供水企业对氯的投加提供参考十分重要[5]

由于余氯浓度在管网中的削减是非线性变化,且管网内影响余氯的因素众多,若采用机理性模型进行预测,其准确性差,建立难度大,求解困难[6-7]。目前已有研究多采用单一网络或复合网络对余氯进行预测,加之分析样本有限,预测后没有对结果进行误差修正,且随着样本量的增加,预测精度也随之下降,网络的精确性、收敛性及稳定性不好,难以获得理想的预测结果[5, 8-9]。本文通过PSO-SVM+BP神经网络余氯预测模型,建立多个影响因素与管网末端余氯映射关系,以了解余氯的衰减规律,实现对余氯浓度的动态预测。

1 PSO-SVM与BP神经网络组合模型

支持向量机(Support Vector Machine)是基于统计学理论发展起来的机器学习算法[5]。它以结构风险最小化原则为理论基础,引入核函数方法,将原始问题映射到高维空间,把待求解问题转换为二次优化问题,使SVM收敛于问题的全局最优解。它能较好地解决小样本、非线性、高维数和局部极小点等实际问题,具有良好的泛化能力[10-12]。但SVM中关键参数(核函数参数、惩罚因子C)的选取多依靠经验或实验,而这些参数对预测的结果有至关重要的影响[13]。所以,针对SVM参数选取的盲目性,采用粒子群算法(PSO)对SVM进行参数优化,以SVM输出的均方误差为适应度函数,粒子通过跟踪个体极值和全局极值在空间内不断更新自己的位置信息、迁移方向和速度值,以寻找出空间内的最优解,即输出SVM最小均方误差时带入的参数粒子[14],消除SVM参数选取的盲目性,但PSO算法后期收敛到一定程度时就无法继续优化,所以精度不高。为提高精度,利用BP神经网络较高的可靠性和良好的容错性,获得输入变量与优化模型预测误差之间的映射关系,建立BP神经网络残差修正模型[15-17]。最终通过两个模型的组合进行优势互补,深度挖掘数据信息,以获得更理想的预测结果,提高预测精度。

2 组合算法模型的建立
2.1 数据的筛选与处理

由于管网内余氯浓度成非线性变化,管网末端的余氯浓度,受到多种因素的影响。供水管网中余氯浓度主要受到上游监测点出厂水的余氯浓度、浊度、管网输配时间、管道内的腐蚀程度、PH值、管网材料和细菌总数的影响[18-22]。所以,从模型的普适性和对水厂的实地调研考虑[23],取滇南某水厂2017年1月—12月份的水质检测数据,构建余氯预测模型,确定出厂水余氯浓度、PH值及浊度为影响因子,研究影响因子与管网末端余氯浓度之间的映射关系。

对某水厂的187个数据样本进行随机排列,取不同的组合方式对模型进行训练,最终确定将数据分为2部分,85%的数据作为训练数据,均分为各含有80个数据,分别建立PSO-SVM模型和BP残差模型;剩下的27个数据作为验证数据,进行交叉验证,以验证组合模型精度。末端取样点距离水厂的直线距离为2.4 km,末端余氯浓度范围为0.02~0.06 mg/L,每个样本内都含有出厂余氯浓度、pH值、浊度及管网末端取样点余氯浓度。由于数据指标不相同,数量级有一定的差别,为方便计算,需要对样本数据进行归一化处理,使数据值都归一至[0, 1]之间,归一化公式为

$ x^{\prime}=\frac{x-x_{\min }}{x_{\max }-x_{\min }} $ (1)
2.2 SVM模型的建立及优化
2.2.1 SVM模型的建立

将第1组归一化后的出厂水的余氯浓度、pH值及浊度设为输入值,管网末端出水余氯浓度作为输出值,输入到SVM模型内进行训练。首先,通过高斯径向核函数φ(x),将训练集xi映射到高维线性空间,构造回归估计函数

$ f(x)=\boldsymbol{\omega} \varphi(x)+b $ (2)

式中:ω为高维空间权向量;b为偏置常数。则最优问题为

$ \begin{aligned} \min R=& \frac{1}{2}\|\boldsymbol{\omega}\|^{2}+\frac{1}{2} \gamma \sum\limits_{i=1}^{m} \xi_{i}^{2} \\ y_{i}=& \boldsymbol{\omega}^{\mathrm{T}} \varphi(x)+b+\xi_{i} \\ &(i=1, 2, \cdots, m) \end{aligned} $ (3)

式中:ξi为松弛因子。

因此,可以定义如式(4)所示的Lagrange函数求解上述优化问题,即

$ \begin{array}{c}{L(\boldsymbol{\omega}, b, \xi, \alpha, \gamma)=\frac{1}{2}\|\boldsymbol{\omega}\|^{2}+\frac{1}{2} \gamma \sum\limits_{i=1}^{m} \xi_{i}^{2}-} \\ {\sum\limits_{i=1}^{m} \alpha_{i}\left[\boldsymbol{\omega}^{\mathrm{T}} \varphi\left(x_{i}\right)+b+\xi_{i}-y_{i}\right]}\end{array} $ (4)

式中:αiR(i=1, 2, ..., m)为拉格朗日乘子。根据Karush-Kuhn-Tucher(KKT)优化条件得到等式(5)。

$ \left\{\begin{array}{l}{\frac{\partial L}{\partial \omega}=0 \rightarrow \omega=\sum\limits_{i=1}^{m} \alpha_{i} \varphi\left(x_{i}\right)} \\ {\frac{\partial L}{\partial b}=0 \rightarrow \sum\limits_{i=1}^{m} \alpha_{i}=0} \\ {\frac{\partial L}{\partial \xi}=0 \rightarrow \alpha_{i}=\gamma \xi_{i}} \\ {\frac{\partial L}{\partial \alpha_{i}}=0 \rightarrow \boldsymbol{\omega}^{\mathrm{T}} \varphi\left(x_{i}\right)+b+\xi_{i}-y_{i}=0}\end{array}\right. $ (5)

将式(5)带入式(4), 将ωξ消去, 得到线性方程式(6)。

$ \left[ {\begin{array}{*{20}{c}} 0&1& \cdots &m \\ 1&{K\left( {{x_1} + {x_1}} \right) + \frac{1}{\gamma }}& \cdots &{K\left( {{x_1} + {x_m}} \right)} \\ \cdots & \cdots & \cdots & \cdots \\ m&{K\left( {{x_m} + {x_1}} \right)}& \cdots &{K\left( {{x_1} + {x_m}} \right) + \frac{1}{\gamma }} \end{array}} \right]·\left[ {\begin{array}{*{20}{c}} b \\ {{\alpha _1}} \\ \cdots \\ {{\alpha _m}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0 \\ {{y_1}} \\ \cdots \\ {{y_m}} \end{array}} \right] $ (6)

式中:K(xi, xj)为核函数。用最小二乘法求出αb,即得到非线性预测输出模型。

$ y=\sum\limits_{i=1}^{m} \alpha_{i} K\left(x, x_{i}\right)+b $ (7)
2.2.2 SVM模型的优化

对于SVM参数选取的盲目性,采用PSO算法进行优化。数据进行初始化参数设定,生成随机粒子,创建一个二维空间,粒子群规模为10。其中,第i个粒子的位置表示为向量xi=(xi1, xi2),i=1, 2, ..., 10。其中,xi值中包含为SVM模型的核函数参数σ、惩罚因子C,将xi带入到训练好的SVM模型中并计算出其均方误差,将均方误差作为适应度值,根据适应度值的大小评判出粒子的优劣。用向量Vi=(vi1, vi2)来代表粒子i的飞行速度,其搜索到的最优位置为pi=(pi1, pi2),而整个粒子群搜索到的最优位置为pg=(pg1, pg2),得到这两个最优值后,粒子就根据式(8)、式(9)进行速度和位置的更新。

$ v_{i+1}=\boldsymbol{\omega} V_{i}+c_{1} r_{1}\left(p_{i}-x_{i}\right)+c_{2} r_{2}\left(p_{\mathrm{g}}-x_{i}\right) $ (8)
$ x_{i+1}=x_{i}+v_{i+1} $ (9)

其中:i=1, 2, ..., 10;ω是惯性权重函数,随着迭代的增加而减小,用来控制前面速度对当前速度的影响;设置加速因子c1=1.8和c2=1.7;r1r2是[0, 1]之间的随机数,进行50次迭代,粒子群迭代曲线如图 1所示。

图 1 粒子群迭代曲线 Fig. 1 Particle swarm optimization algorithm iteration curve

得到其最优参数为:均方误差mse=1.217,核函数参数σ=10,惩罚系数为C=6.690 4。带入SVM模型,建立PSO-SVM模型。

2.3 BP残差修正模型的建立

为进一步提高模型的精度,采用BP神经网络进行残差修正。用PSO-SVM模型对第2组数据进行预测,将预测值记录下来。以第2组数据中出厂水余氯量、出厂浊度和出厂pH值作为输入值Xi,以实测值与PSO-SVM预测值之间的偏差作为输出值Ti,组建训练样本(Xi, Ti),建立3层前馈型BP神经网络,网络结构如图 2所示。

图 2 BP神经网络系统残差修正结构 Fig. 2 Residual correction structure of BP neural network system

对网络输入层、隐含层和输出层神经元之间的连接权值ωijωjk以及隐含层及输出层的阈值a、b进行初始化设置,然后,对模型进行训练,模型网络设置输入层到隐层传递函数为tansig函数,即

$ f(x)=\frac{2}{1+\varepsilon^{-2 x}}-1 $ (10)

根据输入的变量Xi,输入层和隐含层间连接权值ωij以及隐含层阈值a,计算隐含层出输值为Uj

$ U_{j}=f\left(\sum\limits_{i=1}^{n} \omega_{i j} x_{i}-a_{j}\right) $ (11)

再采用logsig函数作为隐含层到输出层的传递函数,计算BP神经网络的预测输出Gk

$ G_{k}=\sum\limits_{j=1}^{8} U_{j} \omega_{j k}-b_{k} $ (12)

用期望输出T减去预测输出G得到误差集合ek,然后用式(13)~式(16)对连接权值和阀值进行修正。

$ \omega _ { i j } = \omega _ { i j } + \eta H _ { j } \left( 1 - U _ { j } \right) x ( i ) \sum\limits_ { k = 1 } ^ { m } \omega _ { j k } e _ { k } $ (13)
$ \omega _ { j k } = \omega _ { j k } + \eta U _ { j } e _ { k } $ (14)
$ a _ { j } = a _ { j } + \eta U _ { j } \left( 1 - U _ { j } \right) \sum\limits _ { k = 1 } ^ { m } \omega _ { j k } e _ { k } $ (15)
$ b _ { k } = b _ { k } + e _ { k } $ (16)

设置输出层传递函数为logsig函数,训练函数为trainlm函数,精度取0.000 000 001,学习率为0.1%,训练次数1 000次,经过试验确定,隐含层数为16时,模型的均方误差最小,实验结果见图 3

图 3 组合算法不同隐含层的均方误差 Fig. 3 The MSE of different hidden layers in combination algorithm

由此建立了3-16-1结构的BP神经网络残差模型,其中,i=(1, 2, 3),j=(1, 2, ..., 16),k=1,得出厂水的余氯浓度、pH值及浊度和PSO-SVM模型预测误差的映射关系模型,即BP神经网络残差模型。

2.4 组合模型的建立与验证
2.4.1 组合模型的建立

将第3组数据带入上述PSO-SVM模型和BP神经网络残差模型内,验证组合模型的预测效果,由PSO-SVM模型得到管网末端余氯预测值y,由BP残差模型得到残差预测值e,则最终组合模型的最终预测结果ye=y+e。如图 4所示。

图 4 组合模型结构图 Fig. 4 Combined model flow chart

2.4.2 组合模型的结果验证

将第3组数据作为预测输入组合模型,并以相同的输入输出,分别输入BP神经网络和PSO-SVM模型中对余氯进行预测,以验证组合模型的预测效果,预测结果如图 5所示。

图 5 各算法预测结果比较 Fig. 5 Prediction results comparison for different arithmetic

图 5可知,单一的BP神经网络和SVM算法进行预测时,总体的预测误差较大,预测误差存在较大的波动,且对实际值拟合能力差。而组合模型的预测精度较单一模型而言有了显著的提高,具有更好的数据动态拟合能力和模型稳健性。为更直接分析模型的准确性,从图 5中提取3种模型的模拟误差,见表 1

表 1 模型模拟精度对比 Table 1 Comparison of model simulation precision

表 1可知,单一的SVM算法与BP神经网络算法预测误差指标项相差不大,预测结果都不太理想,其均方误差分别为1.7×10-4、1.3×10-4,平均相对误差为29.13%、29.62%,相关指数R2的值分别为0.67、0.72。而组合模型经过PSO优化和BP神经网络的修正后,能够大大地提升模型性能,降低预测误差,各项指标均优于单一模型,其均方误差为4.2×10-5,平均相对误差为13.32%,相关指数R2值达到0.84。综上,组合模型对信息的捕捉较全面,总体预测稳健性较好,可以大大地降低平均误差,提升模型的预测精度。

3 结论

通过PSO算法优化SVM模型参数,并使用BP神经网络对模型结果进行残差修正,建立了PSO-SVM+BP神经网络余氯预测模型,找到多个因素与管网末端余氯的关系,通过不同模型产生的误差进行模型性能的对比分析。发现该模型可以实现对管网末端余氯量的预测,有效地简化了余氯在管网中衰减变化的复杂非线性关系,克服了SVM模型参数选择的盲目性,利用BP网络对结果进行优化,进一步提升了预测的精度和模型运行的稳健性。结果表明,该模型具有良好的预测性能,能够使供水企业更早地发现水质恶化的趋势,及时采取相关措施,在控制末端水水质的前提下,降低消毒副产物的产生,并为二次消毒点的选取提供参考。参考文献:

参考文献
[1]
卫生部. 生活饮用水卫生标准[J]. 经济管理文摘, 2006(11): 36-38.
Ministry of Health. Standards for drinking water quality[J]. Economic Management Digest, 2006(11): 36-38.
[2]
周广宇, 莫罹, 赵新华, 等. 基于多组分水质模型的供水管网细菌风险研究[J]. 中国给水排水, 2016, 32(5): 64-69, 73.
ZHOU G Y, MO L, ZHAO X H, et al. Assessment of bacteria risk in water distribution system based on multispecies water quality model[J]. China Water & Wastewater, 2016, 32(5): 64-69, 73.
[3]
杨航, 李敏, 俞国平. 基于人工神经网络的市政管网水质模型研究[J]. 给水排水, 2012, 48(Sup1): 471-475.
YANG H, LI M, YU G P. Water quality model of municipal network based on artificial neural network[J]. Water & Wastewater Engineering, 2012, 48(Sup1): 471-475.
[4]
戴舒, 郭姣. 南方某市供水管网水质模型的建立与校核[J]. 供水技术, 2017, 11(4): 29-32.
DAI S, GUO J. Establishment and calibration of water quality model for water distribution system in a city of South China[J]. Water Technology, 2017, 11(4): 29-32. DOI:10.3969/j.issn.1673-9353.2017.04.007
[5]
刘国红, 廖玉学, 黄广文, 等. 深圳市2016年生活饮用水水质影响因素[J]. 中国热带医学, 2018, 18(1): 72-75.
LIU G H, LIAO Y X, HUANG G W, et al. Factors influencing drinking water quality in Shenzhen, 2016[J]. China Tropical Medicine, 2018, 18(1): 72-75.
[6]
谢昕, 郭鹏飞, 詹小丽, 等. 基于RBF神经网络的余氯浓度预测模型研究[J]. 传感器与微系统, 2012, 31(8): 64-65, 68.
XIE X, GUO P F, ZHAN X L, et al. Research on prediction model of residual chlorine concentration based on RBF neural network[J]. Transducer and Microsystem Technologies, 2012, 31(8): 64-65, 68. DOI:10.3969/j.issn.1000-9787.2012.08.019
[7]
BOWDEN G J, NIXON J B, DANDY G C, et al. Forecasting chlorine residuals in a water distribution system using a general regression neural network[J]. Mathematical and Computer Modelling, 2006, 44(5/6): 469-484.
[8]
何自立, 王云霏, 马孝义, 等. 基于改进PSO-WNN模型的管网余氯预测研究[J]. 中国农村水利水电, 2015(2): 86-88, 92.
HE Z L, WANG Y F, MA X Y, et al. Residual chlorine prediction in water supply system based on improved PSO-WNN model[J]. China Rural Water and Hydropower, 2015(2): 86-88, 92. DOI:10.3969/j.issn.1007-2284.2015.02.020
[9]
何自立, 郭占娟, 杨建国, 等. 基于PSO-SVR模型的供水系统余氯预测研究[J]. 长江科学院院报, 2015, 32(10): 6-10.
HE Z L, GUO Z J, YANG J G, et al. Residual chlorine prediction in water supply system based on support vector machine regression model optimized by PSO method[J]. Journal of Yangtze River Scientific Research Institute, 2015, 32(10): 6-10.
[10]
谢芳, 唐德善. 农业灌溉用水量的LS-SVM预测模型研究[J]. 安徽农业科学, 2010, 38(19): 10273-10275, 10288.
XIE F, TANG D S. Forecasting irrigation water requirement based on least squares support vector machine[J]. Journal of Anhui Agricultural Sciences, 2010, 38(19): 10273-10275, 10288. DOI:10.3969/j.issn.0517-6611.2010.19.125
[11]
ABHISEK U. Support vector machine[J]. Computer Science, 2002, 1(4): 1-28.
[12]
SUN L F, ZHANG Y Y, SAQI R N. Research on the fouling prediction of heat exchanger based on support vector machine optimized by particle swarm optimization algorithm[C]//2009 International Conference on Mechatronics and Automation, Changchun, China, 2009: 2002-2007
[13]
EBERHART R C, SHI Y H. Comparison between genetic algorithms and particle swarm optimization[M]. Evolutionary Programming Ⅶ Springer Berlin Heidelberg, 1998:611-616.
[14]
LIU J, LIU Z, XIONG Y. Method of parameters optimization in SVM based on PSO[J]. Transactions on Computer Science & Technology, 2013, 2(1): 9-16.
[15]
党安朋, 刘占峰, 朱延玲, 等. 基于BP与Elman神经网络的发动机缸壁间隙检测[J]. 山东交通学院学报, 2015, 23(1): 1-5.
DANG A P, LIU Z F, ZHU Y L, et al. The detection of engine cylinder wall clearance based on BP and elman neural network[J]. Journal of Shandong Jiaotong University, 2015, 23(1): 1-5. DOI:10.3969/j.issn.1672-0032.2015.01.001
[16]
陈明. MATLAB神经网络原理与实例精解[M]. 北京: 清华大学出版社, 2013.
CHEN M. Principles and examples of MATLAB neural network[M]. Beijing: Tsinghua University dress, 2013.
[17]
WANG J J, SHI P, JIANG P, et al. Application of BP neural network algorithm in traditional hydrological model for flood forecasting[J]. Water, 2017, 9(1): 48.
[18]
LI C, YU J, ZHANG T, et al. The effect of factors on chlorine decay and trihalomethane formation in a pilot-scale distribution system[J]. Fresenius Environmental Bulletin, 2014, 23(1): 223-227.
[19]
POWELL J C, HALLAM N B, WEST J R, et al. Factors which control bulk chlorine decay rates[J]. Water Research, 2000, 34(1): 117-126. DOI:10.1016/S0043-1354(99)00097-4
[20]
钟丹, 袁一星, 马文成, 等. 供水管网内生物膜与余氯衰减交互作用[J]. 哈尔滨工业大学学报, 2017, 49(8): 49-54.
ZHONG D, YUAN Y X, MA W C, et al. Interaction effects between biofilm and chlorine decay in water distribution network[J]. Journal of Harbin Institute of Technology, 2017, 49(8): 49-54.
[21]
郝艳萍.余氯衰减一级模型参数确定方法试验研究[D].哈尔滨: 哈尔滨工业大学, 2016.
HAO Y P. Study on method of the first order chlorine decay model parameters determination[D]. Harbin: Harbin Institute of Technology, 2016.(in Chinese)
[22]
黄锐, 李翠梅, 罗贤达, 等. 影响供水管网中余氯与浊度的因素及相关性分析[J]. 给水排水, 2015, 51(5): 147-151.
HUANG R, LI C M, LUO X D, et al. Factors and correlation analysis of residual chlorine and turbidity in water supply pipe network[J]. Water & Wastewater Engineering, 2015, 51(5): 147-151. DOI:10.3969/j.issn.1002-8471.2015.05.038
[23]
田一梅, 吴迷芳, 王阳, 等. 基于SVR的城市供水管网余氯预测分析[J]. 重庆建筑大学学报, 2006, 28(2): 74-78.
TIAN Y M, WU M F, WANG Y, et al. Prediction and analyses of residual chlorine based on support vector regression in urban water distribution system[J]. Journal of Chongqing Jianzhu University, 2006, 28(2): 74-78.