一种农产品重金属超标概率预测的方法

文档序号:32484142发布日期:2022-12-10 00:23阅读:82来源:国知局
一种农产品重金属超标概率预测的方法

1.本发明涉及计算机应用领域,具体涉及一种农产品重金属超标概率预测的方法。


背景技术:

2.农产品重金属超标目前已成为我国农业环保领域的热点问题,引发了全社会的高度关注。如果能对农产品重金属超标概率进行预测,人们便能够提前对重金属超标采取一些措施。目前,农产品重金属超标风险预测主要采用回归分析法。具体是将土壤重金属含量、酸碱度和粘粒比例等参数作为自变量,农产品重金属含量作为因变量,建立一元或多元回归模型。再依据农产品质量标准与/或阈值判断模型计算农产品重金属含量是否超标。
3.但由于诸多研究表明,在农田生态系统中,农作物对重金属吸收和累积过程受限于土壤污染水平、污染物来源和赋存形态、土壤理化性质及气候条件等诸多因素,导致运用我国现行的土壤环境质量标准进行土壤污染特征调查与农业安全生产评价时,会出现“土壤重金属超标而农产品不超标”或者“农产品重金属超标但土壤不超标”的情况,这表明农产品重金属含量与土壤重金属含量并不只是简单的线性关系,因此需要使用在非线性情况下表现较好的模型来对重金属超标概率进行预测。目前在现有技术中,《基于不定核ls-svm模型的公司违约概率预测》采用不定核ls-svm来进行公司违约概率预测,在《基于混沌透镜成像学习的哈里斯鹰算法及其应用》中采用fuch无限折叠混沌策略、黄金正余弦策略、以及融合的透镜成像学习和柯西变异策略来优化哈里斯鹰算法,
4.svm模型的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”,泛化性能比较好,不容易过拟合,可以在较少的数据下取得好的性能。支持向量机是一种有坚实理论基础的新颖的小样本学习方法,且在非线性情况下表现良好,能有更好的预测效果。平衡优化器算法具有结构简单,搜索能力强的优点。本发明对平衡优化器算法进行改进来提升算法全局寻优能力和逃离局部最优能力,并使用平衡优化器算法来优化支持向量机,得到最优的核函数参数g和惩罚参数c,使农产品重金属超标概率模型达到更好的预测效果。


技术实现要素:

5.本发明的目的是为了解决现有土壤重金属超标检测将重金属含量是否超标视为简单的线性关系,从而导致预测的准确度及效果不佳的技术问题,而提供的一种农产品重金属超标概率预测的方法。
6.为了解决上述技术问题,本发明提出以下技术方案:
7.一种农产品重金属超标概率预测的方法,包括以下步骤:
8.步骤1:采集土壤、农产品以及采集点位所处环境的样本,检测样本重金属含量和ph,将检测数据构成候选指标数据集合,并进行预处理;
9.步骤2:对指标集进行指标筛选,筛选出与要预测农产品重金属相关性较大的指标构成新的指标集合;
10.步骤3:按照国家标准将数据分为超标与不超标两种,并按照比例分为训练数据和测试数据;
11.步骤4:建立支持向量机,将训练数据作为支持向量机的输入,训练数据中重金属是否超标为支持向量机的输出;
12.步骤5:使用优化后的核函数参数g和惩罚参数c训练支持向量机,得到农产品重金属超标概率预测模型,将测试数据输入农产品重金属超标概率预测模型,得到农产品重金属超标概率预测的结果。
13.农产品的重金属含量数据所构成的候选指标集合,此候选特征集合包括多个指标,首先选取一种重金属元素,通过阅读相关文献、咨询相关专家,整理出可能影响农产品中重金属含量的指标,建立一个初始的候选指标集。
14.农产品的重金属含量数据所构成的候选指标集合,收集数据,并对收集到所选指标的数据进行预处理,具体包括以下步骤:
15.步骤1.1:确定研究区域,并进行大气降尘、降水采样、沟渠底泥、投入品含量、降水采样的获取。
16.步骤1.2:采取土壤点位以及农产品的样品,使用检测系统对重金属元素含量和ph进行检测。
17.步骤1.3:删除不完整和冗余的农产品指标数据。
18.步骤1.4:将农产品的指标数据的数据格式转换为研究所需要的数据格式,包括数据位长度、数据名称、单位。
19.本发明所述的农产品重金属超标概率预测模型训练方法,包括如下步骤:
20.步骤3.1:根据所研究重金属元素的国家标准,不满足该标准的为超标,标签设定为1,其余的为不超标,标签设定为0。
21.步骤3.2:按照一定的比例将数据分为测试集和训练集,测试集和训练集均包括超标和不超标的数据。
22.在步骤4中,建立支持向量机模型时,包括以下子步骤:
23.步骤4.1:对于支持向量机分类器,采用rbf核函数,将种群个体的候选解作为svm模型的核函数参数g和惩罚参数c。
24.步骤4.2:设置种群数量、最大迭代次数、粒子数量、维度参数,算法在每个优化变量的上下界范围内进行初始化,采用混沌映射序列进行每个变量的初始化。利用混沌序列进行种群初始化、选择、交叉和变异等操作会影响算法的整个过程,而且常常能取得比伪随机数更好的效果。
[0025][0026]
i对应粒子序号,i=1,2,

