CN117407802A - 一种基于改进深度森林模型径流预测方法 - Google Patents
一种基于改进深度森林模型径流预测方法 Download PDFInfo
- Publication number
- CN117407802A CN117407802A CN202311212665.4A CN202311212665A CN117407802A CN 117407802 A CN117407802 A CN 117407802A CN 202311212665 A CN202311212665 A CN 202311212665A CN 117407802 A CN117407802 A CN 117407802A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- models
- prediction
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012549 training Methods 0.000 claims abstract description 135
- 238000003066 decision tree Methods 0.000 claims abstract description 45
- 238000007637 random forest analysis Methods 0.000 claims abstract description 33
- 238000012795 verification Methods 0.000 claims abstract description 21
- 238000012360 testing method Methods 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims description 23
- 238000002790 cross-validation Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000012804 iterative process Methods 0.000 claims description 3
- 238000013138 pruning Methods 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 25
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 8
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Classifications
-
- 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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Evolutionary Biology (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Water Supply & Treatment (AREA)
- Public Health (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于改进深度森林模型径流预测方法,包括以下步骤:收集径流数据数据,并将其分为训练集和测试集;采用通过引入XGBoost、随机森林(RF)、梯度提升决策树(GBDT)和Adaboost子模型作为深度森林基础模型,进行优化,从而增加模型的多样性和鲁棒性,并通过引入交叉验证技术,将训练数据集划分为多个部分,在每个部分上训练并评估不同的子模型,通过计算性能指标,对子模型的预测结果进行赋权,以提高整体预测的准确性;为防止模型出现过拟合问题,同时引入正则化调节技术,以适应不同的特征选择和过拟合程度;基于训练集,使用改进后的深度森林模型进行模型训练。本发明实现兼顾模型的准确性和泛化能力,提高了径流预测的精度和效率。
Description
技术领域
本发明涉及水资源管理和水文预测领域,涉及一种基于改进深度森林模型径流预测方法。
背景技术
在水资源管理和生态环境保护领域,准确预测径流变化对于合理规划水资源利用和防洪减灾具有重要意义。传统的径流预测方法主要依赖于物理模型,但这些物理模型通常需要大量的参数和复杂的计算过程,并且对于复杂地貌和气象条件的预测效果不佳。因此,基于机器学习的径流预测方法成为研究的热点之一。
近年来,随着机器学习算法的快速发展,使用机器学习模型进行径流预测逐渐得到了广泛应用。其中,常用的机器学习模型包括XGBoost、RF、GBDT和Adaboost等。这些模型通过对历史径流数据和相关气象要素进行学习,可以捕捉到数据中的非线性关系和复杂的时空特征,从而提高径流预测的准确性。
然而,单个机器学习模型在径流预测中存在一些局限性。首先,不同模型具有不同的优势和劣势,单一模型往往难以充分利用数据的信息。其次,机器学习模型通常需要调整参数,而传统的静态参数调整方法往往无法充分考虑到数据的变化和模型之间的相关性。
发明内容
针对单一模型往往难以充分利用数据信息的问题,本发明提供一种将XGBoost、RF、GBDT和Adaboost等模型作为子模型组合起来使用的基于改进深度森林模型径流预测方法。
本发明解决其技术问题所采用的方案是:一种基于改进深度森林模型径流预测方法,包括以下步骤:
步骤一、收集径流相关数据,并将相关数据分为训练集和测试集;
步骤二、构建深度森林模型,对XGBoost、随机森林RF、梯度提升决策树GBDT和Adaboost四个子模型进行训练,并根据子模型表现进行赋权,通过四个子模型完成构建深度森林模型;
步骤三、引入正则化方法,防止深度森林模型过拟合训练数据,提高深度森林模型的泛化能力和稳定性;
步骤四、利用训练集数据进行深度森林模型训练,训练后的深度森林模型利用测试集数据进行预测,确保深度森林模型预测效果准确;
步骤五、评估深度森林模型的预测效果,根据评估结果,判断深度森林模型预测效果准确,或是对深度森林模型作进一步优化或调整。
其中,步骤一进行径流数据搜集并将径流数据按照8:2的比例划分为训练集和测试集。
其中,步骤二所述的子模型包括XGBoost、随机森林(RF)、梯度提升决策树(GBDT)和Adaboost子模型,通过训练集的径流数据对上述子模型进行训练,确保径流数据训练集的特征和标签之间的对应关系正确。
其中,XGBoost模型训练过程包括:
A1、建立XGBoost模型的集成模型,其表达公式如下
式中:为第t轮的模型预测结果,K表示模型所包含树的量,fk为模型中所包含的第k棵决策树所对应的结构q与叶子权重ω的数量相关关系,Xi是模型中第i棵决策树所代表的特征,F是模型所包含决策树所在的空间;
A2、建立目标函数公式,所述公式如下
式中:为训练误差,T表示子叶的数量,γ为惩罚力度,ω为叶子权重;
A3、利用正则化对XGBoost模型的算法进行迭代更新目标函数,以此减少来自局部的最优解,避免XGBoost模型出现过拟合现象;
所述通过正则化进行迭代更新后的目标函数为:
A4、对目标函数公式(4)进行二阶泰勒展开寻求目标函数,其在f=0处进行展开为
A5、将公式(5)对损失函数求和,得到目标函数为
A6、通过上述步骤将设定的目标函数转换为一元二次方程,
对现有变换后的目标函数进行寻找最优的ω值和函数值。
所述RF随机森林模型训练过程包括:
选取径流数据训练集中N个训练用例(样本),其对应的特征数目M,利用上述N个训练用例和对应的特征数目M进行随机森林模型的构建,其过程如下:
B1、从特征数目M选取特征数目m输入,用于确定决策树上一个节点的决策结果,其中m应远小于M;
B2、从N个训练用例中以有放回抽样的方式取样N次形成一个训练集合,并用未抽到的训练用例作预测,用于评估随机森林模型的误差;
B3、对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的,根据m个特征,计算其最佳的分裂方式;
B4、每棵决策树完整成长而不剪枝,并采用构建正常树状分类器的决策树;
B5、重复步骤B1-B4构建另外一棵决策树,直到达到预定数目的决策树为止,即完成随机森林模型的构建。
将径流数据训练集作为该模型的训练数据,所述GBDT模型训练过程包括:
C1、初始化模型:将初始预测值设置为径流数据训练集的平均值;
C2、迭代训练:通过迭代的方式,逐步改进模型的预测能力,所述迭代过程包括:
C2-1、计算残差:计算当前模型的预测值与实际值之间的残差;
C2-2、训练新的决策树:使用残差作为目标值,训练一个新的决策树模型;
C2-3更新模型:将新的决策树模型与之前的模型进行加权组合,得到更新后的模型;
C3、重复迭代:重复步骤C2,直到达到预定的迭代次数或模型性能满足要求;
C4、得到最终模型:将所有迭代得到的决策树模型进行加权组合,得到最终的GBDT模型。
所述Adaboost模型训练过程为:
首先定义一个弱分类器h(x),设xi在第t个弱分类器上的权重为N是数据样本的个数,训练该Adaboost模型训练的具体步骤如下:
D1、初始化训练样本的权重,使其均匀分布,在第1个弱分类器上所有数据点的权重保持一致,即
D2、在第t步,创建或选择最小化当前错误率∈的弱分类器,并添加该弱分类器以降低错误率,并计算αt,该αt指第t个弱分类器上的权重
定义一个新的弱学习器
D3、计算新的数据样本权重
D4、循环步骤D2直至收敛;
D5、得到
为最终模型。
进一步,步骤二中根据四种不同子模型在选取训练集交叉验证中的表现对其进行赋权,不同模型预测结果通过权重融合,从而获取最终预测结果。
所述赋权步骤包括:
S21、对于每个子模型,在训练数据上进行交叉验证,使用KFold方法将训练数据划分为5个折叠,并对每个子模型进行循环遍历;
S22、在每次交叉验证中,将训练集分成训练子集和验证子集,在训练子集上拟合模型并在验证子集上进行预测;计算预测结果与真实值之间的R2得分,并将得分添加到r2_list列表中;
S23、将每个子模型在所有交叉验证折数中计算得到的R2得分求平均,得到该模型的权重;然后将所有子模型的权重进行归一化,确保权重的总和为1。
进一步,步骤二中对四个子模型赋予权重,并通过加权求和来生成最终的预测,具体步骤包括:
S2-1、定义子模型;
S2-2、对子模型进行交叉验证,计算其对应的权重;
S2-3、定义深度森林模型函数deep_forest(X);
S2-4、引入正则化方法;
S2-5、使用交叉验证训练和预测;
S2-6、计算训练集和测试集的R-squared评分。
其中,步骤三中正则化是通过对每个子模型的权重进行Elastic Net正则化来实现的,其过程包括:
S31、创建了一个ElasticNet回归模型enet,然后使用子模型的预测结果y_pred作为目标变量,特征矩阵X作为输入进行训练,通过调整alpha参数控制正则化强度和L1与L2正则化之间的平衡;
S32、在训练完成后,使用enet.predict(X)对特征矩阵X进行预测,得到正则化后的子模型预测结果y_pred;最后,将该预测结果乘以相应子模型的权重,并将其存储在preds列表。
所述步骤四中,使用训练集对深度森林模型进行训练,并使用交叉验证进行模型选择和调优,根据需要调整深度森林模型的超参数,和ElasticNet的alpha参数,所述超参数包括深度和节点数;在模型训练过程中采用串联训练,通过串联多个深度森林模型,从而结合不同模型的优势,进一步提高整体模型的准确性和泛化能力;深度森林模型在不同的数据集或任务上表现不同,通过串联训练融合多个深度森林模型的预测结果,得到更准确的最终预测;在径流预测中,将数据得输入变量和输出变量导入模型中,以此使用子模型进行串联训练,以此来提升模型精度;最后进行模型预测,使用训练好的深度森林模型对新径流数据样本进行预测,将新样本输入到深度森林模型中,得到最终的输出结果。
其中,步骤五中对改进后的深度森林模型进行评估,使用均方根误差RMSE,利用绝对平均误差MAE来衡量模型在测试数据上的性能。
本发明的有益效果:本发明的目的在于提供一种基于改进深度森林模型的径流预测方法,在径流预测领域具有广泛应用,将XGBoost、RF、GBDT和Adaboost等模型作为子模型组合起来使用,通过引入交叉验证,对子模型进行赋权,可以动态地调整子模型的权重,从而更好地适应不同数据和环境条件,同时,本发明还使用Elastic Net正则化方法对深度森林模型进行正则化,提高模型的泛化能力和稳定性。
本发明的有益作用主要体现在以下几个方面:
提高预测准确性:通过引入多个强大的子模型,如XGBoost、RF、GBDT和Adaboost等,深度森林模型能够充分利用不同算法的优势,每个子模型都以其独特的方式捕捉数据中的模式和关联性,从而提高了预测的准确性。通过交叉验证对子模型进行赋权,可以更好地平衡各个模型之间的贡献,进一步提高了整体预测的准确性。
增强模型的鲁棒性:深度森林模型的组合结构使得它具有较强的鲁棒性。如果某个子模型在特定情况下表现不佳,其他子模型可以弥补其不足,保证整体预测的稳定性。这种集成方法有助于减少由于单一模型的局限性而引起的预测偏差,并提高了模型对不同数据分布和噪声的适应能力。
有效控制过拟合:本发明采用Elastic Net正则化技术,通过结合L1和L2正则化项,实现对模型复杂度的控制。这种正则化方法能够有效地抑制过拟合现象,避免模型在训练集上过多地学习噪声和异常值,从而提高了模型的泛化能力和稳定性。
广泛的适用性:深度森林模型径流预测方法可以广泛应用于水文学、气象学和环境科学等领域。通过其集成的方式和灵活的组合结构,该方法能够适应不同类型的水文数据和预测任务,包括河流径流量预测、洪水预警和水资源管理等。同时,该方法还可根据实际需求进行扩展和改进,以满足特定问题的预测要求。
本发明提出的改进深度森林模型径流预测方法,通过引入交叉验证赋权和Elastic Net正则化技术,具有提高预测准确性、增强模型鲁棒性、控制过拟合以及广泛适用等优点。该方法为径流预测领域的研究和应用带来了新的思路和解决方案,对于水资源管理、洪水预警和环境保护等方面具有重要的实际意义和潜在应用价值。
附图说明
图1是基于改进深度森林模型的径流预测训练集和测试集效果图。
图2是基于改进深度森林模型的径流预测方法框视图。
具体实施方式
实施例1:本发明的目的在于提供一种基于改进深度森林模型的径流预测方法,在径流预测领域具有广泛应用,将XGBoost、RF、GBDT和Adaboost等模型作为子模型组合使用,通过引入交叉验证,对子模型进行赋权,可以动态地调整子模型的权重,从而更好地适应不同数据和环境条件,解决单个机器学习模型在径流预测中存在的局限性,以及单一模型难以充分利用相关数据信息的问题。
如图2所示,本发明所述的基于改进深度森林模型径流预测方法,具体包括以下步骤:
首先,收集相关径流数据信息,径流数据是指流经某一点或流域的水流量数据,通常用于研究水文、水资源管理、洪水预测和水电站调度等领域,径流数据的主要指标包括流量、水位、降雨量等。
将该径流数据按照8:2的比例分为训练集和测试集,利用训练集的数据信息进行相关模型的学习训练,并最终实现相关模型的完善优化;通过测试集的相关数据信息对模型进行测试评估,验证模型预测结果的有效和准确性。
利用训练集数据对构成改进深度森林模型的四个子模型进行训练,四个子模型分别为XGBoost(极端梯度提升)、随机森林(RF)、梯度提升决策树(GBDT)和Adaboost(自适应增强)。
其中,XGBoost模型训练过程包括:
A1、建立XGBoost模型的集成模型,集成模型如公式(1)所示
式中:为第t轮的模型预测结果,K表示模型所包含树的量,fk为模型中所包含的第k棵决策树所对应的结构q与叶子权重ω的数量相关关系,Xi是模型中第i棵决策树所代表的特征,F是模型所包含决策树所在的空间;
A2、建立目标函数公式,目标函数如公式(2)、(3),
式中:为训练误差,T表示子叶的数量,γ为惩罚力度,ω为叶子权重;
A3、利用正则化对XGBoost模型的算法进行迭代更新目标函数,以此减少来自局部的最优解,避免XGBoost模型出现过拟合现象;
所述通过正则化进行迭代更新后的目标函数为:
A4、对目标函数公式(4)进行二阶泰勒展开寻求目标函数,故在f=0处进行展开
A5、将公式(5)对损失函数求和,得到目标函数为
A6、通过上述步骤将设定的目标函数转换为一元二次方程,如公式(7)和公式(8),
对现有变换后的目标函数进行寻找最优的ω值和函数值。
所述RF随机森林模型训练过程包括:
选取径流数据训练集中N个训练用例(样本),其对应的特征数目M,利用上述N个训练用例和对应的特征数目M进行随机森林模型的构建,其过程如下:
B1、从特征数目M选取特征数目m输入,用于确定决策树上一个节点的决策结果,其中m应远小于M;
B2、从N个训练用例中以有放回抽样的方式取样N次形成一个训练集合,并用未抽到的训练用例作预测,用于评估随机森林模型的误差;
B3、对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的,根据m个特征,计算其最佳的分裂方式;
B4、每棵决策树完整成长而不剪枝,并采用构建正常树状分类器的决策树;
B5、重复步骤B1-B4构建另外一棵决策树,直到达到预定数目的决策树为止,即完成随机森林模型的构建。
将径流数据训练集作为该模型的训练数据,所述GBDT模型训练过程包括:
C1、初始化模型:将初始预测值设置为径流数据训练集的平均值;
C2、迭代训练:通过迭代的方式,逐步改进模型的预测能力,所述迭代过程包括:
C2-1、计算残差:计算当前模型的预测值与实际值之间的残差;
C2-2、训练新的决策树:使用残差作为目标值,训练一个新的决策树模型;
C2-3更新模型:将新的决策树模型与之前的模型进行加权组合,得到更新后的模型;
C3、重复迭代:重复步骤C2,直到达到预定的迭代次数或模型性能满足要求;
C4、得到最终模型:将所有迭代得到的决策树模型进行加权组合,得到最终的GBDT模型。
所述Adaboost模型训练过程为:
首先定义一个弱分类器h(x),设xi在第t个弱分类器上的权重为N是数据样本的个数,训练该Adaboost模型训练的具体步骤如下:
D1、初始化训练样本的权重,使其均匀分布,在第1个弱分类器上所有数据点的权重保持一致,即
D2、在第t步,创建或选择最小化当前错误率∈的弱分类器,并添加该弱分类器以降低错误率,并计算αt,该αt指第t个弱分类器上的权重
定义一个新的弱学习器
D3、计算新的数据样本权重
D4、循环步骤D2直至收敛;
D5、得到
为最终模型。
在四种子模型训练后,根据四种不同子模型在选取训练集在交叉验证中的表现,根据表现对其进行权重分配。不同模型预测结果通过权重融合,从而获取最终预测结果。
其赋权步骤如下:
S21,对于每个子模型,在训练数据上进行交叉验证。这里使用KFold方法将训练数据划分为5个折叠,并对每个子模型进行循环遍历。
S22,在每次交叉验证中,将训练集分成训练子集和验证子集,在训练子集上拟合模型并在验证子集上进行预测。计算预测结果与真实值之间的R2得分,并将得分添加到一个列表(r2_list)中。
S23,对于每个子模型,将其在所有交叉验证折数中计算得到的R2得分求平均,得到该模型的权重。然后将所有子模型的权重进行归一化,使它们之和等于1,以确保权重的总和为1。
利用上述四个被赋权的子模型构建改进深度森林模型,所述改进深度森林模型由四个子模型组成:Random Forest(随机森林)、XGBoost、Gradient Boosting和AdaBoost。这些子模型被赋予权重,并通过加权求和来生成最终的预测。四个子模型通过加权求和生成最终的预测的过程包括:
S2-1、定义子模型;
S2-2、对子模型进行交叉验证,计算其对应的权重;
S2-3、定义深度森林模型函数deep_forest(X);
S2-4、引入正则化方法;
S2-5、使用交叉验证训练和预测;
S2-6、计算训练集和测试集的R-squared评分。
在构建的改进深度森林模型中正则化方法,正则化是一种用于控制机器学习模型复杂度的方法,旨在防止模型过拟合训练数据。正则化通过在损失函数中引入额外的惩罚项,来限制模型参数的大小或复杂度。
本发明引入的正则化是通过对每个子模型的权重进行Elastic Net正则化来实现的,Elastic Net正则化是L1正则化和L2正则化的结合,通过同时引入L1和L2惩罚项来平衡稀疏性和平滑性。Elastic Net正则化可以更好地处理具有高度相关特征的数据集。
其具体过程包括:
S31、创建了一个ElasticNet回归模型enet,然后使用子模型的预测结果y_pred作为目标变量,特征矩阵X作为输入进行训练,通过调整alpha参数控制正则化强度和L1与L2正则化之间的平衡;
S32、在训练完成后,使用enet.predict(X)对特征矩阵X进行预测,得到正则化后的子模型预测结果y_pred;最后,将该预测结果乘以相应子模型的权重,并将其存储在preds列表。
对引入正则化方法的改进深度森林模型,使用训练数据对其进行训练,并使用交叉验证进行模型选择和调优。根据需要调整深度森林模型的超参数(如深度、节点数等)和ElasticNet的alpha参数。
在模型训练过程中采用串联训练,通过串联多个深度森林模型,可以结合不同模型的优势,进一步提高整体模型的准确性和泛化能力。每个深模型可能在不同的数据集或任务上表现较好,通过串联训练,可以融合多个模型的预测结果,得到更准确的最终预测。在径流预测中,将数据得输入变量和输出变量导入模型中,以此使用以上子模型进行串联训练,以此来提升模型精度。
最后进行模型预测:使用训练好的深度森林模型对新径流数据样本进行预测。将新样本输入到深度森林模型中,得到最终的输出结果。
根据模型预测结果,如图1所示径流预测训练集和测试集效果图,对改进后的深度森林模型进行评估,可以使用均方根误差(RMSE),绝对平均误差(MAE)来衡量模型在测试数据上的性能。根据评估结果,可以进一步优化模型或进行调整,已达到提高了模型的预测准确性和稳定性的目的。
本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于改进深度森林模型径流预测方法,其特征在于,步骤一:收集径流相关数据,并将相关数据分为训练集和测试集;
步骤二:构建深度森林模型,对XGBoos t、随机森林RF、梯度提升决策树GBDT和Adaboost四个子模型进行训练,并根据子模型表现进行赋权,通过四个子模型完成构建深度森林模型;
步骤三:引入正则化方法,防止深度森林模型过拟合训练数据,提高深度森林模型的泛化能力和稳定性;
步骤四:利用训练集数据进行深度森林模型训练,训练后的深度森林模型利用测试集数据进行预测,确保深度森林模型预测效果准确;
步骤五:评估深度森林模型的预测效果,根据评估结果,判断深度森林模型预测效果准确,或是对深度森林模型作进一步优化或调整。
2.根据权利要求1所述的基于改进深度森林模型径流预测方法,其特征在于,步骤一中搜集径流数据并将径流数据按照8比2的比例划分为训练集和测试集。
3.根据权利要求1所述的基于改进深度森林模型径流预测方法,其特征在于,步骤二所述的子模型包括XGBoos t、随机森林(RF)、梯度提升决策树(GBDT)和Adaboost子模型,通过训练集的径流数据对上述子模型进行训练,确保径流数据训练集的特征和标签之间的对应关系正确,
其中,XGBoos t模型训练过程包括:
A1、建立XGBoost模型的集成模型,其表达公式如下
式中:为第t轮的模型预测结果,K表示模型所包含树的量,fk为模型中所包含的第k棵决策树所对应的结构q与叶子权重ω的数量相关关系,Xi是模型中第i棵决策树所代表的特征,F是模型所包含决策树所在的空间;
A2、建立目标函数公式,所述公式如下
式中:为训练误差,T表示子叶的数量,γ为惩罚力度,ω为叶子权重;
A3、利用正则化对XGBoost模型的算法进行迭代更新目标函数,以此减少来自局部的最优解,避免XGBoost模型出现过拟合现象;
所述通过正则化进行迭代更新后的目标函数为:
A4、对目标函数公式(4)进行二阶泰勒展开寻求目标函数,其在f=0处进行展开为
A5、将公式(5)对损失函数求和,得到目标函数为
A6、通过上述步骤将设定的目标函数转换为一元二次方程,
对现有变换后的目标函数进行寻找最优的ω值和函数值;
所述RF随机森林模型训练过程包括:
选取径流数据训练集中N个训练用例(样本),其对应的特征数目M,利用上述N个训练用例和对应的特征数目M进行随机森林模型的构建,其过程如下:
B1、从特征数目M选取特征数目m输入,用于确定决策树上一个节点的决策结果,其中m应远小于M;
B2、从N个训练用例中以有放回抽样的方式取样N次形成一个训练集合,并用未抽到的训练用例作预测,用于评估随机森林模型的误差;
B3、对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的,根据m个特征,计算其最佳的分裂方式;
B4、每棵决策树完整成长而不剪枝,并采用构建正常树状分类器的决策树;
B5、重复步骤B1-B4构建另外一棵决策树,直到达到预定数目的决策树为止,即完成随机森林模型的构建;
将径流数据训练集作为该模型的训练数据,所述GBDT模型训练过程包括:
C1、初始化模型:将初始预测值设置为径流数据训练集的平均值;
C2、迭代训练:通过迭代的方式,逐步改进模型的预测能力,所述迭代过程包括:
C2-1、计算残差:计算当前模型的预测值与实际值之间的残差;
C2-2、训练新的决策树:使用残差作为目标值,训练一个新的决策树模型;
C2-3更新模型:将新的决策树模型与之前的模型进行加权组合,得到更新后的模型;
C3、重复迭代:重复步骤C2,直到达到预定的迭代次数或模型性能满足要求;
C4、得到最终模型:将所有迭代得到的决策树模型进行加权组合,得到最终的GBDT模型;
所述Adaboost模型训练过程为:
首先定义一个弱分类器h(x),设xi在第t个弱分类器上的权重为N是数据样本的个数,训练该Adaboost模型训练的具体步骤如下:
D1、初始化训练样本的权重,使其均匀分布,在第1个弱分类器上所有数据点的权重保持一致,即
D2、在第t步,创建或选择最小化当前错误率∈的弱分类器,并添加该弱分类器以降低错误率,并计算αt,该αt指第t个弱分类器上的权重
定义一个新的弱学习器
D3、计算新的数据样本权重
D4、循环步骤D2直至收敛;
D5、得到
为最终模型。
4.根据权利要求1所述的基于改进深度森林模型径流预测方法,其特征在于,步骤二中根据四种不同子模型在选取训练集交叉验证中的表现对其进行赋权,不同模型预测结果通过权重融合,从而获取最终预测结果,所述赋权步骤包括:
S21、对于每个子模型,在训练数据上进行交叉验证,使用KFold方法将训练数据划分为5个折叠,并对每个子模型进行循环遍历;
S22、在每次交叉验证中,将训练集分成训练子集和验证子集,在训练子集上拟合模型并在验证子集上进行预测;计算预测结果与真实值之间的R2得分,并将得分添加到r2_list列表中;
S23、将每个子模型在所有交叉验证折数中计算得到的R2得分求平均,得到该模型的权重;然后将所有子模型的权重进行归一化,确保权重的总和为1。
5.根据权利要求1所述的基于改进深度森林模型径流预测方法,其特征在于,步骤二中对四个子模型赋予权重,并通过加权求和来生成最终的预测,具体步骤包括:
S2-1、定义子模型;
S2-2、对子模型进行交叉验证,计算其对应的权重;
S2-3、定义深度森林模型函数deep_forest(X);
S2-4、引入正则化方法;
S2-5、使用交叉验证训练和预测;
S2-6、计算训练集和测试集的R-squared评分。
6.根据权利要求1所述的基于改进深度森林模型径流预测方法,其特征在于,步骤三中正则化是通过对每个子模型的权重进行Elastic Net正则化来实现的,其过程包括:
S31、创建了一个ElasticNet回归模型enet,然后使用子模型的预测结果y_pred作为目标变量,特征矩阵X作为输入进行训练,通过调整alpha参数控制正则化强度和L1与L2正则化之间的平衡;
S32、在训练完成后,使用enet.predict(X)对特征矩阵X进行预测,得到正则化后的子模型预测结果y_pred;最后,将该预测结果乘以相应子模型的权重,并将其存储在preds列表。
7.根据权利要求1所述的基于改进深度森林模型径流预测方法,其特征在于,步骤四中,使用训练集对深度森林模型进行训练,并使用交叉验证进行模型选择和调优,根据需要调整深度森林模型的超参数,和Elas ticNet的alpha参数,所述超参数包括深度和节点数;在模型训练过程中采用串联训练,通过串联多个深度森林模型,从而结合不同模型的优势,进一步提高整体模型的准确性和泛化能力;深度森林模型在不同的数据集或任务上表现不同,通过串联训练融合多个深度森林模型的预测结果,得到更准确的最终预测;在径流预测中,将数据得输入变量和输出变量导入模型中,以此使用子模型进行串联训练,以此来提升模型精度;最后进行模型预测,使用训练好的深度森林模型对新径流数据样本进行预测,将新样本输入到深度森林模型中,得到最终的输出结果。
8.根据权利要求1所述的基于改进深度森林模型径流预测方法,其特征在于,步骤五中对改进后的深度森林模型进行评估,使用均方根误差RMSE,利用绝对平均误差MAE来衡量模型在测试数据上的性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311212665.4A CN117407802A (zh) | 2023-09-20 | 2023-09-20 | 一种基于改进深度森林模型径流预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311212665.4A CN117407802A (zh) | 2023-09-20 | 2023-09-20 | 一种基于改进深度森林模型径流预测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117407802A true CN117407802A (zh) | 2024-01-16 |
Family
ID=89499086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311212665.4A Pending CN117407802A (zh) | 2023-09-20 | 2023-09-20 | 一种基于改进深度森林模型径流预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407802A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117973237A (zh) * | 2024-04-01 | 2024-05-03 | 厦门大学 | 一种基于领域适应和机器学习的无资料流域径流模拟方法 |
-
2023
- 2023-09-20 CN CN202311212665.4A patent/CN117407802A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117973237A (zh) * | 2024-04-01 | 2024-05-03 | 厦门大学 | 一种基于领域适应和机器学习的无资料流域径流模拟方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ding et al. | Forecasting China's electricity consumption using a new grey prediction model | |
CN112380765B (zh) | 一种基于改进平衡优化器算法的光伏电池参数识别方法 | |
Sun et al. | On the optimal redundancy allocation for multi-state series–parallel systems under epistemic uncertainty | |
CN113887787B (zh) | 一种基于长短时记忆网络和nsga-ii算法的洪水预报模型参数多目标优化方法 | |
Zhou et al. | A combined forecasting system based on modified multi-objective optimization and sub-model selection strategy for short-term wind speed | |
CN112733997B (zh) | 基于woa-lstm-mc的水文时间序列预测优化方法 | |
CN104636985A (zh) | 一种改进bp神经网络的输电线路无线电干扰预测方法 | |
CN117407802A (zh) | 一种基于改进深度森林模型径流预测方法 | |
CN105184398A (zh) | 一种电力最大负荷小样本预测方法 | |
CN110222908A (zh) | 一种基于数据驱动的短期用电量预测方法 | |
CN111008790A (zh) | 一种水电站群发电调度规则提取方法 | |
CN114912673A (zh) | 一种基于鲸鱼优化算法和长短时记忆网络的水位预测方法 | |
Parasuraman et al. | Cluster-based hydrologic prediction using genetic algorithm-trained neural networks | |
CN111105005B (zh) | 一种风电功率预测方法 | |
CN113052373A (zh) | 一种基于改进elm模型的月径流变化趋势预测方法 | |
CN107657349B (zh) | 一种水库分期发电调度规则提取方法 | |
CN115453871A (zh) | 一种基于ide扩展多维泰勒网的非线性系统建模方法 | |
CN116345555A (zh) | 一种基于cnn-isca-lstm模型的短期光伏发电功率预测方法 | |
CN109408896B (zh) | 一种污水厌氧处理产气量多元智能实时监控方法 | |
Benala et al. | Genetic algorithm for optimizing functional link artificial neural network based software cost estimation | |
Liu et al. | Impacts of inflow variations on the long term operation of a multi-hydropower-reservoir system and a strategy for determining the adaptable operation rule | |
CN103489037B (zh) | 一种可发电风资源的预测方法 | |
Yang et al. | A novel exhaust gas temperature prediction method of hot blast stove | |
Velasco et al. | Performance analysis of artificial neural networks training algorithms and transfer functions for medium-term water consumption forecasting | |
CN117194918A (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 |