基于XGBoost的水库大坝风险等级评估方法及系统技术方案

技术编号:31482026 阅读:21 留言:0更新日期:2021-12-18 12:16
本发明专利技术提供了基于XGBoost的水库大坝风险等级评估方法及系统,以特征工程技术预处理输入特征,规范化数据内容及格式;以数据驱动模型,降低主观因素对模型的影响;以GridSearch和Cross

【技术实现步骤摘要】
基于XGBoost的水库大坝风险等级评估方法及系统


[0001]本专利技术属于水利水文
,涉及基于水库大坝数据采集的安全风险评估方法,更为具体的说,是涉及基于XGBoost的水库大坝风险等级评估方法及系统。

技术介绍

[0002]目前我国水库共有9.8万余座,大多兴建于上世纪50~70年代,由于历史、经济和技术原因导致相当部分水库大坝病险问题严重、溃坝风险突出,为了降低水库大坝失事概率必须定期进行风险评估,而当前水库大坝安全风险评估主要依靠经验丰富的科研技术人员对已有的水库大坝信息资料进行分析和评价,此种方式存在一些问题和不足:
[0003](1)分析评价过程的自动化程度低。我国水库大坝工程质量的“先天不足”加之信息化水平程度低,使得当前评估水库大坝通过人工分析、人工建模、人工评价来实现,极大的耗费了人力物力,增加了技术人员的负担。
[0004](2)建模与参数优化的智能化程度低。当前构建风险评估体系、建立风险评估模型对于指标因子的选取及权重设置多依靠历史统计数据、专家经验等主观方法,这导致构建的风险评估体系和风险评估模型使用时需要有相当经验的人员手动选择和确定参数,对水库管理人员而言使用较为困难。
[0005](3)模型方法的通用程度低。为了针对性的提升评估模型的准确性,以往在构建模型之初便根据研究区域对模型输入特征、模型参数进行相关处理,一旦研究区域或者研究区域内部影响因子发生变化,该风险评估模型便不再适用,需要技术人员重新调整。

技术实现思路

[0006]为解决上述问题,本专利技术针对水库大坝不同类型的失事潜在风险影响因子(如筑坝材料、泄洪闸宽度等),提出了一种基于XGBoost的高通用性、高便捷性、高智能化和高准确率的水库大坝风险等级评估预测方法,提升水库大坝安全风险的预警能力。
[0007]本专利技术实现水库大坝(群)风险预测评估“智慧化”:通过清洗异常样本、对样本采样、归一化、离散化等特征工程技术实现输入特征的预处理,规范化数据内容及格式;以数据驱动模型,降低主观因素对模型的影响;以GridSearch和Cross