,n,ci为随机初始化的值,为使用混沌序列映射之后的值。
[0027]
步骤4.3:根据当前种群建立支持向量机,将步骤3选取好的训练数据作为支持向量机的输入,将训练数据中设定的是否超标的标签作为支持向量机的输出,计算预测结果分类错误率,将分类错误率为适应度函数,计算适应度值。
[0028][0029]
fitness为适应度函数,c表示分类正确的个数,m表示分类数据的总个数。
[0030]
步骤4.4:为提高算法的全局搜索能力设置了平衡状态池,避免陷入低质量的局部最优解,平衡状态池中包含了当前适应度值最小的几个解。
[0031]ceq,pool
=={c
eq,1
,c
eq,2
,c
eq,3
,c
eq,4
,c
eq,ave
}
[0032]
后续将从这5个候选解里面选择,c
eq,1
,c
eq,2
,c
eq,3
,c
eq,4
分别为截止当前迭代找到的最好的四个解;c
wq,avw
代表这四个解的平均状态。
[0033]
步骤4.5:引入融合的透镜成像方向学习策略和柯西变异策略更新最优解,对于当前解ci根据以下公式,求取反向解若反向解的适应度值小于当前解,则将反向解代替当前解。
[0034][0035][0036]
lb和ub分别是变量的上下界,k是缩放因子,r是0到1之间的随机数,xor表示异或运算,iter和max_iter表示当前迭代次数和最大迭代次数。
[0037]
步骤4.6:更新指数项系数、质量生成系数,并计算个体当前解。遍历计算种群每个个体的适应度,适应度值越小效果越好,根据适应度值选取多个当前最优的候选解,并更新平衡状态池。
[0038]
步骤4.7:若达到最大迭代次数,则迭代结束,输出最优解,即为最优的核函数参数g和惩罚参数c,否则返回步骤4.4,继续查找新的最优解。
[0039]
在步骤4.6中,包括以下子步骤:
[0040]
步骤4.6.1:更新指数项系数f
[0041]
f=a1*sign(r-0.5)[e-λt-1]
[0042][0043]
a1为全局搜索的权重常系数;sign为符号函数;r、λ均代表随机数向量,其维度跟优化空间维度一致,每个元素值均为0至1的随机数,iter和max_iter表示当前迭代次数和最大迭代次数,a2是控制开采能力的常数。
[0044]
步骤4.6.2:计算质量生成速率g
[0045]
g=g
cp
(c
eq-λc)
[0046][0047]gcp
为生成速率控制参数向量;r1和r2为0至1范围内的随机数,λ代表随机数向量,c
eq
为平衡状态池中选取的候选解;
[0048]
步骤4.6.3:生成新的个体解:
[0049]c*
=c
eq
+(c-c
eq
)f+g(1-f)/λv
[0050]
f为指数项系数,g为质量生成速率,v值为常数取1,λ代表随机数向量,c
eq
为平衡状态池中选取的候选解,c为要被更新的当前解。
[0051]
在步骤5中,要得到重金属超标概率预测的结果,包括以下步骤:
[0052]
步骤5.1:将最优的核函数参数g和惩罚参数c代入svm模型,得到训练好的svm模型,输入测试数据到训练好的svm模型,得出预测结果即是否超标。
[0053]
步骤5.2:利用sigmoid方法,将标准支持向量机的输出结果进行后处理,转换成后验概率得到的结果即为预测的超标概率值。
[0054][0055]
y是优化的支持向量机模型的预测结果,a、b为待拟合的参数,用极大似然估计法来估计参数a、b。
[0056]
与现有技术相比,本发明的优点在于:
[0057]
针对农产品重金属与影响因子之间并非只是简单的非线性关系,本发明使用在非线性情况下表现良好的支持向量机进行预测,能较好地解决这个问题。核函数参数g和惩罚参数c的值对支持向量机的结果有很大影响。平衡优化器算法具有结构简单,搜索能力强的优点。对平衡优化器算法进行改进来提升算法全局寻优能力和逃离局部最优能力,获得更加合适的核函数参数和惩罚参数,使农产品重金属超标概率预测模型达到更好的预测效果。
附图说明
[0058]
图1为本发明的方法流程示意图。
[0059]
图2为本发明中参数优化过程图。
具体实施方式
[0060]
如图1所示,一种农产品重金属超标概率预测的方法,包括以下步骤:
[0061]
步骤1:采集土壤、农产品以及采集点位所处环境的样本,检测样本重金属含量和ph,将检测数据构成候选指标数据集合,并进行预处理;
[0062]
步骤2:对指标集进行指标筛选,筛选出与要预测农产品重金属相关性较大的指标构成新的指标集合;
[0063]
步骤3:按照国家标准将数据分为超标与不超标两种,并按照比例分为训练数据和测试数据;
[0064]
步骤4:建立支持向量机,将训练数据作为支持向量机的输入,训练数据中重金属是否超标为支持向量机的输出;
[0065]
步骤5:使用优化后的核函数参数g和惩罚参数c训练支持向量机,得到农产品重金属超标概率预测模型,将测试数据输入农产品重金属超标概率预测模型,得到农产品重金属超标概率预测的结果。
[0066]
农产品的重金属含量数据所构成的候选指标集合,此候选特征集合包括多个指标,首先选取一种重金属元素,通过阅读相关文献、咨询相关专家,整理出可能影响农产品中重金属含量的指标,建立一个初始的候选指标集。
[0067]
农产品的重金属含量数据所构成的候选指标集合,收集数据,并对收集到所选指标的数据进行预处理,具体包括以下步骤:
[0068]
步骤1.1:确定研究区域,并进行大气降尘、降水采样、沟渠底泥、投入品含量、降水采样的获取;
[0069]
步骤1.2:采取土壤点位以及农产品的样品,使用检测系统对重金属元素含量和ph进行检测;
[0070]
步骤1.3:删除不完整和冗余的农产品指标数据;
[0071]
步骤1.4:将农产品的指标数据的数据格式转换为研究所需要的数据格式,包括数据位长度、数据名称、单位。
[0072]
步骤3划分数据集,包括以下子步骤:
[0073]
步骤3.1:根据所研究重金属元素的国家标准,不满足该标准的为超标,标签设定为1,其余的为不超标,标签设定为0;
[0074]
步骤3.2:按照一定的比例将数据分为测试集和训练集,测试集和训练集均包括超标和不超标的数据。
[0075]
在步骤4中,建立支持向量机模型时,包括以下子步骤:
[0076]
步骤4.1:对于支持向量机分类器,采用rbf核函数,将种群个体的候选解作为svm模型的核函数参数g和惩罚参数c。
[0077]
步骤4.2:设置种群数量、最大迭代次数、粒子数量、维度参数,算法在每个优化变量的上下界范围内进行初始化,采用混沌映射序列进行每个变量的初始化。利用混沌序列进行种群初始化、选择、交叉和变异等操作会影响算法的整个过程,而且常常能取得比伪随机数更好的效果。
[0078][0079]
i对应粒子序号,i=1,2,

