李百慧,李般若,季书一,邢凌凯,郑力高,黄品天
(河海大学 a.农业与工程学院; b.土木与交通学院; c.计算机与信息学院; d.水利水电学院,南京 210000)
优良的水质是实现居民安全饮水、农业高效用水的前提。山东省土地资源丰富,水系错综复杂,灌溉水源不单一。由于受到降雨、居民活动等影响,该地区水肥流失严重,水体污染加剧,农业生产质量受到一定的影响。因此,建立一种可靠的水质评价模型,对山东地区水质等级准确评估以及缓解水体污染有着重要的指导意义。
传统的水质评价方法有很多,NONG等[1]从多数水质指标中选择水温、溶解氧、汞、总磷和粪大肠杆菌建立了中国南水北调工程的WQImin模型,该模型可以通过数量更少的水质指标,达到与传统WQI相近似的结果,为水质指标的监测提供了便利,但该研究采取的评价指标不典型,因此适用范围受到限制。向梦玲等[2]利用改进TOPSIS法基于溶解氧、高锰酸盐指数、生化需氧量等水质指标进行沱江流域水质评价,但该方法主观性较强,并不能客观真实地反映水质真实情况。因此,建立一套基于组合赋权的TOPSIS模型,从权重角度完善TOPSIS法在水质评价中的适用性,对水质等级评价及缓解水体污染有着深远的影响。
本文针对中国东部沿海山东地区开展水质等级评价工作,建立一套基于组合赋权法的TOPSIS水质评价模型。该方法在传统TOPSIS法的基础上,通过对水质指标进行主客观组合权重计算,克服了客观赋权法易受数据波动影响、主观赋权法不能呈现客观事实的缺点。
本文的研究目的为:①建立基于组合赋权的TOPSIS水质等级评价模型,对中国东部山东地区水体污染进行精准评估,为缓解水体污染、正确评估水质等级提供科学依据;②采用SVM模型对评估得到的水质等级进行机器学习,从而进一步评估基于组合赋权的TOPSIS法在山东地区的适用性。
山东省位于中国东部沿海N34°22.9′-N38°24.01′,E114°47.5′-E122°42.3′之间,自北而南与河北、河南、安徽、江苏4省接壤。山东省中部山地突起,其余地段低洼平坦,地形以山地丘陵为主,属暖温带季风气候。山东省水系错综复杂,地跨淮河、海河、小清河、胶东与黄河五大水系。山东省作物熟制一般为两年三熟或者一年两熟,其中夏季主种小麦,秋季主种玉米、大豆、水稻等作物。
本研究选取山东省部分地区2020年6-9月的农业灌溉水源进行监测,涉及黄河、海河等所属的灌溉渠系,以及影响各农业生产区域的河流、湖泊等水源。本研究共测量7个不同的水质指标:溶解氧(DO)、生化需氧量(BOD)、酸碱度(pH)、氨氮(NH3-N)、粪大肠杆菌(FCB)、水温(WT)及总氮(TN)。
本文采用层次分析法对各水质指标进行主观权重计算,其计算步骤如下:
1) 根据水质实际情况构建层次结构模型,将河流水质作为目标层,将水质各评价因子作为准则层。
2) 构建判断矩阵,采用两两比较法,对各水质指标重要性进行判断。
3) 计算一致性指标CI:
(1)
4) 根据表1查找对应的平均随机一致性指标RI。
表1 一致性检验表
5) 计算一致性比例CR:
(2)
式中:λmax为最大特征值;n为矩阵阶数;CI为一致性检验标准;RI为一致性指标;CR为一致性比率。
若CR<0.1,则可认为判断矩阵的一致性可以接受;否则,需要对判断矩阵进行修改。
6) 计算指标权重,本文采用算术平均法作为主观权重,其计算公式为:
(3)
7) 总体一致性检验。
2.3 客观赋权法——熵权法[3]
本文采用熵权法对各水质指标进行客观权重计算。熵权法确定客观权重的步骤为:
1) 建立m×n的评价样本的原始矩阵。
X=(xij)m×n
式中:xij为第i个评价样本j个评价指标。
2) 将矩阵进行标准化。
3) 计算信息熵。
4) 计算评价指标j的熵权值。
2.4 组合赋权法——差异系数法[3]
根据熵权法求得的客观权重与层次分析法求得的主观权重进行组合赋权,使用的方法是差异系数法,计算公式如下:
ωz=(1-α)ωj1+αωj2
(4)
式中:ωj1为层次分析法得到的指标权重;ωj2为熵权法法得到的指标权重;ωz为综合权重;α为熵权法确定的权重在组合赋权中所占的比例,为了减少主观因素的影响,其值采用差异系数法进行赋权,计算公式如下:
(5)
式中:n为层次分析法的评价指标数;ω1,ω2,…,ωn为层次分析法确定的评价指标的权重依次递增重新排列。
TOPSIS 法(逼近理想排序法)是系统工程中一种多目标决策方法,找出有限方案中的最优与最劣方案,当某个可行解方案最靠近最优方案同时又远离最劣方案,这个方案解的向量集就是最优影响评价指标。
TOPSIS 法作为一种综合指标评价方法,区别于如模糊综合评判法、层次分析法,它的主观性比较强,不需要目标函数,也不需要通过相应的检验,即限制要求大大降低,使得适用范围较为广泛。
TOPSIS影响力度算法步骤为:
Step1:建立评价指标体系,建立归一化矩阵,将数据进行标准化,即:
其中:i为水质指标个数;j为所构建指标体系个数;Xij为第i个指标第j个评价体系的得分情况。
2.6 机器学习方法——支持向量机
支持向量机(Support Vector Machines, SVM)是基于统计学习理论的一种机器学习方法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。给定训练样本D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈{-1,+1},分类学习的基本思想就是基于训练集D在样本空间找到一个划分超平面,将不同类别的样本分开。
由图1所示,距离超平面最近的几个训练样本点满足上式,被称为“持向量”。训练完成后,大部分训练样本都不需保留,最终模型只与支持向量有关,说明支持向量的选取对SVM的学习训练具有不容忽视的作用。
图1 支持向量机原理图
为了获取最大间隔的划分超平面,可设计如下模型:
(6)
s.tyi(wTxi+b)≥1-ξi,i=1,2,…,m
ξi≥0,i=1,2,…,m
在目标函数中引入惩罚系数C,其作用是调节学习算法在特征空间中的置信范围与经验风险的比例,从而优化学习算法的泛化能力。引入拉格朗日乘子αi≥0将上式转化为求其对偶问题,并利用“核函数”技巧,则有:
(7)
本文采用SPSS 24对所测数据进行熵权法,并计算其客观权重;利用Excel 2011进行数据预处理;利用MATLAB 2019b对数据进行主观权重计算和机器学习(支持向量机模型)。
通过熵权法计算得到的各水质评价指标客观权重结果见表2。
表2 熵权法计算客观权重结果
通过层次分析法计算得到的各水质评价指标主观权重结果见表3。
表3 层次分析法计算主观权重结果
根据式(5),计算得到差异系数约为α=0.28;根据式(4),得到各评价因子的组合权重见表4。
表4 组合权重表
利用TOPSIS方法对910组数据组进行等级评估,具体评估结果见表5。
表5 水质等级划分结果
使用Quadratic SVM模型对910个样本进行交叉验证,将溶解氧、生化需氧量、酸碱度、氨氮、粪大肠杆菌、水温、总氮作为分类的依据,水质等级作为分类的结果进行验证,验证准确率达94.6%,效果较为客观,说明该方法具有较高精度与适用性,可为河流水质等级客观、真实评价提供新的思路与方法。水质等级交叉验证可视化见图2。
图2 支持向量机交叉验证结果
为了进一步评判基于组合赋权的TOPSIS模型的适用性,绘制ROC曲线以进一步探索水质等级评估结果精度。从图3不难发现,ROC 曲线下的面积接近为1,说明Quadratic SVM算法在所选数据集上的表现效果非常优秀(通常认为ROC曲线下的面积高于0.8时,模型效果满意)。
图3 ROC曲线图
1) 通过主客观组合赋权,权重大小为氨氮>总氮>水温>溶解氧>生化需氧量>酸碱度>粪大肠杆菌。
2) 通过基于组合赋权的TOPSIS法评估得到的水质等级结果为:Ⅰ类水5个,Ⅱ类水46个,Ⅲ类水264个,Ⅳ类水399个,Ⅴ类水196个,总体分布较为均匀,符合正常情况。
3) 通过SVM模型交叉验证,水质等级验证准确率达94.6%,且ROC曲线下的面积接近1,进一步阐明该方法具有较高的适用性。