CN114580762A - 一种基于XGBoost的水文预报误差校正方法 - Google Patents

一种基于XGBoost的水文预报误差校正方法 Download PDF

Info

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
Application number
CN202210234577.3A
Other languages
English (en)
Inventor
万定生
张甲甲
余宇峰
朱跃龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN202210234577.3A priority Critical patent/CN114580762A/zh
Publication of CN114580762A publication Critical patent/CN114580762A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • G06Q50/265Personal security, identity or safety
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling 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的水文预报误差校正方法
技术领域
本发明涉及水文模型预报误差校正技术,具体涉及一种基于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中的两组数据集中的数据进行缺失值处理、错误值更正,并根据模型构建所需重新构建样本数据集,该数据集包含:预报依据时间、预报时间、预报水位值、实况水位值及对应的误差值,误差数据集整理完毕后对其进行归一化处理,采用的归一化公式如下:
Figure BSA0000268264100000021
其中,x(t)是样本数据,n(t)为输入样本;
步骤S2.2、将误差数据集划分为训练数据集L和测试数据集T的方法为:样本数据集的前70%作为训练数据集L,余下的30%数据作为测试数据集T;
步骤S2.3、设
Figure BSA0000268264100000022
为第n次实时预报预见期j的预报误差,tn为第n次实时预报的预报时间;误差序列长度经逐步回归确定为
Figure BSA0000268264100000023
用前3次水文预报得到的误差序列来预测预见期j的水文预报值的误差。
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公式作为变异算子,让种群内个体可以根据自身迄今最优解和种群内最优解以及个体进化的速度来确定变异的方向和幅度,使变异操作具有方向指导作用,不再是简单的随机变异。变异的具体操作是:用
Figure BSA0000268264100000031
代替粒子群中的第i个粒子在D维空间的位置xid,用历史最优个体
Figure BSA0000268264100000032
代替粒子群算法中的个体最佳位置pbestid;用种群最优
Figure BSA0000268264100000033
代替全局最优位置gbestid;用
Figure BSA0000268264100000034
的累计差的算数平均
Figure BSA0000268264100000035
来代替vid,其中
Figure BSA0000268264100000036
的累计差由下式求得:
Figure BSA0000268264100000041
引入的粒子群算法的粒子更新公式为:
Figure BSA0000268264100000042
其中第一部分通过权重因子c1,c2和随机数r1,r2以及信息反馈
Figure BSA0000268264100000043
预测了变异的幅度和方向;第二部分则具体实施了变异操作。
步骤S3.9、判断是否满足模拟退火的SA判断函数,若满足,则说明种群进化到了后期趋于同一,进行模拟退火操作,否则直接转步骤S3.4、。
引入的SA判断函数具体为:
fave-fmin<a
通过该式来判断是否执行SA操作。其中fave表示种群中平均适应度值,fmin表示种群中最优个体所对应的适应度值,a为判断种群趋于稳定时的阈值a。
所述步骤S4中的XGBoost是一个树集成模型,内部的决策树使用的是回归树,所述步骤S4进一步为:
XGBoost可以自定义模型的损失函数:
Figure BSA0000268264100000044
其中,
Figure BSA0000268264100000045
为损失函数,度量预测值
Figure BSA0000268264100000046
与实际值yi之间的差距;K表示模型中包含的决策树个数;
Figure BSA0000268264100000047
为正则项,式中γ为分割叶子节点的收益函数的惩罚常数,T为叶子节点个数,λ为L2正则项惩罚函数系数。
第t轮模型即第i个样本在第t次训练中的预测值为:
Figure BSA0000268264100000048
第t次训练模型的简化的目标函数为:
Figure BSA0000268264100000049
式中,
Figure BSA00002682641000000410
为损失函数的一阶导数,
Figure BSA00002682641000000411
为损失函数的二阶导数。
有益效果:本发明提供的一种基于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中的两组数据集中的数据进行缺失值处理、错误值更正,并根据模型构建所需重新构建样本数据集,该数据集包含:预报依据时间、预报时间、预报水位值、实况水位值及对应的误差值。误差数据集整理完毕后对其进行归一化处理,采用的归一化公式如下:
Figure BSA0000268264100000051
其中,x(t)是样本数据,n(t)为输入样本。
步骤S2.2、将样本数据集划分为训练数据集L和测试数据集T的方法为:样本数据集的约前70%共767条数据作为训练数据集L,余下的30%数据共329条作为测试数据集T。
步骤S2.3、重新构建好的误差数据集中均为预见期为6h的数据,误差序列长度经逐步回归确定为
Figure BSA0000268264100000061
用前3次水文预报得到的误差序列来预测预见期j的水文预报值的误差。
步骤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、种群交叉;然后进行变异。在变异之前要先解码,在变异完成之后再重新编码;
变异的具体操作是:用
Figure BSA00002682641000000714
代替粒子群中的第i个粒子在D维空间的位置xid,用历史最优个体
Figure BSA0000268264100000071
代替粒子群算法中的个体最佳位置pbestid;用种群最优
Figure BSA0000268264100000072
代替全局最优位置gbestid;用
Figure BSA0000268264100000073
的累计差的算数平均
Figure BSA0000268264100000074
来代替vid,其中
Figure BSA0000268264100000075
的累计差由下式求得:
Figure BSA0000268264100000076
引入的粒子群算法的粒子更新公式为:
Figure BSA0000268264100000077
其中第一部分通过权重因子c1,c2和随机数r1,r2以及信息反馈
Figure BSA0000268264100000078
预测了变异的幅度和方向;第二部分则具体实施了变异操作。
步骤S3.9、判断是否满足模拟退火的SA判断函数,若满足,则说明种群进化到了后期趋于同一,进行模拟退火操作,否则直接转S3.4;
引入的SA判断函数具体为:
fave-fmin<a
通过该式来判断是否执行SA操作。其中fave表示种群中平均适应度值,fmin表示种群中最优个体所对应的适应度值,a为判断种群趋于稳定时的阈值a。
步骤S4、对所述SPGA优化的XGBoost预报误差校正模型进行测试。
设SPGA优化的XGBoost水文时间序列预测模型的损失函数如下:
Figure BSA0000268264100000079
其中,
Figure BSA00002682641000000710
为损失函数,度量预测值
Figure BSA00002682641000000711
与实际值yi之间的差距;K表示模型中包含的决策树个数;
Figure BSA00002682641000000712
为正则项,式中γ为分割叶子节点的收益函数的惩罚常数,M为叶子节点个数,λ为L2正则项惩罚函数系数;
第j轮模型即第i个样本在第j次训练中的预测值为:
Figure BSA00002682641000000713
第j次训练模型的简化的目标函数为:
Figure BSA0000268264100000081
式中,
Figure BSA0000268264100000082
为损失函数的一阶导数,
Figure BSA0000268264100000083
为损失函数的二阶导数。
本实施例中,经SPGA优化算法优化过参数的XGBoost模型在预见期为6h时最佳参数为:lr=0.446、n_estimators=122、gamma=0.014、max_depth=4;
使用该最优模型对螺山的预测水位值产生的误差进行预测,从而达到校正目的。将螺山的实况水位、大湖演算模型得到的预报值及校正后的预报值三者进行对比,最终的对比结果如下图3所示,对预测结果的评价指标采用RMSE,R2两种,计算公式如下:
Figure BSA0000268264100000084
Figure BSA0000268264100000085
式中,yi为实测值,
Figure BSA0000268264100000086
为预报值,
Figure BSA0000268264100000087
为平均值,n为样本个数。
下表展示预见期为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中的两组数据集中的数据进行缺失值处理、错误值更正,并根据模型构建所需重新构建样本数据集,该数据集包含:预报依据时间、预报时间、预报水位值、实况水位值及对应的误差值,误差数据集整理完毕后对其进行归一化处理,采用的归一化公式如下:
Figure FSA0000268264090000011
其中,x(t)是样本数据,n(t)为输入样本;
步骤S2.2、将误差数据集划分为训练数据集L和测试数据集T的方法为:样本数据集的前70%作为训练数据集L,余下的30%数据作为测试数据集T;
步骤S2.3、设
Figure FSA0000268264090000012
为第n次实时预报预见期j的预报误差,tn为第n次实时预报的预报时间;误差序列长度经逐步回归确定为
Figure FSA0000268264090000013
用前3次水文预报得到的误差序列来预测预见期j的水文预报值的误差。
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中,通过阈值判断是否保留最优解;
变异的具体操作是:用
Figure FSA0000268264090000021
代替粒子群中的第i个粒子在D维空间的位置xid,用历史最优个体
Figure FSA0000268264090000022
代替粒子群算法中的个体最佳位置pbestid;用种群最优
Figure FSA0000268264090000023
代替全局最优位置gbestid;用
Figure FSA0000268264090000024
的累计差的算数平均
Figure FSA0000268264090000025
来代替vid,其中
Figure FSA0000268264090000026
的累计差由下式求得:
Figure FSA0000268264090000031
引入的粒子群算法的粒子更新公式为:
Figure FSA0000268264090000032
其中第一部分通过权重因子c1,c2和随机数r1,r2以及信息反馈
Figure FSA0000268264090000033
预测了变异的幅度和方向;第二部分则具体实施了变异操作;
引入的SA判断函数具体为:
fave-fmin<a
通过该式来判断是否执行SA操作,其中fave表示种群中平均适应度值,fmin表示种群中最优个体所对应的适应度值,a为判断种群趋于稳定时的阈值a。
6.根据权利要求1所述的步骤S4中的基于XGBoost的水文预报误差校正方法,其特征在于,XGBoost是一个树集成模型,内部的决策树使用的是回归树,可以自定义模型的损失函数:
Figure FSA0000268264090000034
其中,
Figure FSA0000268264090000035
为损失函数,度量预测值
Figure FSA0000268264090000036
与实际值yi之间的差距;K表示模型中包含的决策树个数;
Figure FSA0000268264090000037
为正则项,式中γ为分割叶子节点的收益函数的惩罚常数,T为叶子节点个数,λ为L2正则项惩罚函数系数,
第t轮模型即第i个样本在第t次训练中的预测值为:
Figure FSA0000268264090000038
第t次训练模型的简化的目标函数为:
Figure FSA0000268264090000039
式中,
Figure FSA00002682640900000310
为损失函数的一阶导数,
Figure FSA00002682640900000311
为损失函数的二阶导数,
用训练好的基于SPGA优化的XGBoost的预报误差校正模型进行测试。
CN202210234577.3A 2022-03-10 2022-03-10 一种基于XGBoost的水文预报误差校正方法 Pending CN114580762A (zh)

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)

* Cited by examiner, † Cited by third party
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 淮阴工学院 一种工业过程关键性指标软测量建模方法

Cited By (6)

* Cited by examiner, † Cited by third party
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