本发明专利技术涉及氮淋失预测技术领域,具体涉及一种基于随机森林回归的农田氮淋失预测方法,包括获取样本数据,对研究变量进行预处理;对预处理后的相关变量执行土壤分层、取对数、数据标准化的操作;建立氮淋失的随机森林回归模型,根据多指标值评估模型效果和性能;利用随机森林回归模型的学习结果预测氮淋失量。本发明专利技术同现有技术相比,基于多因素进行拟合,更加符合实际情况,实现了精度高、简单、有效的农田氮淋失预测效果。氮淋失预测效果。氮淋失预测效果。
【技术实现步骤摘要】
一种基于随机森林回归的农田氮淋失预测方法
[0001]本专利技术涉及氮淋失预测
,具体涉及一种基于随机森林回归的农田氮淋失预测方法。
技术介绍
[0002]随着以高水肥投入为主要特征的农业集约化进程的发展,我国农田氮淋失现象逐步加重,面源污染问题日渐突出。氮淋失是土壤中氮素随土壤水分向下运移直至进入到作物根区无法到达的区域,最终不能被作物吸收所导致的损失,农田氮淋失会造成地下水硝酸盐含量不断上升,对地下水及饮用水安全构成威胁。因此对氮淋失量进行预测是一项极其重要的工作,可为区域面源污染防控及管理工作提供决策依据,有利于推动农业绿色发展和生态文明建设。
[0003]目前,常见的氮淋失量预测模型主要包括指数模型、线性模型、DNDC模型(农业生态系统中碳和氮生物地球化学的计算机模拟模型)等。其中,基于指数模型、线性模型的预测方法常选取单个氮淋失的影响因素(例如施氮量、水分投入量)进行模拟,实际生产中氮素淋失还会受到耕作措施、种植制度、土壤性状、农作物种类及气象条件等的影响,预测效果并不理想;而基于DNDC模型的预测方法是将氮素转化与水文过程相结合模拟氮素淋溶,建模时需要进行校准验证、敏感性分析等操作,预测流程更为复杂且结果容易受到不同深度土壤异质性的影响。
[0004]因此,为了解决上述模型的不足,本申请设计了一种基于随机森林回归的农田氮淋失预测方法,实现预测精度高、简单、有效的农田氮淋失预测方法。
技术实现思路
[0005]本专利技术的目的是填补现有技术的空白,提供了一种基于随机森林回归的农田氮淋失预测方法,实现预测精度高、简单、有效的农田氮淋失预测方法。
[0006]为了达到上述目的,本专利技术提供一种基于随机森林回归的农田氮淋失预测方法,包括以下步骤:
[0007]S1,获取样本数据,对研究变量进行预处理;
[0008]S2,对预处理后的相关变量执行土壤分层、取对数、数据标准化的操作;
[0009]S3,建立氮淋失的随机森林回归模型,根据多指标值评估模型效果和性能;
[0010]S4,利用随机森林回归模型的学习结果预测氮淋失量。
[0011]S1中的研究变量包括作物生产过程中水、肥、土的特征属性。
[0012]特征属性包括但不限于土壤类型、有机质含量、土壤全氮、粘粒含量、砂粒含量、土壤pH、土层深度、秸秆是否还田、总施氮量、氮盈余、水分投入量、水平衡和水分渗漏量。
[0013]S1中的预处理包括缺失值处理、异常值处理、数据归一化和标准化中任意一种或多种,整个算法运用了NumPy、Pandas、SkLearn库的方法。
[0014]S2的具体步骤如下:
[0015]S21,土壤分层:基于土层深度数据分布直方图观察原始数据土壤断层情况,利用R语言数据索引功能将土壤分层;
[0016]S22,取对数:采用R语言中Log函数分别基于土壤分层后的数据集对总氮淋失量进行取对数操作;
[0017]S23,数据标准化:在数据集取对数的基础上采用标准差标准化的方式对各预测变量进行处理,所用函数为Scale函数,标准化处理后数据均值为0,标准差为1。
[0018]S3中建立氮淋失随机森林回归模型,使用Bootstraping自助法随机从原始样本集中采集多个不同的样本来依次训练生成多个不同的决策树,由多个不同的决策树构成随机森林,模型训练过程具体步骤如下:
[0019]S31,设原始样本集为T={x,y},x为作物生产过程中水、肥、土的特征值组成的训练数据集合,y为总氮淋失量;
[0020]S32,从原始样本集T中进行随机采样,生成多个训练集n,每个训练集包含m个训练集样本;
[0021]S33,确定决策树数量Ntree和叶子节点个数Mtry;
[0022]S34,将生成的多个决策树组成随机森林。
[0023]S33具体为:控制各叶子节点个数Mtry保持恒定,逐步对决策树数量Ntree进行调节,当模型均方误差较小且趋于稳定时,则认为Ntree最佳;控制决策树数量Ntree取值保持恒定,逐步对叶子结点个数Mtry进行调节,进而判断Mtry的最佳值。
[0024]S3中随机森林模型的评估指标包括拟合优度(R2)、均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE),并用来评估随机森林模型的预测精度和性能。
[0025]拟合优度(R2)的计算式如下:
[0026][0027]均方误差(MSE)的计算式如下:
[0028][0029]均方根误差(RMSE)的计算式如下:
[0030][0031]平均绝对误差(MAE)的计算式如下:
[0032][0033]平均绝对百分比误差(MAPE)的计算式如下:
[0034][0035]R2为拟合优度,MSE为均方误差,RMSE为均方根误差,MAE为平均绝对误差,MAPE为平均绝对百分比误差,均可作为模型的回归评价指标。Y
i
为测试集目标真实值,为测试集目标预测值,为测试集目标均值,n为训练集中的样本数量,i表示第i个样本。
[0036]S4中利用随机森林回归模型的学习结果预测氮淋失量,具体步骤如下:
[0037]S41,针对某一输入样本,从决策树的根节点开始,判断当前节点是否为叶子节点,如果是则返回叶子节点的预测值,如果不是则进入下一步;
[0038]S42,对比样本变量值与当前节点阈值,如果样本变量值小于当前节点阈值,则访问左节点,如果样本变量值大于当前节点阈值,则访问右节点;
[0039]S43,循环步骤S42,直至访问到叶子节点,并返回预测值;
[0040]S44,循环步骤S41、S42和S43,直至所有决策树都输出了预测值,再将所有预测值取平均得到最终的结果。
[0041]本专利技术的有益效果在于:
[0042]1、本专利技术将随机森林回归模型应用于前人研究涉及较少的农田氮淋失预测领域,其相比于常规的回归模型预测精度更高、泛化能力更强。这是由于随机森林算法的实质是基于决策树的分类器集成学习算法,其通过构建分类回归树并进行组合达到对数据的分类和回归作用,从而克服了传统的数据模拟方法精确度不高、反映信息量较少及过拟合等问题。
[0043]2、本专利技术通过土壤分层、取对数、数据标准化的操作来对模型进行优化,算法设计上具有创新性。首先根据土层深度对原始数据进行分层,以减轻断层对模型建立产生的影响,然后分别基于分层后的数据集对总氮淋失量进行取对数操作,最后在数据集取对数的基础上采用标准差标准化的方式对各预测变量进行处理,标准化处理后数据均值为0,标准差为1。
[0044]3、基于多因素进行拟合,更加符合实际情况。农田氮素淋失受多种环境因素的影响,且不同因素对氮淋失量的影响权重不同,过去的研究常用单个或部分氮淋失的影响因素建立预测模型,实际生产中氮素的淋失与很多因素都存在着相关关系,往往效果并不理本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于随机森林回归的农田氮淋失预测方法,其特征在于,包括以下步骤:S1,获取样本数据,对研究变量进行预处理;S2,对所述预处理后的相关变量执行土壤分层、取对数、数据标准化的操作;S3,建立氮淋失的随机森林回归模型,根据多指标值评估模型效果和性能;S4,利用随机森林回归模型的学习结果预测氮淋失量。2.如权利要求1所述的基于随机森林回归的农田氮淋失预测方法,其特征在于,所述S1中的研究变量包括作物生产过程中水、肥、土的特征属性。3.如权利要求2所述的基于随机森林回归的农田氮淋失预测方法,其特征在于,所述特征属性包括但不限于土壤类型、有机质含量、土壤全氮、粘粒含量、砂粒含量、土壤pH、土层深度、秸秆是否还田、总施氮量、氮盈余、水分投入量、水平衡和水分渗漏量。4.如权利要求1所述的基于随机森林回归的农田氮淋失预测方法,其特征在于,所述S1中的预处理包括缺失值处理、异常值处理、数据归一化和标准化中任意一种或多种,整个算法运用了NumPy、Pandas、SkLearn库的方法。5.如权利要求1所述的基于随机森林回归的农田氮淋失预测方法,其特征在于,所述S2的具体步骤如下:S21,土壤分层:基于土层深度数据分布直方图观察原始数据土壤断层情况,利用R语言数据索引功能将土壤分层;S22,取对数:采用R语言中Log函数分别基于所述土壤分层后的数据集对总氮淋失量进行取对数操作;S23,数据标准化:在数据集取对数的基础上采用标准差标准化的方式对各预测变量进行处理,所用函数为Scale函数,标准化处理后数据均值为0,标准差为1。6.如权利要求1所述的基于随机森林回归的农田氮淋失预测方法,其特征在于,所述S3中建立氮淋失随机森林回归模型,使用Bootstraping自助法随机从原始样本集中采集多个不同的样本来依次训练生成多个不同的决策树,由所述多个不同的决策树构成随机森林,模型训练过程具体步骤如下:S31,设原始样本集为T={x,y},所述x为作物生产过程中水、肥、土的特征值组成的训练数据集合,所述y为总氮淋失量;S32,从所述原始样本集T中进行随机采样,生成多个训练集n,所述每个训练集包含m个训练集样本;S33,确定决策树数量Nt...
【专利技术属性】
技术研发人员:孟凡乔,赵晓莹,殷实磊,杨轩,许秀春,
申请(专利权)人:中国农业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。