(云南省水文水资源局红河分局,云南红河661100)
水库型城市集中式饮用水水源地作为中国集中式饮用水水源地重要类型之一,不但承担着城市居民生活供水任务,而且在城市防洪、工农业供水等方面发挥着重要作用。近年来,随着经济社会发展和人类活动加剧,一些水库型城市集中式饮用水水源地水质受到不同程度污染,传统单因子水质评价法(亦称一票否决法)以最劣指标类别作为最终评价结果,不能客观、科学反映水源地水质综合状况。因此,开展水库型水源地水质综合评价,对于保障城市居民饮用水源安全,科学实施水源地防污治污以及落实最严格水资源管理制度均具有重要意义。目前,水源地水质综合评价方法主要有卡尔森指数法[1]、模糊综合评价法[2]、支持向量机法[3]、投影寻踪法[4]、物元可拓法[5]等,均在水源地水质综合评价中取得较好的评价效果。随机森林(random forest,RF)是由Leo Breiman提出的一种集成机器学习方法,主要利用Bootsrap重抽样方法从原始样本中抽取多个样本,对每个Bootsrap样本进行决策树建模,然后组合多棵决策树通过投票方式获得最终评价结果[6],可以看成由很多弱分类器(决策树)集成的强分类器,能有效避免“过拟合”和“欠拟合”现象的发生,已在各领域及水质综合评价[7-8]中得到应用。然而,在实际应用中,合理选取RF模型决策树数量ntree和分裂属性个数mtry2个参数对于提高RF模型预测或分类性能至关重要。目前普遍采用试凑法[9-10]或网络搜索法[6,11]确定决策树数量、分裂属性个数,但取值效果往往不理想。近年来,随着群体仿生智能算法研究的不断深入,其已被尝试用于RF模型决策树数量、分裂属性个数的优化,如周博翔等人[12]利用蜜蜂交配算法优化随机森林参数,构建HBMO-RF模型用于人体姿态识别;王杰等人[13]提出基于粒子群优化(PSO)算法的加权随机森林分类模型,并通过实验数据验证了该模型的分类效果;赵东等人[14]采用果蝇优化算法(FOA)对RF关键参数进行优化,构建FOA-RF模型对虫害数据进行预测。但基于群体仿生智能算法优化决策树数量、分裂属性个数的RF模型用于水质综合评价的文献并不多见。
为进一步拓展群体仿生智能算法优化RF 2个关键参数的应用范畴,本文提出一种基于随机漂移粒子群(random drift particle swarm optimization,RDPSO)算法优化的RF评价方法,利用RDPSO算法优化RF决策树数量和分裂属性个数2个关键参数,构建RDPSO-RF水源地水质综合评价模型,并构建基于RDPSO算法优化的回归支持向量机(SVR)模型作对比分析,以云南省红河州17个水库型饮用水水源地水质综合评价为例进行实例研究。通过选取水源地水质综合评价因子,依据GB 3838—2002《地表水环境质量标准》在各评价因子等级阈值间随机内插和随机选取样本对RDPSO-RF、RDPSO-SVR模型进行训练和测试;利用测试好的RDPSO-RF、RDPSO-SVR对实例水质综合类别进行评价,旨在验证RDPSO -RF模型用于水库型水源地水质综合评价的可行性和有效性。
随机漂移粒子群(RDPSO)算法是孙俊等人受PSO算法的轨迹分析和金属导体中自由电子定向漂移运动、随机无规则热运动启发而提出来的一种具有较强全局搜索的群体智能算法。RDPSO算法中自由电子的定向漂移运动类似于粒子的局部搜索,随机无规则热运动类似于粒子的全局搜索[15]。参考文献[15-17],RDPSO算法数学描述如下。
(1)
(2)
式(2)可表示如下:
(3)
(4)
(5)
(6)
(7)
(8)
式中N——群体规模。将式(6)改写为:
(9)
综上,RDPSO算法中粒子速度和位置更新公式表示为:
(10)
(11)
随机森林(RF)算法是由Leo Breiman[18]提出的基于决策树分类器的融合算法,该算法通过随机的方法建立一个由许多决策树组成的森林,每棵决策树之间没有关联;每棵决策树均采用bootstrap方法进行采样,随机产生k个训练集,利用每个训练集生成对应的决策树;然后再从所有M个决策属性中随机抽取m个属性进行评价;在训练过程中,一般m的取值维持不变;训练结束后,当测试样本输入时,每棵决策树均对测试样本进行评价,并将所有决策树中出现最多的投票结果作为最终评价结果,具体算法步骤见文献[13-19]。假设对于一个测试样本x,第l棵决策树的输出为ftree,l(x)=i,i=1,2,…,c,即为其对应的输出值,l=1,2,…,L,L为RF中的决策树棵数,则RF的输出可表示为:
fRF(x)=argmax{I(ftree,l(x)=i)},i=1,2,…,c
(12)
式中I(·)——满足括号中表达式的样本个数。
研究表明,决策树数量ntree和分裂属性个数mtry的合理选取是提高RF评价精度的关键,ntree设置过小易使RF训练不充分而导致模型“欠拟合”,设置太大又易使RF过度训练而导致“过拟合”;同样,mtry设置太小易使RF过度训练而导致“过拟合”,设置太大会使得RF训练不充分而导致模型“欠拟合”。“过拟合”“欠拟合”均会降低RF模型的分类性能[20]。本文基于Matlab软件环境和randomforest工具箱,利用RDPSO算法寻优RF关键参数决策树数量(ntree)和分裂属性个数(mtry)。
Step1基于水源地水质评价因子和GB 3838—2002《地表水环境质量标准》分级阈值构造RF模型训练及测试样本,进行归一化处理,并合理划分训练样本和测试样本。设定决策树数量ntree和分裂属性个数mtry搜寻范围。
Step2确定适应度函数。本文选用训练样本均方误差作为适应度函数,描述如下:
(13)
Step3设置RDPSO算法群体大小N,最大迭代次数T,最大、最小热敏系数α,常数c1和c2。设置当前迭代次数t=0,初始化粒子位置和速度。
Step4计算漂移系数β,依据式(8)更新群体平均最优位置。
Step5基于式(13)计算目标适应度值,更新全局最优位置G和粒子局部最优位置P。
Step6根据式(10)、(11)更新粒子的速度和位置。
Step7判断算法迭代终止条件是否满足,若满足则转至Step8,否则令t=t+1,并执行Step4—7。
Step8输出最优适应度值和最优粒子个体空间位置,即待优化问题的最优适应度值及最优解。
Step9利用RDPSO算法优化获得的决策树数量ntree和分裂属性个数mtry代入RDPSO-RF模型对测试样本进行评价。
Step10利用测试好的RDPSO-RF模型对红河州17个水库型水源地水质进行综合评价。
红河州位于云南省东南部,北连昆明,东接文山,西邻玉溪,南与越南接壤,北回归线横贯东西。红河州是云南省第四大经济体,经济总量和部分社会经济指标居中国30个少数民族自治州之首。全州国土面积32 931 km2,辖4市9县,多年平均水资源量214.03亿m3。红河州4市9县共有城市集中式饮用水水源地25个,其中,水库型城市集中式饮用水水源地17个,河流型8个,龙潭型地下水4个。本文以云南省水文水资源局红河分局2017年监测的17个水库型城市集中式饮用水水源地水质综合评价为例进行实例研究,选取对水体影响较大的NH3-N、TN、CODMn、BOD5、TP、氟化物和粪大肠菌群的年均值作为水质综合评价影响因子,利用RDPSO-RF及RDPSO-SVR模型分别对其进行综合评价。水质监测数据及分级标准见表1、2。
表1 2017年红河州各水源地7项水质评价因子监测值
表2 7项水质评价因子分级标准值及限值
注:由于GB 3838—2002《地表水环境质量标准》中氟化物Ⅰ~Ⅲ类和Ⅳ~Ⅴ类分级阈值相同,不甚合理,笔者对其分级阈值进行划分
a) 构建样本。采用随机内插的方法在7个评价因子分级标准阈值间生成40组样本(7个评价因子最小值均设置为0),共随机内插得到200组样本,随机选取150组作为训练样本,50组作为测试样本,将1~5作为Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ类水质类别的模拟输出,并对各评价因子进行[0,1]归一化处理。
b) 参数设置。RDPSO算法最大迭代次数T=100,最大、最小热敏系数α分别设置为0.9、0.3(参考文献[15-17],并经反复调试确定,当最大、最小热敏系数α分别设置为0.9、0.3时RDPSO算法寻优效果最佳),常数c1、c2均设置为2。RF、SVR待优化参数搜索空间设置为:RF决策树数量ntree∈[2,400],分裂属性个数mtry∈[2,10];SVR惩罚因子C∈[0.1,1000],核函数参数g∈[0.1,1000],不敏感系数ε∈[0.0001,1],交叉验证参数V=5。
c) 模型构建及评价。基于上述分析和MatlabR2011b软件环境,分别构建7输入1输出的水源地水质综合评价模型。选取平均相对误差绝对值MRE和最大相对误差绝对值MaxRE作为评价指标。
利用上述构造样本对RDPSO-RF、RDPSO-SVR模型进行训练及测试,测试结果见表3。并给出RDPSO-RF、RDPSO-SVR模型的进化过程和测试样本相对误差,见图1、2。
表3 2种模型样本评价结果 %
a)RDPSO-RF进化过程 b)RDPSO-SVR进化过程图1 RDPSO-RF、RDPSO-SVR模型进化过程
图2 RDPSO-RF、RDPSO-SVR模型监测样本相对误差效果
从表3及图1、2可以看出,RDPSO-RF模型训练样本的MRE、MaxRE分别为0.33%、7.26%,优于对比模型RDPSO-SVR的1.12%、14.10%;测试样本的MRE、MaxRE分别为0.90%、4.83%,优于对比模型RDPSO-SVR的3.07%、17.40%;最优适应度值0.000 15,同样优于对比模型RDPSO-SVR的0.012 51。可见,无论是训练样本还是测试样本,RDPSO-RF模型评价精度均优于RDPSO-SVR模型,具有较好的评价精度和泛化能力。
利用上述测试好的RDPSO-RF、RDPSO-SVR模型对表1中红河州17个水库型集中式饮用水水源地水质进行综合评价,并与单因子评价法评价结果进行比较,见表4。利用表2中各评价因子等级阈值输出值划分水质综合评价等级。经模拟,RDPSO-RF模型划分依据为:Ⅰ类<1.39、Ⅱ类∈[1.39,2.17)、Ⅲ类∈[2.17,3.10)、Ⅳ类∈[3.10,4.03)、Ⅴ类∈[4.03,5.00)和劣Ⅴ类≥5.00。RDPSO-SVR模型划分依据为:Ⅰ类<1.54、Ⅱ类∈[1.54,2.52)、Ⅲ类∈[2.52,3.18)、Ⅳ类∈[3.18,4.19)、Ⅴ类∈[4.19,4.59)和劣Ⅴ类≥4.59。
表4 红河州水库型集中式饮用水水源地水质综合评价结果及比较
a) RDPSO-RF模型的评价结果比单因子评价法评价结果低1个等级(除洗洒水库低2个等级外)。其中,庄寨水库评价为Ⅳ类,从表1来看,庄寨水库总氮Ⅴ类、总磷Ⅲ类、粪大肠菌群和氨氮Ⅱ类,庄寨水库存在一定程度的污染,水质综合评价为Ⅳ类,符合客观实际;五里冲水库(总氮Ⅳ类、总磷Ⅱ类、其余Ⅰ类)、菲白水库(总氮Ⅳ类、总磷和粪大肠菌群Ⅱ类、其余Ⅰ类)、槟榔寨水库(总氮Ⅳ类、总磷Ⅱ类、其余Ⅰ类)、板桥河水库(总氮Ⅳ类、高锰盐指标和总磷Ⅱ类、其余Ⅰ类)、洗洒水库(总氮Ⅴ类、总磷Ⅱ类、其余Ⅰ类)5个水源地总氮存一定的超标现象,但其余指标均不劣于Ⅱ类,总体评价为Ⅲ类符合水库水质现状;其余11个水库各评价因子水质不劣于Ⅲ类或Ⅱ类,水质综合评价牌Ⅱ~Ⅰ类之间较为客观。
b) RDPSO-RF模型与RDPSO-SVR模型评价结果基本相同,但大鱼塘水库、俄垤水库和洗洒水库评价结果存在差异。对于大鱼塘水库,总磷Ⅲ类,氨氮、总氮、高锰酸盐指数和粪大肠菌群Ⅱ类,水质综合评价为Ⅰ类显然不符合客观实际,评价为Ⅱ类与水质现状较为接近;对于俄垤水库,总磷Ⅲ类,总氮和粪大肠菌群Ⅱ类,水质综合评价为Ⅱ类符合水质现状;对于洗洒水库,总氮Ⅴ类,总磷Ⅱ类,其余Ⅰ类,其影响水质综合评价的因素较少,水质综合模输出3.06,虽然水质综合评价为Ⅲ类,但较接近Ⅳ类临界值3.10,评价结果符合现状水质。表明RDPSO-RF模型较RDPSO-SVR模型具有更高的评价精度。
c) RDPSO-RF模型不但可以科学、客观评价各集中式饮用水水源地水质综合类别,而且可从模型输出值大小客观反映17个水库型水源地水质相对优劣程度。
a) 依据随机漂移粒子群(RDPSO)算法良好的全局搜索能力和随机森林(RF)强分类集成器二者的优点,提出RDPSO-RF水源地水质综合评价模型,并给出RDPSO-RF模型的构建方法和实现步骤,进一步拓展了群体仿生智能算法优化RF模型关键参数的应用范畴。
b) 基于GB 3838—2002《地表水环境质量标准》指标分级阈值构造样本对RDPSO-RF、RDPSO-SVR模型进行训练和测试,并利用测试好的RDPSO-RF、RDPSO-SVR对实例水质综合类别进行评价,样本构造方法和模型检验方法具有一定的参考意义。
c) 通过RDPSO-RF、RDPSO-SVR模型对测试样本检验和对实例17个水源地水质进行综合评价,结果表明,RDPSO-RF模型评价精度远优于RDPSO-SVR模型,具有较好的评价精度和泛化能力。将RDPSO-RF模型用于集中式饮用水水源地水质综合评价是可行和有效的,可为相关评价研究提供参考。