CN113807570B - 基于XGBoost的水库大坝风险等级评估方法及*** - Google Patents
基于XGBoost的水库大坝风险等级评估方法及*** Download PDFInfo
- Publication number
- CN113807570B CN113807570B CN202110924472.6A CN202110924472A CN113807570B CN 113807570 B CN113807570 B CN 113807570B CN 202110924472 A CN202110924472 A CN 202110924472A CN 113807570 B CN113807570 B CN 113807570B
- Authority
- CN
- China
- Prior art keywords
- model
- data
- reservoir dam
- risk level
- xgboost
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000011156 evaluation Methods 0.000 claims abstract description 17
- 238000002790 cross-validation Methods 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims description 56
- 230000006870 function Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 19
- 238000012502 risk assessment Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000011160 research Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 239000004566 building material Substances 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 5
- 238000011282 treatment Methods 0.000 claims description 5
- 230000004927 fusion Effects 0.000 claims description 4
- 208000025174 PANDAS Diseases 0.000 claims description 3
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 claims description 3
- 235000016496 Panda oleosa Nutrition 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 240000000220 Panda oleosa Species 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 10
- 239000000463 material Substances 0.000 abstract description 8
- 238000010801 machine learning Methods 0.000 abstract description 5
- 230000007774 longterm Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 240000004718 Panda Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000013210 evaluation model Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 206010010356 Congenital anomaly Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Strategic Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Educational Administration (AREA)
- Primary Health Care (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Water Supply & Treatment (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了基于XGBoost的水库大坝风险等级评估方法及***,以特征工程技术预处理输入特征,规范化数据内容及格式;以数据驱动模型,降低主观因素对模型的影响;以GridSearch和Cross‑validation技术自适应计算模型最优参数,在提高工作效率的同时节约人力物力资源;以机器学习技术为核心构建评估预测模型,深入挖掘海量数据深层特征,自动识别水库大坝安全隐患的危险程度,提高水库大坝风险等级评估预测的效率及准确度,进而全面增强水库大坝风险预警能力,保障水库大坝长期安全运行。
Description
技术领域
本发明属于水利水文技术领域,涉及基于水库大坝数据采集的安全风险评估方法,更为具体的说,是涉及基于XGBoost的水库大坝风险等级评估方法及***。
背景技术
目前我国水库共有9.8万余座,大多兴建于上世纪50~70年代,由于历史、经济和技术原因导致相当部分水库大坝病险问题严重、溃坝风险突出,为了降低水库大坝失事概率必须定期进行风险评估,而当前水库大坝安全风险评估主要依靠经验丰富的科研技术人员对已有的水库大坝信息资料进行分析和评价,此种方式存在一些问题和不足:
(1)分析评价过程的自动化程度低。我国水库大坝工程质量的“先天不足”加之信息化水平程度低,使得当前评估水库大坝通过人工分析、人工建模、人工评价来实现,极大的耗费了人力物力,增加了技术人员的负担。
(2)建模与参数优化的智能化程度低。当前构建风险评估体系、建立风险评估模型对于指标因子的选取及权重设置多依靠历史统计数据、专家经验等主观方法,这导致构建的风险评估体系和风险评估模型使用时需要有相当经验的人员手动选择和确定参数,对水库管理人员而言使用较为困难。
(3)模型方法的通用程度低。为了针对性的提升评估模型的准确性,以往在构建模型之初便根据研究区域对模型输入特征、模型参数进行相关处理,一旦研究区域或者研究区域内部影响因子发生变化,该风险评估模型便不再适用,需要技术人员重新调整。
发明内容
为解决上述问题,本发明针对水库大坝不同类型的失事潜在风险影响因子(如筑坝材料、泄洪闸宽度等),提出了一种基于XGBoost的高通用性、高便捷性、高智能化和高准确率的水库大坝风险等级评估预测方法,提升水库大坝安全风险的预警能力。
本发明实现水库大坝(群)风险预测评估“智慧化”:通过清洗异常样本、对样本采样、归一化、离散化等特征工程技术实现输入特征的预处理,规范化数据内容及格式;以数据驱动模型,降低主观因素对模型的影响;以GridSearch和Cross-validation技术自适应计算模型最优参数,在提高工作效率的同时节约人力物力资源;以机器学习技术为核心构建评估预测模型,深入挖掘海量数据深层特征,提高模型的准确率。
为了达到上述目的,本发明提供如下技术方案:
一种基于XGBoost的水库大坝风险等级评估方法,包括如下步骤:
步骤一:获取水库大坝风险影响因子相关的特征数据(特征详细情况如表1所示)及风险等级表(表2),总览特征数据的主要数据类型、数据格式、数据缺失、方差、均值等情况,并对全部特征数据进行特征清洗、数据转换、数据填充等特征工程处理后得到数据集,处理过程主要包括:
(1)处理数据内容与标题不符、数据格式异常、数据内容缺失等问题;
(2)对文本特征进行特征变换,将大坝类型、防渗体类型、筑坝材料及筑坝目的等文本型数据利用LabelEncoder转换为数值型数据。
作为优选,对水库大坝特征数据集进行预处理及特征工程还可包括以下处理,如图5所示:
1、首先对特征值缺失情况进行统计,将缺失比例大于60%的无效特征删除;
2、针对具有数值类型和文本类型的水库大坝数据集,去除水库大坝数据集中重复特征信息;
3、判断数据集是否为包含数值和文本数据的混合数据集,若存在文本数据,则可根据特征数量选择将文本数据的特征值与数值进行映射或者将特征值映射到高维空间中,然后再结合主成分分析、关联算法、相关性分析等方法对特征进行降维。本专利所使用的的水库大坝数据集为混合数据集,同时包含数值型数据和文本型数据,需要对文本型数据进行映射后才能进行后续降维操作,特征降维效果示意图(以6维数据为例)如图6所示,6维特征经过降维后变为三维特征,如图7所示。
4、对特征集合中缺失的特征值信息进行填充,由于水库大坝特征多为离散值,因此缺失值填充可以使用研究区域内水库大坝的特征均值或众数;此外还可将缺失值统一设置为某一具体数值,用以提升模型的鲁棒性。
表1水库大坝风险影响因子表
表2水库大坝风险等级表
序号 | 潜在风险等级 | 风险等级定义 |
1 | 低(Low) | 水库大坝失事不会致人伤亡且对经济、环境影响很小 |
2 | 中(Significant) | 水库大坝失事不会致人伤亡,但对经济环境存在一定影响 |
3 | 高(High) | 水库大坝失事极有可能致人伤亡 |
步骤二:基于步骤一完成的数据集,检查样本不均衡情况,由于真实多分类数据集中类别样本几乎无法确保每类样本的数量相近,因此需要采用相应的技术手段进行处理。基于数据层面,为了解决水库大坝数据集样本极度不均衡的问题,通过基于下采样和类别均衡采样的融合采样方式确保数据集满足模型要求;基于算法层面可根据水库大坝风险等级划分情况设置调整多种类别的对应权重、在算法建立过程中增加惩罚项等方式;依据步骤一获得的水库大坝风险等级数据集的样本情况对其进行融合采样处理。
步骤三:基于步骤二处理的数据集,将其划分为训练集和测试集:训练集被用于输入模型,通过模型不断学习训练数据中每个特征的深层信息,使其拥有评估预测的能力;测试集被用于评估模型评估预测能力的好坏。数据集划分方法有留出法、自助法、留一法等,按照8:2的比例划分数据集,其中为防止数据泄露及充分评估模型好坏,测试集数据不能出现于训练集中。
步骤四:建立基于XGBoost水库大坝风险等级评估预测模型,通用参数、任务参数及基学习器参数设置为默认参数,根据数据集特征调整计算特征重要性的方式,并设置每个水库大坝风险等级结果输出的方式。
具体地说,所述步骤四中,构建XGBoost模型,将训练集中的全部风险影响因子输入模型进行训练,输出全部风险影响因子的重要性程度以及每个水库大坝的风险等级,具体包括如下步骤:
采用XGBoost算法对水库大坝风险等级进行评估和预测,其目标函数具体公式为:
上式中,为评估模型复杂程度的正则项函数,/>为评估模型拟合程度的损失函数,yt表示在样本上的真实得分值,/>表示在样本上的预测得分值。
特征重要性计算可采用“weight”,“gain”,“cover”方式,“weight”反映特征在树中出现次数;“gain”反映特征***时的平均增益;“cover”是特征在***节点时覆盖的所有样本的个数。
步骤五:基于训练集数据及建立的XGBoost水库大坝风险评估预测等级模型,采用Pandas将数据集打开,采用iloc将25个特征数据选中并作为X变量输入模型,得到初步的XGBoost模型。其中X变量为训练集数据中的x_train(训练集中的25个特征数据),将风险等级作为Y变量输入模型,其中Y为训练集数据中的y_train(每个样本对应的风险等级,风险等级对应表2)。
步骤六:根据步骤五建立的XGBoost模型,利用Cross validation将数据集进行分组并设置参数、确定优化参数范围及参数搜索步长,其主要是将一部分作为训练集训练分类器,再利用验证集验证模型,并记录最后的分类准确率为分类器的性能。
作为优选,在步骤六中,采用交叉验证方式,交叉验证可根据实际情况选择:
若数据量并非特别多,可选择KFold,即K折交叉验证;若计算机计算资源足够可尝试选择LOO,即Leave One Out验证。
步骤七:对于Cross-validation中的每次训练,采用GridSearch遍历所有参数组合,确定其最优参数,并将k次训练结果中精度最高的参数组合进行输出,作为模型的最终参数。
步骤八:将步骤七得到的最优参数组合于模型,并在测试集上采用混淆矩阵、Precision、Recall、Accuracy、F-score全方面评估模型性能。
作为优选,在步骤八中对水库大坝风险等级评估预测模型性能进行评估:
分类准确性采用混淆矩阵进行可视化展示,其基本结构如表3所示:
表3混淆矩阵
其中TP为Class 1分类正确的样本;FP为将Class 2错分为Class 1的样本;FN为将Class 1错分为Class 2的样本;TN为Class 2分类正确的样本。
综合评价模型性能采用Accuracy、Precision、Recall和F-score指标,Accuracy反映模型的总体预测准确率,总体准确率越高代表模型性能越好;Precision反映模型预测结果的正确样本占比,其值越大表明误分类越少;Recall反映真实类别被模型正确检测出来的比例,其值越大表明模型漏分类越少;F score是Precision和Recall的调和平均评估指标,其值越大则表明模型的性能越好,四种指标基本公式如下:
与现有技术相比,本发明具有如下优点和有益效果:
1.本发明利用机器学习技术构建水库大坝风险等级评估预测模型,挖掘大量数据的深层特征信息,实现水库大坝风险等级的智能化多分类;对水库大坝风险等级进行高精度、高智能化、高自动化识别和判断,降低人工数据处理、人工数据分析及人工建模的时间成本和经济成本,自动识别水库大坝安全隐患的危险程度,提高水库大坝风险等级评估预测的效率及准确度,进而全面增强水库大坝风险预警能力,保障水库大坝长期安全运行。
2.将XGBoost多分类算法引入水库大坝风险等级评估预测模型,与KNN、SVM等机器学习算法相比,XGBoost算法的突出优势表现于:(1)针对水库大坝风险等级评估需求对XGBoost调整其损失函数,使其能够输出多种风险等级评估结果(2)计算损失函数时将其泰勒级数展开到二阶,提高了梯度下降速度及误差精度;(3)目标函数中增加了L1范数和L2范数,降低模型复杂度,减少模型过拟合的风险,提升模型的泛化能力;(4)针对缺失值可自动学习处理策略,提升了模型的鲁棒性(5)模型性能指标更好,风险等级评估预测精度更高。
3.本发明形成一套基于水库大坝数据特征的水库大坝数据特征工程处理体系,主要包括缺失数据填充方法、数据编码方法、数据采样方法,特征工程中,基于XGBoost算法仅接受数值型数据的特性,将非数值特征转换成数值特征。并能够改善数据集中的样本不均衡情况。
4.基于GridSearch with cross-validation的最优参数自动计算方法,自动搜索不同子集下的模型最优的关键参数组合,降低数据集不合理导致的过拟合,确保模型具有最高精度及最好的泛化能力并缩短XGBoost模型参数调节时间,实现模型性能快速最优化。
5.突破了以往每次仅能对单个水库进行风险评估预测的局限,本发明不仅能够对单一水库进行风险评估预测,而且基于模型训练获得的权重以及缺失特征处理策略,实现水库群风险等级自动化快速评估预测。
附图说明
图1为本发明提供的基于XGBoost的水库大坝风险等级评估方法流程示意图。
图2为Cross-validation with GridSearch流程图。
图3为特征重要性示意图。
图4为混淆矩。
图5为水库大坝特征数据集处理示意图。
图6为6维特征示意图。
图7为3维特征示意图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
本发明提出一种水库大坝(群)风险评估预测方法,实现水库大坝风险预测评估“智能化”,该方法以特征工程技术预处理输入特征,规范化数据内容及格式;以数据驱动模型,降低主观因素对模型的影响;以GridSearch和Cross-validation技术自适应计算模型最优参数,在提高工作效率的同时节约人力物力资源;以机器学习技术为核心构建评估预测模型,深入挖掘海量数据深层特征,提高了模型的准确率。
具体地说,本发明提供了一种基于XGBoost的水库大坝风险等级评估方法,其流程如图1所示,包括如下步骤:
步骤一:首先获取水库大坝特征原始数据集(包括特征数据、风险等级表),包括在python中应用.shape及head()简略查看数据,并用.info()查看数据类型(如表4所示),数据类型中大坝类型、防渗体类型、筑坝材料和筑坝目的为文本型,数据格式为object,利用LabelEncoder将文本数据映射为数值型;修缮时间为数值型数据,数据格式为object,对数据内容及格式进行清洗和规范化;对数据中的缺失内容采用零值填充。
表4数据总体情况表
步骤二:根据已完成预处理及特征工程的数据集,在python中采用value_counts函数检查样本分布情况,并根据样本分布情况采用sample函数对数据进行下采样,采样方式选择随机采样,设置其random_state(随机采样种子,为确保结果能够复现设置为确定值)为1。
步骤三:从sklearn.model_selection函数库中导入train_test_spilit函数,并用train_test_split分割数据集,特征数据为输入变量X,风险等级为预测变量Y,分割比例由test_size参数确定,该参数设置为0.2,将其中80%为训练数据,20%为测试数据;为确保抽样的可复现性将random_state设为20。
步骤四:从xgboost中导入XGBClassifier函数并建立基于XGBoost水库大坝风险等级评估预测模型,在模型的通用参数配置中,基学***均增益;“cover”是特征在***节点时覆盖的所有样本的个数,在此选择以“gain”方式计算特征重要性。
其中,步骤四具体包括,建立基于多分类XGBoost的水库大坝风险等级评估预测模型:
假设F表示树f的函数空间,则树fk(·)∈F,其中k=1,2,3,4,…,K,即公式(1)所示:
其中xt为输入,为预测输出。
为让模型在分类时拥有更好的性能,我们需要最小化目标函数,目标函数如(2)所示:
其中是衡量模型复杂度的正则项,该函数值越小,则复杂度越低,泛化能力越强,具体公式如下:
T为叶子节点数,w是叶子结点的权重,γ和λ为可调节参数。
为交叉熵损失函数,它的作用是衡量模型对于训练数据的拟合程度,其具体公式为:
在公式(4)中,yij是真实值,pij是预测值,其中i=1,2,3,…,I-1,第I项/>
根据公式(1)计算第m次预测输出,即:
令将目标函数化简可得:
将上式进行泰勒二阶展开:
其中at为的一阶导数和bt为/>二阶导数。令Im={t:q(xt)=m}表示叶子m的实例集合,将式(7)化为:
对上述(8)最小化可知最优目标函数为:
同时可知目标函数最优情况下的权重为:
即在模型在训练过程中不断拟合数据,并尽可能逼近式(9)。
由于水库大坝风险等级评估预测模型中输出的水库大坝风险等级大于两个,且与以往输出连续数值不同,因此需要对XGBoost模型中的损失函数进行调整。在上述公式(4)中对应的,在XGBoost模型参数选择时将objective参数设置为“multi:softmax”,以输出多分类结果;另外的,可根据水库大坝风险等级评估预测模型的不同需求设置相应损失函数。此外,步骤四还包括,设置模型初始参数:
模型参数主要有通用参数、训练参数及学习任务参数,初始化模型确定通用参数中的booster和tree_method,学习任务参数中的objective和seed。其中booster=:“gbtree”,tree_method=“gpu_hist”;seed=27。
步骤五:基于步骤二中划分的训练集数据,采用Pandas中的pd.read_csv打开数据,用iloc函数将距离、大坝类型、防渗体类型、筑坝材料、筑坝目的、筑坝时间等25个水库大坝特征选中,并作为模型训练的自变量X;将风险等级作为模型训练的因变量Y,并将X和Y数据输入模型,得到初步的XGBoost模型。
步骤六:于步骤五建立的XGBoost模型,采用K折交叉验证,从sklearn.model_selection中导入KFold,其将数据集分为k(k=5)个子集,将其中的1个子集作为测试集,k-1个子集作为训练集,如此将模型训练k次,并计算k次结果及其均值,分析模型对于不同数据集的评估预测能力,以此评判模型的泛化性能及过拟合程度,如图2中的Cross-validation部分所示。
步骤七:对于Cross-validation中的每次训练,采用GridSearch遍历所有参数组合,从sklearn.model_selection中导入GridSearchCV,将其中的分类器参数estimater选择为XGBClassifier,并将XGBClassifier中的n_esimators,colsample_bylevel,booster,objective,gamma,max_depth,min_child_weight等参数纳入调优范围,输出指标选择为accuracy,通过计算确定其最优参数,并将k(k=5)次训练结果中精度最高的参数组合进行输出,作为模型的最终参数。
步骤八:将步骤七得到的最优参数组合于模型,输出其特征重要性,根据特征重要性对非重要影响因子进行剔除,并可根据需求将新的特征集合输入模型进行训练,并在测试集上采用混淆矩阵、Precision、Recall、Accuracy、F-Score全方面评估不同模型的性能,并从中选择精度最高的最优方案。具体特征重要性(图3)、混淆矩阵(图4)及精度评价指标如表5所示。
表5精度评价指标
其中,所述步骤八,具体包括特征重要性、混淆矩阵及精度指标评价分析:
从图3中可以发现,在25个特征中检查频次、筑坝材料、防渗体类型、闸门宽度和闸门数量的重要性显著高于其他特征。相关研究结果表明,在实际工程状况下,筑坝材料和防水材料分别对水库大坝的变形和渗流有着重要影响;水库大坝闸门宽度、闸门数量决定了水库的泄洪能力,在历史溃坝事件中,水库泄洪能力不足、无法及时泄洪是溃坝发生的重要原因之一;在水库大坝建成后大坝安全检查是确保水库大坝安全极为重要的一环,大坝安全检查具有及时性、全面性和直观性的特点,能及时发现渗流、裂缝、设备故障等重大安全隐患,增加检查频次能极大提升大坝的安全性,这表明模型对于水库大坝基础潜在风险的预测评估具有一定的合理性。
分类结果预测准确度如图4混淆矩阵所示,高风险预测准确率为95%,中风险预测准确率为88%,低风险准确率为91%。利用精度评价公式可得模型预测结果总体准确率为91.3%。水库大坝失事往往会带来极为严重的后果,因此工程应用中对高风险等级的预测准确率有着较高的要求,而本发明模型高风险预测准确度达到95%并且总体准确率超过90%,满足实际应用的需要。
本发明还提供了一种基于XGBoost的水库大坝风险等级评估***,用于实现基于XGBoost的水库大坝风险等级评估方法。具体的,基于XGBoost的水库大坝风险等级评估***包括获取特征数据模块、数据处理模块、数据集划分模块、预测模型建立模块,模型训练模块、模型验证模块、最优参数确定模块、性能评估模块,其中,获取特征数据模块用于获取水库大坝风险影响因子相关的特征数据及风险等级表,并对数据进行预处理和特征工程处理,得到数据集,具体实现基于XGBoost的水库大坝风险等级评估方法中步骤一内容;数据处理模块用于检查数据集中样本均衡的情况,并对不均衡的样本进行处理以使得样本更为均衡,具体实现基于XGBoost的水库大坝风险等级评估方法中步骤二内容;数据集划分模块用于将数据处理模块处理后的数据集划分为训练集和测试集,具体实现基于XGBoost的水库大坝风险等级评估方法中步骤三内容;预测模型建立模块用于建立基于XGBoost水库大坝风险等级评估预测模型,并设置参数,调整计算特征重要性方式,设置输出风险等级结果方式,具体实现基于XGBoost的水库大坝风险等级评估方法中步骤四内容。模型训练模块用于采用特征数据作为X变量,将风险等级作为Y变量,训练预测模型建立模块建立的基于XGBoost水库大坝风险等级评估预测模型,具体实现基于XGBoost的水库大坝风险等级评估方法中步骤五内容。模型验证模块用于根据模型训练模块得到的模型,将数据集进行分组,将一部分作为训练集训练分类器,再利用验证集验证模型,并记录最后的分类准确率为分类器的性能,具体实现基于XGBoost的水库大坝风险等级评估方法中步骤六内容。最优参数确定模块用于遍历训练中所有参数组合,确定其最优参数并进行输出,具体实现基于XGBoost的水库大坝风险等级评估方法中步骤七内容。性能评估模块用于将最优参数确定模块得到的最优参数组合于模型,并在测试集上全方面评估模型性能,具体实现基于XGBoost的水库大坝风险等级评估方法中步骤八内容。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (9)
1.一种基于XGBoost的水库大坝风险等级评估方法,其特征在于,包括如下步骤:
步骤一:获取水库大坝风险影响因子相关的特征数据及风险等级表,对全部特征数据进行预处理,针对数据内容及格式进行特征清洗、数据转换、数据填充,规范化数据后得到数据集;
步骤二:基于步骤一完成的数据集,检查数据集样本不均衡情况,当样本存在不均衡情况时对样本采用技术手段进行处理以使得样本更为均衡;技术手段为:据步骤一获得的水库大坝风险等级数据集的样本情况对其进行融合采样处理,基于数据层面,通过基于下采样和类别均衡采样的融合采样方式确保数据集满足模型要求;基于算法层面根据水库大坝风险等级划分情况设置调整多种类别的对应权重、在算法建立过程中增加惩罚项;
步骤三:基于步骤二处理后的数据集,将其划分为训练集和测试集;训练集被用于输入模型,通过模型不断学习训练数据中每个特征的深层信息,使其拥有评估预测的能力;测试集用于评估模型评估预测能力的好坏;
步骤四:建立基于XGBoost水库大坝风险等级评估预测模型,通用参数、任务参数及基学习器参数设置为默认参数,根据数据集特征调整计算特征重要性的方式,并设置每个水库大坝风险等级结果输出的方式;
采用XGBoost算法对水库大坝风险等级进行评估和预测,其目标函数具体公式为:
上式中,为评估模型复杂程度的正则项函数,/>为评估模型拟合程度的损失函数,yt表示在样本上的真实得分值,/>表示在样本上的预测得分值;
特征重要性计算采用“weight”,“gain”,“cover”方式,“weight”反映特征在树中出现次数;“gain”反映特征***时的平均增益;“cover”是特征在***节点时覆盖的所有样本的个数;
所述建立基于XGBoost水库大坝风险等级评估预测模型具体包括如下过程:
假设F表示树f的函数空间,则树fk(·)∈F,其中k=1,2,3,4,…,K,即公式(1)所示:
其中xt为输入,为预测输出;
最小化目标函数如(2)所示:
其中是衡量模型复杂度的正则项,具体公式如下:
T为叶子节点数,w是叶子节点的权重,γ和λ为可调节参数;
为交叉熵损失函数,其具体公式为:
在公式(4)中,yij是真实值,pij是预测值,其中i=1,2,3,…,I-1,第I项/>
根据公式(1)计算第m次预测输出,即:
令将目标函数化简可得:
将上式进行泰勒二阶展开:
其中at为的一阶导数和bt为/>二阶导数;令Im={t:q(xt)=m}表示叶子m的实例集合,将式(7)化为:
对上述(8)最小化可知最优目标函数为:
同时可知目标函数最优情况下的权重为:
在模型在训练过程中不断拟合数据,并尽可能逼近式(9);
步骤五:基于训练集数据及建立的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的水库大坝风险等级评估方法,其特征在于,所述步骤四中,对XGBoost模型中的损失函数进行调整:
在上述公式(4)中对应的,在XGBoost模型参数选择时将objective参数设置为“multi:softmax”,以输出多分类结果;或根据水库大坝风险等级评估预测模型的不同需求设置相应损失函数。
6.根据权利要求1所述的基于XGBoost的水库大坝风险等级评估方法,其特征在于,所述步骤六中验证模型过程采用交叉验证方式,选择K折交叉验证或选择Leave One Out验证。
7.根据权利要求1所述的基于XGBoost的水库大坝风险等级评估方法,其特征在于,所述步骤八还输出其特征重要性,根据特征重要性对非重要影响因子进行剔除,并根据需求将新的特征集合输入模型进行训练。
8.根据权利要求1所述的基于XGBoost的水库大坝风险等级评估方法,其特征在于,所述步骤八中采用混淆矩阵可视化展示分类准确性,采用Accuracy、Precision、Recall和F-Score指标综合评价模型性能,四种指标基本公式如下:
其中TP为Class 1分类正确的样本;FP为将Class 2错分为Class 1的样本;FN为将Class1错分为Class 2的样本;TN为Class 2分类正确的样本。
9.基于XGBoost的水库大坝风险等级评估***,用于实现权利要求1-8中任意一项所述的基于XGBoost的水库大坝风险等级评估方法,包括:获取特征数据模块、数据处理模块、数据集划分模块、预测模型建立模块,模型训练模块、模型验证模块、最优参数确定模块、性能评估模块;所述获取特征数据模块用于获取水库大坝风险影响因子相关的特征数据及风险等级表,并对数据进行预处理和特征工程处理,得到数据集;所述数据处理模块用于检查数据集中样本均衡的情况,并对不均衡的样本进行处理以使得样本更为均衡;所述数据集划分模块用于将数据处理模块处理后的数据集划分为训练集和测试集;所述预测模型建立模块用于建立基于XGBoost水库大坝风险等级评估预测模型,并设置参数,调整计算特征重要性方式,设置输出风险等级结果方式;所述模型训练模块用于采用特征数据作为X变量,将风险等级作为Y变量,训练预测模型建立模块建立的基于XGBoost水库大坝风险等级评估预测模型;所述模型验证模块用于根据模型训练模块得到的模型,将数据集进行分组,将一部分作为训练集训练分类器,再利用验证集验证模型,并记录最后的分类准确率为分类器的性能;所述最优参数确定模块用于遍历训练中所有参数组合,确定其最优参数并进行输出;所述性能评估模块用于将最优参数确定模块得到的最优参数组合于模型,并在测试集上全方面评估模型性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110924472.6A CN113807570B (zh) | 2021-08-12 | 2021-08-12 | 基于XGBoost的水库大坝风险等级评估方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110924472.6A CN113807570B (zh) | 2021-08-12 | 2021-08-12 | 基于XGBoost的水库大坝风险等级评估方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113807570A CN113807570A (zh) | 2021-12-17 |
CN113807570B true CN113807570B (zh) | 2024-02-02 |
Family
ID=78942777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110924472.6A Active CN113807570B (zh) | 2021-08-12 | 2021-08-12 | 基于XGBoost的水库大坝风险等级评估方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113807570B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114331160B (zh) * | 2021-12-30 | 2023-04-28 | 四川大学 | 一种基于滑坡堵江形态的堰塞坝溃决灾害链模式识别方法 |
CN115632845B (zh) * | 2022-10-12 | 2023-12-05 | 南京联创数字科技有限公司 | 一种基于风险评分卡的景区算法应用风险评估方法 |
CN115619078B (zh) * | 2022-10-25 | 2023-06-02 | 广东工业大学 | 一种变电站内小动物危害风险等级预测方法及装置 |
CN116362552B (zh) * | 2023-05-31 | 2023-09-05 | 江西省水利科学院(江西省大坝安全管理中心、江西省水资源管理中心) | 一种评估小型水库安全风险等级的方法 |
CN116894588B (zh) * | 2023-06-05 | 2024-06-18 | 中国科学院地理科学与资源研究所 | 一种基于大数据的粮食供需智能管理方法、***及介质 |
CN116975401A (zh) * | 2023-09-19 | 2023-10-31 | 杭州美创科技股份有限公司 | 数据库字段识别方法、装置、计算机设备及存储介质 |
CN117422334A (zh) * | 2023-10-27 | 2024-01-19 | 国网北京市电力公司 | 基于多能源数据的多级全景碳效分析方法及*** |
CN117370827A (zh) * | 2023-12-07 | 2024-01-09 | 飞特质科(北京)计量检测技术有限公司 | 一种基于深度聚类模型的风机质量等级评估方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480341A (zh) * | 2017-07-21 | 2017-12-15 | 河海大学 | 一种基于深度学习的大坝安全综合评判方法 |
CN108615114A (zh) * | 2018-04-28 | 2018-10-02 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于蝴蝶结模型的水库大坝安全风险评估方法 |
CN112381309A (zh) * | 2020-11-23 | 2021-02-19 | 珠江水利委员会珠江水利科学研究院 | 水库大坝安全监测预警方法、装置、***及存储介质 |
CN112396305A (zh) * | 2020-11-10 | 2021-02-23 | 中国电力建设股份有限公司 | 一种确定梯级水库群大坝风险等级的方法 |
CN112948932A (zh) * | 2021-03-05 | 2021-06-11 | 广西路桥工程集团有限公司 | 一种基于TSP预报数据与XGBoost算法的围岩等级预测方法 |
CN112949181A (zh) * | 2021-03-02 | 2021-06-11 | 国能大渡河枕头坝发电有限公司 | 一种多源关联数据的预警预测方法、存储介质及电子设备 |
CN112949900A (zh) * | 2021-01-18 | 2021-06-11 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种水库大坝安全信息智慧感知融合预警方法及终端设备 |
CN113139570A (zh) * | 2021-03-05 | 2021-07-20 | 河海大学 | 一种基于最优混合估值的大坝安全监测数据补全方法 |
WO2021148966A1 (en) * | 2020-01-23 | 2021-07-29 | Novartis Ag | A computer-implemented system and method for outputting a prediction of an exacerbation and/or hospitalization of asthma |
-
2021
- 2021-08-12 CN CN202110924472.6A patent/CN113807570B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480341A (zh) * | 2017-07-21 | 2017-12-15 | 河海大学 | 一种基于深度学习的大坝安全综合评判方法 |
CN108615114A (zh) * | 2018-04-28 | 2018-10-02 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于蝴蝶结模型的水库大坝安全风险评估方法 |
WO2021148966A1 (en) * | 2020-01-23 | 2021-07-29 | Novartis Ag | A computer-implemented system and method for outputting a prediction of an exacerbation and/or hospitalization of asthma |
CN112396305A (zh) * | 2020-11-10 | 2021-02-23 | 中国电力建设股份有限公司 | 一种确定梯级水库群大坝风险等级的方法 |
CN112381309A (zh) * | 2020-11-23 | 2021-02-19 | 珠江水利委员会珠江水利科学研究院 | 水库大坝安全监测预警方法、装置、***及存储介质 |
CN112949900A (zh) * | 2021-01-18 | 2021-06-11 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种水库大坝安全信息智慧感知融合预警方法及终端设备 |
CN112949181A (zh) * | 2021-03-02 | 2021-06-11 | 国能大渡河枕头坝发电有限公司 | 一种多源关联数据的预警预测方法、存储介质及电子设备 |
CN112948932A (zh) * | 2021-03-05 | 2021-06-11 | 广西路桥工程集团有限公司 | 一种基于TSP预报数据与XGBoost算法的围岩等级预测方法 |
CN113139570A (zh) * | 2021-03-05 | 2021-07-20 | 河海大学 | 一种基于最优混合估值的大坝安全监测数据补全方法 |
Non-Patent Citations (3)
Title |
---|
基于RFE-RF-XGBoost的坝***移预测研究;王昕宇 等;《东北师大学报(自然科学版)》;第53卷(第2期);第60-66页 * |
基于XGBoost的水库大坝基础设施潜在风险评估预测;丁炜 等;《人民长江》;第54卷(第4期);第241-246页 * |
大坝风险评估与管理关键技术研究进展;盛金保 等;《中国科学:技术科学》;第48卷(第10期);第1057-1067页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113807570A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113807570B (zh) | 基于XGBoost的水库大坝风险等级评估方法及*** | |
CN114757309B (zh) | 多物理场监测数据协同融合的工程灾害预警方法及*** | |
CN113255848B (zh) | 基于大数据学习的水轮机空化声信号辨识方法 | |
CN112529341B (zh) | 一种基于朴素贝叶斯算法的钻井漏失机率预测方法 | |
WO2023142424A1 (zh) | 基于gru-lstm神经网络的电力金融业务风控方法及*** | |
CN112039903B (zh) | 基于深度自编码神经网络模型的网络安全态势评估方法 | |
CN112287018B (zh) | 一种台风灾害下10kV杆塔受损风险评估方法及*** | |
CN111339712A (zh) | 质子交换膜燃料电池剩余寿命预测方法 | |
CN114169374B (zh) | 一种斜拉桥斜拉索损伤识别方法及电子设备 | |
CN111525587B (zh) | 一种基于无功负荷态势的电网无功电压控制方法及*** | |
CN112001110A (zh) | 一种基于振动信号空间时时递归图卷积神经网络的结构损伤识别监测方法 | |
CN110636066A (zh) | 基于无监督生成推理的网络安全威胁态势评估方法 | |
CN117611015B (zh) | 一种建筑工程质量实时监测*** | |
CN115470962A (zh) | 一种基于LightGBM的企业失信风险预测模型构建方法 | |
CN114997578A (zh) | 一种基于深度学习的智慧风电场实时状态评估方法 | |
CN116976318A (zh) | 基于深度学习和模型推理的电网倒闸操作票智能审核*** | |
CN116010884A (zh) | 基于主成分分析的SSA-LightGBM油浸式变压器的故障诊断方法 | |
CN114118460A (zh) | 基于变分自编码器的低压台区线损率异常检测方法及装置 | |
CN117195505A (zh) | 一种用于电能表信息化评价校准模型的测评方法及*** | |
CN116776260A (zh) | 基于机器学习的岩爆等级双模型分步预测方法 | |
CN114066075A (zh) | 一种基于深度学习的客户流失预测方法 | |
CN111210147B (zh) | 基于时序特征提取的烧结过程运行性能评价方法及*** | |
CN115330526A (zh) | 一种企业信用评分方法及装置 | |
CN114881074A (zh) | 一种基于聚类-深度学习的工程结构变形预测方法 | |
CN114298413A (zh) | 一种水电机组振摆趋势预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |