CN114580762A - 一种基于XGBoost的水文预报误差校正方法 - Google Patents
一种基于XGBoost的水文预报误差校正方法 Download PDFInfo
- Publication number
- CN114580762A CN114580762A CN202210234577.3A CN202210234577A CN114580762A CN 114580762 A CN114580762 A CN 114580762A CN 202210234577 A CN202210234577 A CN 202210234577A CN 114580762 A CN114580762 A CN 114580762A
- Authority
- CN
- China
- Prior art keywords
- xgboost
- model
- value
- data set
- error correction
- 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.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 41
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 20
- 238000003066 decision tree Methods 0.000 claims abstract description 14
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 230000035772 mutation Effects 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 24
- 239000002245 particle Substances 0.000 claims description 20
- 238000005457 optimization Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 8
- 238000002922 simulated annealing Methods 0.000 claims description 8
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 4
- 230000002068 genetic effect Effects 0.000 claims description 4
- 210000000349 chromosome Anatomy 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000000137 annealing Methods 0.000 claims description 2
- 230000010354 integration Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000004088 simulation Methods 0.000 abstract description 2
- 239000000203 mixture Substances 0.000 abstract 1
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- 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
-
- 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/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/10—Services
- G06Q50/26—Government or public services
- G06Q50/265—Personal security, identity or safety
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Tourism & Hospitality (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Molecular Biology (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Educational Administration (AREA)
- Primary Health Care (AREA)
- Computer Security & Cryptography (AREA)
- Physiology (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
Abstract
本发明公开一种基于XGBoost的水文预报误差校正方法,该方法包括:(1)采集一水系流域对应预报站点一定时间段内的实况水位值及水文模型预报水位值,组织成水文时间序列数据集;(2)构建误差数据集,对数据进行预处理,划分训练集和测试集并确定模型最终的输入;(3)采用SPGA优化算法对XGBoost的学习率、弱学习器个数、惩罚项系数、决策树最大深度四个参数进行优化,同时利用样本数据集对XGBoost模型进行训练,最终得到SPGA优化的XGBoost预报误差校正模型;(4)对所述SPGA优化的XGBoost水文预报误差校正模型进行测试。本发明自行组织数据集,使用XGBoost模型进行模拟误差计算,其中采用SPGA算法对XGBoost模型的参数进行优化,利用最优参数得到的模型进一步提升误差校正能力。
Description
技术领域
本发明涉及水文模型预报误差校正技术,具体涉及一种基于XGBoost的水文预报误差校正方法。
背景技术
洪水预报作为流域抗洪减灾的重要技术,是最重要的防洪非工程措施之一,担负着防汛工作中的“耳目”、“参谋”与“尖兵”。实时洪水预报就是为了预测未来将要发生的洪水信息,以当前阶段观测得到的最新降雨等水文要素为输入,选择适合的水文预报模型进行预报计算,对未来洪水水位或流量进行预测的过程。洪水预报不仅有助于降低洪水风险,而且对水资源系统的统一规划管理起到显著作用。预见期越长、预报误差越低、对环境的适应程度越高且滚动预报能力越强的实时洪水预报越有可能做出科学合理的防洪决策,为减免洪涝损失和保障社会经济效益提供重要支撑。
洪水预报过程由模型输入、模型结构及参数、状态变量初值和测量等诸多环节组成,产生于这些环节的误差,逐步累积使得最终的预报结果与实际观测值有所偏差,进而影响洪水预报的精度。为了提高实时洪水预报准确性,为防洪抗洪提供更为可靠的科学支撑,就需要在使用水文模型进行水文预报的基础上开展实时误差校正研究。
目前,根据预报误差特点,洪水预报实时校正的技术与方法,大体上可以归纳为两类:一是终端误差校正方法,二是过程误差校正方法。终端误差校正即不考虑预报子过程的误差以及误差在子过程中的传播,直接对最终预测的水位或流量的误差进行校正。过程误差校正即通过降低预报过程中各子过程(如降雨、汇流、产流等)的误差,通常是对预报模型的状态变量或参数变量等进行误差校正,从而达到降低最终误差的目的。
近年来,随着机器学习的发展,其在水文领域的应用也越来越广泛。机器学习技术不仅可以应用于水文预报,建立基于数据驱动的预报模型,也能进行预报结果的校正。如:结合小波分析的ARIMA修正预测模型、结合相似性搜索的改进正则化GRU模型、基于K均值聚类分析的实时分类修正方法等,上述误差修正方法也都取得了较好的效果,但同时也存在一些问题:多数方法割裂了模型预测时会产生误差的连续影响,因此需要寻找一种效率与误差修正率兼顾的预测模型。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于XGBoost的水文预报误差校正方法,通过数据挖掘的相关技术,对已有的预报值误差序列进行分析和预测研究。
技术方案:本发明的一种基于XGBoost的水文预报误差校正方法,包括以下步骤。
步骤S1、采集一水系流域对应预报站点一定时间段内的实况水位值及使用相关水文模型预报后的预报水位值,按照对应时间点组织成水文时间序列数据集;
步骤S2、对数据进行预处理,依据预报值、实况值和对应时间形成误差数据集,将其进一步划分为训练集和测试集并确定模型最终的输入;
步骤S3、采用混合遗传优化算法(SPGA)对XGBoost的学习率lr、弱学习器个数n_estimators、惩罚项系数gamma、决策树最大深度max_depth这四项超参进行优化,同时利用样本数据集对XGBoost模型进行训练,最终得到SPGA优化的XGBoost预报误差校正模型;
步骤S4、对所述SPGA优化的XGBoost预报误差校正模型进行测试。
本发明还公开了一种基于XGBoost的水文预报误差校正方法,依次包括以下步骤。
所述步骤S1是获取初始数据集和相应的标签信息,所述步骤S1进一步为:采集一水系流域对应预报站点一定时间段内的实况水位值及使用相关水文模型预报后的预报水位值,按照对应时问点组织成水文时间序列数据集。初始水文时间序列数据集共有两个,其中一个包括该水系流域对应预报站点的实况水位值、实况流量值及对应的时间;另一个包括预报依据时间、预报时间及预报水位值。
所述步骤S2是对数据进行预处理,依据预报值、实况值和对应时间形成样本数据集,将其进一步划分为训练集和测试集并确定模型最终的输入,所述步骤S2进一步为:
步骤S2.1、将步骤S1中的两组数据集中的数据进行缺失值处理、错误值更正,并根据模型构建所需重新构建样本数据集,该数据集包含:预报依据时间、预报时间、预报水位值、实况水位值及对应的误差值,误差数据集整理完毕后对其进行归一化处理,采用的归一化公式如下:
其中,x(t)是样本数据,n(t)为输入样本;
步骤S2.2、将误差数据集划分为训练数据集L和测试数据集T的方法为:样本数据集的前70%作为训练数据集L,余下的30%数据作为测试数据集T;
XGBoost模型有众多参数,更优的参数能提高序列预测的精度,因此采用SPGA算法对XGBoost模型的学习率lr、弱学习器个数n_estimators、惩罚项系数gamma、决策树最大深度max_depth这四项超参进行优化,所属步骤S3具体包括:
步骤S3.1、初始化XGBoost模型的学习率lr、弱学习器个数n_estimators、惩罚项系数gamma、决策树最大深度max_depth参数的取值范围;
步骤S3.2、初始化M个子群,每个子群中粒子的染色体就相当于一组XGBoost的参数(lr,n_estimators,gamma,max_depth),初始化SPGA算法中最大迭代次数Tmax、变异概率、交叉概率、惯性权重ω、学习因子c1、c2及模拟退火初始温度T;
步骤S3.3、对一组参数进行编码并进行计算个体适应度值,即XGBoost模型的均方根误差RMSE,根据适应度值继续对种群进行筛选;
步骤S3.4、判断是否满足终止条件,若达到最大迭代次数Tmax则终止迭代并用该适应度值最佳的最优解作为模型参数进行XGBoost误差校正模型的建立,否则进入步骤S3.5;
步骤S3.5、对个体进行解码,把解码参数代入训练与测试样本,计算得到每个个体的适应度值;
步骤S3.6、更新种群最优个体和历史最优个体,分别用一个变量把每个个体的当前解码后的值保留下来,把每一代的最优解也用单独的变量保留下来,从第二代迭代开始,如果产生的新个体的适应度值比前一次保留的个体的适应度值大,则把新个体存储在变量中并替换前一代的个体,否则不替换,同样地,如果这一代的历史最优个体适应度值比前一代的大,则更新每一代的最优解,否则不更新;
步骤S3.7、用赌轮盘算法进行选择,即按照适应度值对应的选择概率进行随机选取,直到选出满足设定数量的个体数;
步骤S3.8、种群交叉;然后进行变异,在变异之前要先解码,在变异完成之后再重新编码;
其中,粒子变异过程引入PSO公式作为变异算子,让种群内个体可以根据自身迄今最优解和种群内最优解以及个体进化的速度来确定变异的方向和幅度,使变异操作具有方向指导作用,不再是简单的随机变异。变异的具体操作是:用代替粒子群中的第i个粒子在D维空间的位置xid,用历史最优个体代替粒子群算法中的个体最佳位置pbestid;用种群最优代替全局最优位置gbestid;用的累计差的算数平均来代替vid,其中的累计差由下式求得:
引入的粒子群算法的粒子更新公式为:
步骤S3.9、判断是否满足模拟退火的SA判断函数,若满足,则说明种群进化到了后期趋于同一,进行模拟退火操作,否则直接转步骤S3.4、。
引入的SA判断函数具体为:
fave-fmin<a
通过该式来判断是否执行SA操作。其中fave表示种群中平均适应度值,fmin表示种群中最优个体所对应的适应度值,a为判断种群趋于稳定时的阈值a。
所述步骤S4中的XGBoost是一个树集成模型,内部的决策树使用的是回归树,所述步骤S4进一步为:
XGBoost可以自定义模型的损失函数:
第t轮模型即第i个样本在第t次训练中的预测值为:
第t次训练模型的简化的目标函数为:
有益效果:本发明提供的一种基于XGBoost的水文预报误差校正方法,与现有方法相比,本发明的优点在于:本发明采用SPGA优化算法对XGBoost模型的参数进行优化,避免了在寻找最优参数时会陷入局部最优的情况,利用最优参数得到的模型进行模拟误差计算,有更好的校正效果。并且能在保证误差校正能力基础上,具有更高的收敛速度,对于大规模的训练样本,计算速度也有一定的提升。
附图说明
图1为本发明实施例里的整体步骤图;
图2为本发明具体示例SPGA优化方法的流程图;
图3为实施例中预见期6h时使用XGBoost模型对预测值校正前后的对比展示图;
图4为实施例中SPGA、GA、PSO、CS优化算法的适应度值变化曲线对比图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,发明的一种基于XGBoost的水文预报误差校正方法,主要包括4个步骤:
步骤S1、采集一水系流域对应预报站点一定时间段内的实况水位值及使用相关水文模型预报后的预报水位值,按照对应时间点组织成水文时间序列数据集;
步骤S1.1、选取螺山实况水位数据组织成水文时间序列数据集data_1,时间从2018年1月1日8点到2020年12月31日8点,共1096条数据,该数据集包括时间、水位值、流量值。再根据相同时间点截取通过大湖演算模型得到的预报值组织成水文时间序列数据集data_2,该数据集包括预报依据时间、预报时间、预报水位值。
步骤S2、对数据进行预处理,依据预报值、实况值和对应时间形成误差数据集,将具进一步划分为训练集和测试集并确定模型最终的输入,具体步骤如下:
步骤S2.1、将步骤S1中的两组数据集中的数据进行缺失值处理、错误值更正,并根据模型构建所需重新构建样本数据集,该数据集包含:预报依据时间、预报时间、预报水位值、实况水位值及对应的误差值。误差数据集整理完毕后对其进行归一化处理,采用的归一化公式如下:
其中,x(t)是样本数据,n(t)为输入样本。
步骤S2.2、将样本数据集划分为训练数据集L和测试数据集T的方法为:样本数据集的约前70%共767条数据作为训练数据集L,余下的30%数据共329条作为测试数据集T。
步骤S3、采用SPGA优化算法对XGBoost的学习率lr、弱学习器个数n_estimators、惩罚项系数gamma、决策树最大深度max_depth这四项超参进行优化,同时利用样本数据集对XGBoost模型进行训练,最终得到SPGA优化的XGBoost预报误差校正模型,使用SPGA对XGBoost模型的参数进行寻优,具体流程如图2所示,具体步骤为;
步骤S3.1、初始化XGBoost模型的学习率lr、弱学习器个数n_estimators、惩罚项系数gamma、决策树最大深度max_depth参数的取值范围,设置1r范围是(0.01,0.4),n_estimators范围是(10,220),gamma范围是(3,10),max_depth范围是(0,0.2)。
步骤S3.2、初始化M=50个子群,每个子群中粒子的染色体就相当于一组XGBoost的参数(lr,n_estimators,gamma,max_depth),初始化SPGA遗传算法中最大迭代次数Tmax=50、ω=0.5、c1=0.2、c2=0.5,基本GA中变异概率为0.05,交叉概率为0.8,以及模拟退火初始温度T=100,;
步骤S3.3、对一组参数进行编码并进行计算个体适应度值,即XGBoost模型的均方根误差RMSE,根据适应度值继续对种群进行筛选;
步骤S3.4、判断是否满足终止条件,若达到最大迭代次数Tmax则终止迭代并用该适应度值最佳的最优解作为模型参数进行XGBoost误差校正模型的建立,否则进入S3.5;
步骤S3.5、对个体进行解码,把解码参数代入训练与测试样本,计算得到每个个体的适应度值;
步骤S3.6、更新种群最优个体和历史最优个体。分别用一个变量把每个个体的当前解码后的值保留下来,把每一代的最优解也用单独的变量保留下来。从第二代迭代开始,如果产生的新个体的适应度值比前一次保留的个体的适应度值大,则把新个体存储在变量中并替换前一代的个体,否则不替换。同样地,如果这一代的历史最优个体适应度值比前一代的大,则更新每一代的最优解,否则不更新;
步骤S3.7、用赌轮盘算法进行选择,即按照适应度值对应的选择概率进行随机选取,直到选出满足设定数量的个体数;
步骤S3.8、种群交叉;然后进行变异。在变异之前要先解码,在变异完成之后再重新编码;
变异的具体操作是:用代替粒子群中的第i个粒子在D维空间的位置xid,用历史最优个体代替粒子群算法中的个体最佳位置pbestid;用种群最优代替全局最优位置gbestid;用的累计差的算数平均来代替vid,其中的累计差由下式求得:
引入的粒子群算法的粒子更新公式为:
步骤S3.9、判断是否满足模拟退火的SA判断函数,若满足,则说明种群进化到了后期趋于同一,进行模拟退火操作,否则直接转S3.4;
引入的SA判断函数具体为:
fave-fmin<a
通过该式来判断是否执行SA操作。其中fave表示种群中平均适应度值,fmin表示种群中最优个体所对应的适应度值,a为判断种群趋于稳定时的阈值a。
步骤S4、对所述SPGA优化的XGBoost预报误差校正模型进行测试。
设SPGA优化的XGBoost水文时间序列预测模型的损失函数如下:
第j轮模型即第i个样本在第j次训练中的预测值为:
第j次训练模型的简化的目标函数为:
本实施例中,经SPGA优化算法优化过参数的XGBoost模型在预见期为6h时最佳参数为:lr=0.446、n_estimators=122、gamma=0.014、max_depth=4;
使用该最优模型对螺山的预测水位值产生的误差进行预测,从而达到校正目的。将螺山的实况水位、大湖演算模型得到的预报值及校正后的预报值三者进行对比,最终的对比结果如下图3所示,对预测结果的评价指标采用RMSE,R2两种,计算公式如下:
下表展示预见期为6h时校正前后结果评价指标的对比。
RMSE | R<sup>2</sup> | |
校正前预报值 | 0.449 | 0.9895 |
校正后预报值 | 0.106 | 0.9994 |
图3展示使用XGBoost模型对预测值校正前后的对比图,预见期为6h,图4展示SPGA优化算法在预见期为6h的适应度值变化曲线,与GA、PSO和CS进行对比。
Claims (6)
1.一种基于XGBoost的水文预报误差校正方法,其特征在于,包括以下步骤:
步骤S1、采集一水系流域对应预报站点一定时间段内的实况水位值及使用相关水文模型预报后的预报水位值,按照对应时间点组织成水文时间序列数据集;
步骤S2、对数据进行预处理,依据预报值、实况值和对应时间形成误差数据集,将其进一步划分为训练集和测试集并确定模型最终的输入;
步骤S3、采用混合遗传优化算法(SPGA)对XGBoost的学习率lr、弱学习器个数n_estimators、惩罚项系数gamma、决策树最大深度max_depth这四项超参进行优化,同时利用样本数据集对XGBoost模型进行训练,最终得到SPGA优化的XGBoost预报误差校正模型;
步骤S4、对所述SPGA优化的XGBoost预报误差校正模型进行测试。
2.根据权利要求1所述的基于XGBoost的水文预报误差校正方法,其特征在于,所述步骤S1中,水文时间序列数据集共有两个,其中一个包括该水系流域对应预报站点的实况水位值、实况流量值及对应的时间;另一个包括预报依据时间、预报时间及预报水位值。
3.根据权利要求1所述的基于XGBoost的水文预报误差校正方法,其特征在于,所述步骤S2中,对数据进行预处理,依据预报值、实况值和对应时间形成样本数据集,将其进一步划分为训练集和测试集并确定模型最终的输入,具体包括:
步骤S2.1、将步骤S1中的两组数据集中的数据进行缺失值处理、错误值更正,并根据模型构建所需重新构建样本数据集,该数据集包含:预报依据时间、预报时间、预报水位值、实况水位值及对应的误差值,误差数据集整理完毕后对其进行归一化处理,采用的归一化公式如下:
其中,x(t)是样本数据,n(t)为输入样本;
步骤S2.2、将误差数据集划分为训练数据集L和测试数据集T的方法为:样本数据集的前70%作为训练数据集L,余下的30%数据作为测试数据集T;
4.根据权利要求1所述的基于XGBoost的水文预报误差校正方法,其特征在于,所述步骤S3中,采用SPGA优化算法对XGBoost的学习率lr、弱学习器个数n_estimators、惩罚项系数gamma、决策树最大深度max_depth这四项超参进行优化,具体包括:
步骤S3.1、初始化XGBoost模型的学习率lr、弱学习器个数n_estimators、惩罚项系数gamma、决策树最大深度max_depth参数的取值范围;
步骤S3.2、初始化M个子群,每个子群中粒子的染色体就相当于一组XGBoost的参数(lr,n_estimators,gamma,max_depth),初始化SPGA算法中最大迭代次数Tmax、变异概率、交叉概率、惯性权重ω、学习因子c1、c2及模拟退火初始温度T;
步骤S3.3、对一组参数进行编码并进行计算个体适应度值,即XGBoost模型的均方根误差RMSE,根据适应度值继续对种群进行筛选;
步骤S3.4、判断是否满足终止条件,若达到最大迭代次数Tmax则终止迭代并用该适应度值最佳的最优解作为模型参数进行XGBoost误差校正模型的建立,否则进入步骤S3.5;
步骤S3.5、对个体进行解码,把解码参数代入训练与测试样本,计算得到每个个体的适应度值;
步骤S3.6、更新种群最优个体和历史最优个体,分别用一个变量把每个个体的当前解码后的值保留下来,把每一代的最优解也用单独的变量保留下来,从第二代迭代开始,如果产生的新个体的适应度值比前一次保留的个体的适应度值大,则把新个体存储在变量中并替换前一代的个体,否则不替换,同样地,如果这一代的历史最优个体适应度值比前一代的大,则更新每一代的最优解,否则不更新;
步骤S3.7、用赌轮盘算法进行选择,即按照适应度值对应的选择概率进行随机选取,直到选出满足设定数量的个体数;
步骤S3.8、种群交叉;然后进行变异,在变异之前要先解码,在变异完成之后再重新编码;
步骤S3.9、判断是否满足模拟退火的SA判断函数,若满足,则说明种群进化到了后期趋于同一,进行模拟退火操作,否则直接转步骤S3.4、。
5.根据权利要求4所述的基于XGBoost的水文预报误差校正方法,其特征在于,所述的粒子变异过程引入PSO公式作为变异算子,让种群内个体可以根据自身迄今最优解和种群内最优解以及个体进化的速度来确定变异的方向和幅度,使变异操作具有方向指导作用,不再是简单的随机变异;并且将模拟退火算法SA融入GA中,通过阈值判断是否保留最优解;
变异的具体操作是:用代替粒子群中的第i个粒子在D维空间的位置xid,用历史最优个体代替粒子群算法中的个体最佳位置pbestid;用种群最优代替全局最优位置gbestid;用的累计差的算数平均来代替vid,其中的累计差由下式求得:
引入的粒子群算法的粒子更新公式为:
引入的SA判断函数具体为:
fave-fmin<a
通过该式来判断是否执行SA操作,其中fave表示种群中平均适应度值,fmin表示种群中最优个体所对应的适应度值,a为判断种群趋于稳定时的阈值a。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210234577.3A CN114580762A (zh) | 2022-03-10 | 2022-03-10 | 一种基于XGBoost的水文预报误差校正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210234577.3A CN114580762A (zh) | 2022-03-10 | 2022-03-10 | 一种基于XGBoost的水文预报误差校正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114580762A true CN114580762A (zh) | 2022-06-03 |
Family
ID=81781087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210234577.3A Pending CN114580762A (zh) | 2022-03-10 | 2022-03-10 | 一种基于XGBoost的水文预报误差校正方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114580762A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757098A (zh) * | 2023-08-17 | 2023-09-15 | 厦门大学 | 一种基于swat模型多目标优化的自动化校验方法 |
TWI832767B (zh) * | 2023-05-19 | 2024-02-11 | 逢甲大學 | 水文資料分析方法及水文資料分析系統 |
CN117973236A (zh) * | 2024-04-01 | 2024-05-03 | 北京适创科技有限公司 | 一种对仿真结果的校正方法、系统、设备及存储介质 |
CN118070928A (zh) * | 2024-02-18 | 2024-05-24 | 淮阴工学院 | 一种工业过程关键性指标软测量建模方法 |
-
2022
- 2022-03-10 CN CN202210234577.3A patent/CN114580762A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI832767B (zh) * | 2023-05-19 | 2024-02-11 | 逢甲大學 | 水文資料分析方法及水文資料分析系統 |
CN116757098A (zh) * | 2023-08-17 | 2023-09-15 | 厦门大学 | 一种基于swat模型多目标优化的自动化校验方法 |
CN116757098B (zh) * | 2023-08-17 | 2023-11-10 | 厦门大学 | 一种基于swat模型多目标优化的自动化校验方法 |
CN118070928A (zh) * | 2024-02-18 | 2024-05-24 | 淮阴工学院 | 一种工业过程关键性指标软测量建模方法 |
CN117973236A (zh) * | 2024-04-01 | 2024-05-03 | 北京适创科技有限公司 | 一种对仿真结果的校正方法、系统、设备及存储介质 |
CN117973236B (zh) * | 2024-04-01 | 2024-07-05 | 北京适创科技有限公司 | 一种对仿真结果的校正方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112733996B (zh) | 基于GA-PSO优化XGBoost的水文时间序列预测方法 | |
CN114580762A (zh) | 一种基于XGBoost的水文预报误差校正方法 | |
CN105354646B (zh) | 一种混合粒子群优化与极限学习机的电力负荷预测方法 | |
CN108009674A (zh) | 基于cnn和lstm融合神经网络的空气pm2.5浓度预测方法 | |
CN113468803B (zh) | 一种基于改进的woa-gru洪水流量预测方法及系统 | |
He et al. | Research on a novel combination system on the basis of deep learning and swarm intelligence optimization algorithm for wind speed forecasting | |
CN116596044B (zh) | 基于多源数据的发电负荷预测模型训练方法及装置 | |
CN109697512B (zh) | 基于贝叶斯网络的个人数据分析方法及计算机存储介质 | |
CN109214503B (zh) | 基于kpca-la-rbm的输变电工程造价预测方法 | |
CN107346459B (zh) | 一种基于遗传算法改进的多模式污染物集成预报方法 | |
CN110837915B (zh) | 一种基于混合集成深度学习的电力系统低压负荷点预测及概率预测方法 | |
CN110674965A (zh) | 基于动态特征选取的多时间步长风功率预测方法 | |
CN113743538A (zh) | 基于ipso-bp神经网络的智能楼宇能耗预测方法、设备和介质 | |
CN110020712A (zh) | 一种基于聚类的优化粒子群bp网络预测方法和系统 | |
CN116187835A (zh) | 一种基于数据驱动的台区理论线损区间估算方法及系统 | |
CN113221447A (zh) | 一种基于改进遗传算法优化bp神经网络的土壤湿度预测方法 | |
Gao et al. | A multifactorial framework for short-term load forecasting system as well as the jinan’s case study | |
CN110516792A (zh) | 基于小波分解和浅层神经网络的非平稳时间序列预测方法 | |
CN117808214A (zh) | 水利工程数据分析系统 | |
CN110298506A (zh) | 一种城市建设水平预测系统 | |
CN112749211A (zh) | 一种基于电力大数据的茶叶产量预测新方法 | |
CN116865232A (zh) | 一种基于风速误差修正的中长期风电功率预测方法及系统 | |
CN102663230A (zh) | 一种基于遗传算法的土地资源评价因子级别划分方法 | |
CN113807005B (zh) | 基于改进fpa-dbn的轴承剩余寿命预测方法 | |
CN114783548A (zh) | 基于arima和改进鸡群算法的水质预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
DD01 | Delivery of document by public notice |
Addressee: Zhang Jiajia Document name: Notification on Qualification of Preliminary Examination of Invention Patent Application Addressee: Zhang Jiajia Document name: Notice of Publication of Patent Application for Invention |
|
DD01 | Delivery of document by public notice |