validation技术自适应计算模型最优参数,在提高工作效率的同时节约人力物力资源;以机器学习技术为核心构建评估预测模型,深入挖掘海量数据深层特征,提高模型的准确率。
[0008]为了达到上述目的,本专利技术提供如下技术方案:
[0009]一种基于XGBoost的水库大坝风险等级评估方法,包括如下步骤:
[0010]步骤一:获取水库大坝风险影响因子相关的特征数据(特征详细情况如表1所示)及风险等级表(表2),总览特征数据的主要数据类型、数据格式、数据缺失、方差、均值等情况,并对全部特征数据进行特征清洗、数据转换、数据填充等特征工程处理后得到数据集,处理过程主要包括:
[0011](1)处理数据内容与标题不符、数据格式异常、数据内容缺失等问题;
[0012](2)对文本特征进行特征变换,将大坝类型、防渗体类型、筑坝材料及筑坝目的等文本型数据利用LabelEncoder转换为数值型数据。
[0013]作为优选,对水库大坝特征数据集进行预处理及特征工程还可包括以下处理,如图5所示:
[0014]1、首先对特征值缺失情况进行统计,将缺失比例大于60%的无效特征删除;
[0015]2、针对具有数值类型和文本类型的水库大坝数据集,去除水库大坝数据集中重复特征信息;
[0016]3、判断数据集是否为包含数值和文本数据的混合数据集,若存在文本数据,则可根据特征数量选择将文本数据的特征值与数值进行映射或者将特征值映射到高维空间中,然后再结合主成分分析、关联算法、相关性分析等方法对特征进行降维。本专利所使用的的水库大坝数据集为混合数据集,同时包含数值型数据和文本型数据,需要对文本型数据进行映射后才能进行后续降维操作,特征降维效果示意图(以6维数据为例)如图6所示,6维特征经过降维后变为三维特征,如图7所示。
[0017]4、对特征集合中缺失的特征值信息进行填充,由于水库大坝特征多为离散值,因此缺失值填充可以使用研究区域内水库大坝的特征均值或众数;此外还可将缺失值统一设置为某一具体数值,用以提升模型的鲁棒性。
[0018]表1水库大坝风险影响因子表
[0019][0020][0021]表2水库大坝风险等级表
[0022]序号潜在风险等级风险等级定义1低(Low)水库大坝失事不会致人伤亡且对经济、环境影响很小
2中(Significant)水库大坝失事不会致人伤亡,但对经济环境存在一定影响3高(High)水库大坝失事极有可能致人伤亡
[0023]步骤二:基于步骤一完成的数据集,检查样本不均衡情况,由于真实多分类数据集中类别样本几乎无法确保每类样本的数量相近,因此需要采用相应的技术手段进行处理。基于数据层面,为了解决水库大坝数据集样本极度不均衡的问题,通过基于下采样和类别均衡采样的融合采样方式确保数据集满足模型要求;基于算法层面可根据水库大坝风险等级划分情况设置调整多种类别的对应权重、在算法建立过程中增加惩罚项等方式;依据步骤一获得的水库大坝风险等级数据集的样本情况对其进行融合采样处理。
[0024]步骤三:基于步骤二处理的数据集,将其划分为训练集和测试集:训练集被用于输入模型,通过模型不断学习训练数据中每个特征的深层信息,使其拥有评估预测的能力;测试集被用于评估模型评估预测能力的好坏。数据集划分方法有留出法、自助法、留一法等,按照8:2的比例划分数据集,其中为防止数据泄露及充分评估模型好坏,测试集数据不能出现于训练集中。
[0025]步骤四:建立基于XGBoost水库大坝风险等级评估预测模型,通用参数、任务参数及基学习器参数设置为默认参数,根据数据集特征调整计算特征重要性的方式,并设置每个水库大坝风险等级结果输出的方式。
[0026]具体地说,所述步骤四中,构建XGBoost模型,将训练集中的全部风险影响因子输入模型进行训练,输出全部风险影响因子的重要性程度以及每个水库大坝的风险等级,具体包括如下步骤:
[0027]采用XGBoost算法对水库大坝风险等级进行评估和预测,其目标函数具体公式为:
[0028][0029]上式中,为评估模型复杂程度的正则项函数,为评估模型拟合程度的损失函数,y
t
表示在样本上的真实得分值,表示在样本上的预测得分值。
[0030]特征重要性计算可采用“weight”,“gain”,“cover”方式,“weight”反映特征在树中出现次数;“gain”反映特征分裂时的平均增益;“cover”是特征在分裂节点时覆盖的所有样本的个数。
[0031]步骤五:基于训练集数据及建立的XGBoost水库大坝风险评估预测等级模型,采用Pandas将数据集打开,采用iloc将25个特征数据选中并作为X变量输入模型,得到初步的XGBoost模型。其中X变量为训练集数据中的x_train(训本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于XGBoost的水库大坝风险等级评估方法,其特征在于,包括如下步骤:步骤一:获取水库大坝风险影响因子相关的特征数据及风险等级表,对全部特征数据进行预处理,针对数据内容及格式进行特征清洗、数据转换、数据填充,规范化数据后得到数据集;步骤二:基于步骤一完成的数据集,检查数据集样本不均衡情况,当样本存在不均衡情况时对样本采用技术手段进行处理以使得样本更为均衡;步骤三:基于步骤二处理后的数据集,将其划分为训练集和测试集;训练集被用于输入模型,通过模型不断学习训练数据中每个特征的深层信息,使其拥有评估预测的能力;测试集用于评估模型评估预测能力的好坏;步骤四:建立基于XGBoost水库大坝风险等级评估预测模型,通用参数、任务参数及基学习器参数设置为默认参数,根据数据集特征调整计算特征重要性的方式,并设置每个水库大坝风险等级结果输出的方式;采用XGBoost算法对水库大坝风险等级进行评估和预测,其目标函数具体公式为:上式中,为评估模型复杂程度的正则项函数,为评估模型拟合程度的损失函数,y
t
表示在样本上的真实得分值,表示在样本上的预测得分值;特征重要性计算采用“weight”,“gain”,“cover”方式,“weight”反映特征在树中出现次数;“gain”反映特征分裂时的平均增益;“cover”是特征在分裂节点时覆盖的所有样本的个数;步骤五:基于训练集数据及建立的XGBoost水库大坝风险评估预测等级模型,采用Pandas将数据集打开,采用iloc将25个特征数据选中并作为X变量输入模型,得到初步的XGBoost模型;其中X变量为训练集数据中的x_train,将风险等级作为Y变量输入模型,其中Y为训练集数据中的y_train;步骤六:根据步骤五建立的XGBoost模型,利用Cross validation将数据集进行分组并设置参数、确定优化参数范围及参数搜索步长,将一部分作为训练集训练分类器,再利用验证集验证模型,并记录最后的分类准确率为分类器的性能;步骤七:对于Cross

validation中的每次训练,采用GridSearch遍历所有参数组合,确定其最优参数,并将k次训练结果中精度最高的参数组合进行输出,作为模型的最终参数;步骤八:将步骤七得到的最优参数组合于模型,并在测试集上全方面评估模型性能,并从中选择精度最高的最优方案。2.根据权利要求1所述的基于XGBoost的水库大坝风险等级评估方法,其特征在于,所述步骤一中预处理至少包括以下方式中的至少一项:(1)处理数据内容与标题不符、数据格式异常、数据内容缺失问题;(2)对文本特征进行特征变换,将大坝类型、防渗体类型、筑坝材料及筑坝目的等文本型数据利用LabelEncoder转换为数值型数据。3.根据权利要求2所述的基于XGBoost的水库大坝风险等级评估方法,其特征在于,还
包括如下处理:1、首先对特征值缺失情况进行统计,将缺失比例大于60%的无效特征删除;2、针对具有数值类型和文本类型的水库大坝数据集,去除水库大坝数据集中重复特征信息;3、判断数据集是否为包含数值和文本数据的混合数据集,若存在文本数据,则根据特征数量选择将文本数据的特征值与数值进行映射或者将特征值映射到高维空间中,然后再对特征进行降维;4、对特征集合中缺失的特征值信息进行填充,由于水库大坝特征多为离散值,因此缺失值填充可以使用研究区域内水库大坝的特征均值或众数;此外还可将缺失值统一设置为某一具体数值,用以提升模型的鲁棒性。4.根据权利要求1所述的基于XGBoost的水库大坝风险等级评估方法,其特征在于,所述步骤二中技术手段为:据步骤一获得的水库大坝风险等级数据集的样本情况对其进行融合采样处理,基于数据层面,通过基于下采样和类别均衡采样的融合采样方式确保数据集满足模型要求;基于算法层面根据水库大坝风险等级划分情况设置调整多种类别的对应权重、在算法建立过程中增加惩罚项。5.根据权利要求1所述的基于XGBoost的水库大坝风险等级评估方法,其特征在于,所述步骤四中将训练集中的全部风险影响因子输入模型进行训练,输出全部风险影响因子的重要性程度以及每个水库大坝的风险等级,所述建立基...

【专利技术属性】
技术研发人员:丁炜金有杰高佳琦刘娜孙建庭林艳燕陈季牛睿平
申请(专利权)人:江苏南水科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1