一种基于KNN算法的河流幸福等级评估方法

文档序号:26281849发布日期:2021-08-17 13:36阅读:263来源:国知局

本发明属于河流研究技术领域,具体涉及一种基于knn算法的河流幸福等级评估方法。



背景技术:

河流评估涉及很多方面,包括河流水质理化特征、河流生物生态特征以及河流和人类关系特征。但是目前,我们对河流的评价只停留在前两个方面,并没有全面具体的对三个方面综合评估的体系。目前对河流的评价方法,主要分为两部分:主观方法和客观方法。主观方法有层次分析法、德尔菲法、专家经验法等;客观方法有熵权法、多目标分析法、均方差法等。主观分析法多依靠领域专家和学者们的经验判断评估,具有主观色彩,而且不同的学者对于一条河流的侧重点不同,所以可能会出现评分差距过大的情况;客观分析法中数据可能会受到其他因素的影响而具有较低的真实性和可靠性,而且对数据的处理方法不当,也会错误的评估河流的状况。



技术实现要素:

针对现有评估方法中存在的问题与不足,为了全面准确的评估河流幸福等级,本发明提供一种基于knn算法的河流幸福等级评估方法。

本发明提供如下技术方案:

一种基于knn算法的河流幸福等级评估方法,包括如下步骤:

(1)确立河流安全、水量充足、河流健康、人水和谐四个准则层,构建候选特征库,通过主成分分析法和pearson相关性得出核心特征;

(2)对核心特征进行归一化处理,数据预处理后构造knn模型,其中k值采用交叉验证法选取,距离量度采用欧式距离。

(3)将待评估河流的核心特征数据作为测试数据集代入模型中,得到河流幸福等级。

所述步骤(1)包括:

(11)选取河流安全、水量充足、河流健康、人水和谐四个准则层下共30个特征构成候选特征库;分别包括:居民人均可支配收入(元)、建成区绿地覆盖率(%)、城市防洪排涝达标率(%)、堤防达标率(%)、洪涝损失占gdp比例(%)、洪涝人口受灾率(%)、水利工程设施完好率(%)、水土流失程度(%);饮用水水源地(集中式)达标率(%)、人均水资源量(m3)、用水普及率(%)、供水保证率(%)、灌溉水利用系数(%)、产水模数(万m3/m2);污水集中处理率(%)、河湖富营养化状况(%)、生态基流满足水平(%)、鱼类保有指数(%)、控制断面水质达标率(%)、水功能区水质达标率(%)、水生生物完整性指数(%);万元工业增加值用水量(m3)、水文化挖掘和保护水平(%)、公众对河流治理的满意度(%)、水生态文明公众认知比例(%)、万元工业产值用水量(m3)、水法律法规建设程度(%)、景观多样性指数(%)、水能资源开发利用率(%);

(12)结合软件canoco5.0进行主成分分析(pca)以及软件spss24.0进行pearson相关性分析筛选核心特征得到核心特征。

所述步骤(2)包括:

(21)在算法中核心分类依据是测试点与训练集的距离,所以为了减少参数本身取值范围而影响对距离的计算,在计算之前要对样本特征进行无量纲处理,指标分为正向特征和负向特征,正向特征表示该特征对河流幸福是正向影响,负向特征表示该特征对河流幸福是负向影响。无量纲处理公式为:

其中ai、bj为各特征归一化之后的结果,且ai、bj∈[0,1],mi,mi分别表示经过筛选分析后确定为各指标的最优值和最差值的界限。

(22)knn算法中的距离调度有曼哈顿距离、欧式距离和切比雪夫距离,本申请选用欧式距离,设特征空间χ是对于n维实数向量空间rn,zi,zj∈χ,

zizj之间的欧式距离为:

其中l2(zi,zj)表示zizj之间的欧式距离,n表示特征数量。

(23)k值的确定对预测结果至关重要,如果k值比较小,近似误差较小但估计误差较大,容易导致过拟合;如果k值比较大,模型鲁棒性好,但算法的近邻误差会偏大,容易发生欠拟合。因此,采用交叉验证的方式选取k值。数据集随机分为k个包,每次将其中一个包作为测试集,剩下k-1个包作为训练集进行训练;最后计算k次,求得分类率的平均值,作为该模型或者假设函数的真实分类率;

(24)根据欧氏距离计算测试点与数据集中各点之间的距离,并将距离按递增次序排序,找出与测试点最相近的k个样本点,并将这k个样本点所表示的集合记为n_k(x);

(25)使用knn分类器模型预测标签,预测的目标是使分类误差平均代价最小。计算公式为:

其中表示被预测的类别;k表示类别的数量;表示在已知观察值x已知的条件下其为第h类的后验概率;c(y|k)表示把第h类误判成第y类的代价。

所述步骤(3)包括:

(31)参考相近评价中已有的国家或者行业标准,流域水资源、经济社会相关规划及制度的目标值以及相关经典文献中对应的指标标准,对选取的15项核心特征进行幸福等级划分,共将河流幸福情况分为幸福、基本幸福、较幸福、较不幸福和不幸福5种等级。

(32)将待评估河流的各项核心指特征数据用步骤(21)中的公式进行无量纲处理,然后输入到步骤(23)构造好的模型中,得到河流幸福等级结果。

本发明的有益效果:

本发明不仅能克服现有技术中主观分析法出现评分差距过大的情况,客观分析法中数据误差大的状况,还能克服特征选取不全面、未考虑人水之间关系等不足,本方法评估得到的数据准确率高,而且由于knn方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,对于类域的交叉或重叠较多的待分样本集来说,knn方法更适合。

具体实施方式

在本发明中,将基于knn算法的河流幸福等级评估方法用于浙江玉环市中,该方法主要包括以下三个步骤:

一是确立河流安全、水量充足、河流健康、人水和谐四个准则层特征,构建候选特征库,通过主成分分析法和pearson相关性分析得出河流的核心特征;二是对样本特征进行归一化处理,数据预处理后构造knn模型,其中k值采用交叉验证法选取,距离量度采用欧式距离;三是将待评估河流的特征数据作为测试数据集代入模型中,得到河流幸福等级;

以下详细描述各步骤的具体实现过程:

步骤一、核心特征的确定

具体包括如下步骤:

(11)选取河流安全、水量充足、河流健康、人水和谐四个准则层下共30个特征构成候选特征库;分别包括:居民人均可支配收入(元)、建成区绿地覆盖率(%)、城市防洪排涝达标率(%)、堤防达标率(%)、洪涝损失占gdp比例(%)、洪涝人口受灾率(%)、水利工程设施完好率(%)、水土流失程度(%);饮用水水源地(集中式)达标率(%)、人均水资源量(m3)、用水普及率(%)、供水保证率(%)、灌溉水利用系数(%)、产水模数(万m3/m2);污水集中处理率(%)、河湖富营养化状况(%)、生态基流满足水平(%)、鱼类保有指数(%)、控制断面水质达标率(%)、水功能区水质达标率(%)、水生生物完整性指数(%);万元工业增加值用水量(m3)、水文化挖掘和保护水平(%)、公众对河流治理的满意度(%)、水生态文明公众认知比例(%)、万元工业产值用水量(m3)、水法律法规建设程度(%)、景观多样性指数(%)、水能资源开发利用率(%);本发明确定的特征体系能够综合反映鱼类生物群落、水体理化性质及人水关系对河流的影响,可以确保有效全面的评估河流幸福等级。

(12)结合软件canoco5.0进行主成分分析(pca)以及软件spss24.0进行pearson相关性分析筛选核心特征得到15个核心特征,见表1。不同的特征可以反映出不同层次、维度的情况,针对幸福河的判断准则和建设要求并结合玉环市的河流治理情况,本发明在选取城市防洪排涝达标率等一般特征之外,还着重选取了污水处理率等反映污水治理情况的特征和水文化挖掘和保护水平等反映人水和谐的特征。

表1幸福河流评价指标

步骤二、确定参数、构造knn模型。

具体包括如下步骤:

(21)参考该城市的《台州市海绵城市专项规划》、《玉环县水利发展规划》、《玉环市污水“零直排”区建设三年行动方案》、《玉环县全面深化“河长制”暨剿灭劣ⅴ类水攻坚行动实施方案》,对表1中选取的15项评价特征的标准进行划分,共将河流状况分为幸福、较幸福、基本幸福、较不幸福和不幸福5种等级,其对应的幸福指数分别为1,2,3,4,5,具体见表2。

表2河流幸福等级划分

(22)根据表2中的各个指标的范围构造训练样本和检验样本。首先需要在评价标准的各个阈值范围内,随机生成400组样本。每个幸福状况内随机生成80组,5个等级共计400组,为了使得数据更具有代表性和可靠性,所以采用随机选取的方法选取其中的320组作为训练样本、80组作为检验样本,幸福等级作为输出变量,具体见表3。

表3河流幸福等级样本及期望输出

(23)对样本特征进行无量纲处理。指标分为正向特征和负向特征,正向特征表示该特征对河流幸福是正向影响,负向特征表示该特征对河流幸福是负向影响。计算公式为:

其中ai、bj为各特征无量纲出来之后的结果,且ai、bj∈[0,1],mi,mi分别表示经过筛选分析后确定为各指标的最优值和最差值的界限;

本次研究中除了湖库富营养化状况(c9)和万元工业增加值用水量(c12)是负向特征外,其余均为正向特征。

(24)根据knn算法的原理,利用matlab软件中的fitcknn函数构建分类器,fitcknn函数中的参数主要有:训练数据和k值。其中训练数据就是步骤(32)中随机抽取的320组数据,k值通过交叉验证法确定,通过matlab软件中的crossvalind函数进行选取,经过实验本实例中k取7为最佳参数值。

步骤三、计算河流幸福指数

具体包括如下步骤:

(31)在本实例中,测试数据大部分来自于2016年至2019年的《玉环年鉴》、《水资源公报》和《水质检测报告》,如表4。部分特征数据包括防洪排涝达标率、水文化挖掘和保护水平、公众对河流治理的满意度采用专家打分法的方式获得。由于缺乏实测数据,便根据河流控制断面水质检测情况对鱼类保有指数进行估测。先根据步骤(23)中的公式对数据进行归一化处理,之后输入到步骤(24)matlab软件中已经构造好的knn模型中,进行河流幸福等级评估。

表42016-2019年玉环市各指标数值

(32)表5为knn模型得到的玉环市河流2016-2019年的幸福等级情况,可以看出2016和2018年河流为基本幸福,在2017年河流为较不幸福,2019年河流为幸福。通过查阅资料可以得知在2017年玉环市出现严重旱情,年降雨量仅为965.5mm,比多年平均值偏少约33.1%,因此合理解释了17年河流较不幸福的情况。

表52016-2019年玉环市幸福情况

(33)通过matlab软件中的函数kfoldloss得出在本实例中损失函数为4.97%,即k倍的误差的平均值为4.97%,说明该模型准确率还是较高的,结果较为可靠。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1