,n,ci为随机初始化的值,ci为使用混沌序列映射之后的值。
[0080]
步骤4.3:根据当前种群建立支持向量机,将步骤3选取好的训练数据作为支持向量机的输入,将训练数据中设定的是否超标的标签作为支持向量机的输出,计算预测结果分类错误率,将分类错误率为适应度函数,计算适应度值。
[0081][0082]
fitness为适应度函数,c表示分类正确的个数,m表示分类数据的总个数。
[0083]
步骤4.4:为提高算法的全局搜索能力设置了平衡状态池,避免陷入低质量的局部最优解,平衡状态池中包含了当前适应度值最小的几个解。
[0084]ceq,pool
={c
eq,1
,c
eq,2
,c
eq,3
,c
eq,4
,c
eq,ave
}
[0085]
后续将从这5个候选解里面选择,c
eq,1
,c
eq,2
,c
eq,3
,c
eq,4
分别为截止当前迭代找到的最好的四个解;c
eq,ave
代表这四个解的平均状态。
[0086]
步骤4.5:引入融合的透镜成像方向学习策略和柯西变异策略更新最优解,对于当前解ci根据以下公式,求取反向解若反向解的适应度值小于当前解,则将反向解代替当前解。
[0087][0088][0089]
lb和ub分别是变量的上下界,k是缩放因子,r是0到1之间的随机数,xor表示异或运算,iter和max_iter表示当前迭代次数和最大迭代次数。
[0090]
步骤4.6:更新指数项系数、质量生成系数,并计算个体当前解。遍历计算种群每个个体的适应度,适应度值越小效果越好,根据适应度值选取多个当前最优的候选解,并更新平衡状态池。
[0091]
步骤4.7:若达到最大迭代次数,则迭代结束,输出最优解,即为最优的核函数参数g和惩罚参数c,否则返回步骤4.4,继续查找新的最优解。
[0092]
在步骤4.6中,包括以下子步骤:
[0093]
步骤4.6.1:更新指数项系数f
[0094]
f=a1*sign(r-0.5)[e-λt-1]
[0095][0096]
a1为全局搜索的权重常系数;sign为符号函数;r、λ均代表随机数向量,其维度跟优化空间维度一致,每个元素值均为0至1的随机数,iter和max_iter表示当前迭代次数和最大迭代次数,a2是控制开采能力的常数。
[0097]
步骤4.6.2:计算质量生成速率g
[0098]
g=g
cp
(c
eq-λc)
[0099][0100]gcp
为生成速率控制参数向量;r1和r2为0至1范围内的随机数,λ代表随机数向量,c
eq
为平衡状态池中选取的候选解;
[0101]
步骤4.6.3:生成新的个体解:
[0102]c*-c
eq
+(c-c
eq
)f+g(1-f)/λv
[0103]
f为指数项系数,g为质量生成速率,v值为常数取1,λ代表随机数向量,c
eq
为平衡状态池中选取的候选解,c为要被更新的当前解。
[0104]
在步骤5中,要得到重金属超标概率预测的结果,包括以下步骤:
[0105]
步骤5.1:将最优的核函数参数g和惩罚参数c代入svm模型,得到训练好的svm模型,输入测试数据到训练好的svm模型,得出预测结果即是否超标。
[0106]
步骤5.2:利用sigmoid方法,将标准支持向量机的输出结果进行后处理,转换成后验概率得到的结果即为预测的超标概率值。
[0107][0108]
y是优化的支持向量机模型的预测结果,a、b为待拟合的参数,用极大似然估计法来估计参数a、b。
[0109]
实施例:
[0110]
如图1所示,一种农产品重金属超标概率预测方法,包括以下步骤:
[0111]
步骤1:采集土壤、农产品以及采集点位所处环境的样本,检测样本重金属含量和ph,将检测数据构成候选指标数据集合,并进行预处理;
[0112]
步骤2:对指标集进行指标筛选,筛选出与要预测农产品重金属相关性较大的指标构成新的指标集合。
[0113]
在枝江、当阳选取点位,采集该点位的土壤、农产品,采集该点位所处地区的降水采样、大气降尘、沟渠底泥、农业投入品,对采集到的样品进行重金属含量检测。
[0114]
将采集到的数据进行整理,删除缺失项和重复项,整理数据格式,使用spss对数据进行相关性分析,选取相关性较大的指标,将他们的数据保留,构建成新的指标集。
[0115]
步骤3划分数据集,包括以下子步骤:
[0116]
步骤3.1:本实施例中,以水稻中重金属cd为例,选取108个数据,根据水稻重金属cd的国家标准,不满足该标准的即为超标,标签设定为1,其余的为不超标,标签设定为0。
[0117]
步骤3.2:按照3:1的比例将数据分划为测试集和训练集,测试集和训练集均包括超标和不超标的数据。
[0118]
步骤4:建立支持向量机模型,将训练数据作为支持向量机的输入,将训练样本中的水稻重金属cd是否超标作为支持向量机的输出。采用改进的平衡优化器算法优化支持向量机的核函数参数g和惩罚参数c;
[0119]
本实施例中,以cd为例,设定种群规模particles_no=20、最大迭代次数max_iter=300、位置区间为[0.001,100],粒子维度dim=2,缩放因子k=10000。
[0120]
本实施例中,核函数优化后的核函数参数g=0.2406,惩罚参数c=1.5383。
[0121]
步骤5:采用优化后的核函数参数g和惩罚参数c训练支持向量机,得到农产品重金属超标概率预测模型,将测试集输入农产品重金属超标概率预测模型,得到重金属是否超标及其是否超标的概率值。
[0122]
本实施例中,使用改进的平衡优化器算法优化支持向量机的准确率96.2963%,而不使用改进的平衡优化器算法优化支持向量机的准确率为85.1852%,说明本发明具有更好的预测能力。
[0123]
表1:本发明预测结果的混淆矩阵
[0124][0125]
本实施例中,与未进行优化的支持向量机进行对比,实验结果如下表所示:
[0126]
表2:重金属cd超标的预测结果
[0127][0128][0129]
本发明提供了一种对于农产品中重金属含量和可能影响重金属含量的指标之间的非线性关系,也可进行超标概率预测的方法;所提出的超标概率预测方法采用改进的平衡优化器算法对支持向量机模型进行优化,并对农产品重金属超标概率进行预测。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1