基于代价敏感深度级联森林的饮用水质预测方法及系统

文档序号:27681664发布日期:2021-11-30 23:55阅读:131来源:国知局
基于代价敏感深度级联森林的饮用水质预测方法及系统

1.本发明涉及环境质量监测和预报技术领域,特别涉及一种基于代价敏感深度级联森林的饮用水质预测方法及系统。


背景技术:

2.淡水资源是人类赖以生存的主要资源,饮用水质量与人类健康密切相关。因此世界各国都采取了多种措施来保障水质安全,而在这些措施中,使用人工智能技术来监测和预报水质是保护饮水安全的重要步骤。
3.尽管目前已有不少人工智能模型采用支持向量机和随机森林对地表水水质进行预测,但是在这些模型中,尤其是传统人工智能模型难以胜任预测饮用水水质的任务。其中一个主要原因是这些模型进行训练使用的饮用水水质数据集是一个典型的极端不平衡的数据集,而人工智能模型对平衡数据具有较好的预测能力,这些极端不平衡数据会显著降低这些模型的预测能力。因此单独使用传统模型无法有效监控和预测饮用水质情况,传统学习模型如lr、svm等对饮用水水质预测性能不高,尤其是对不合格水质预测的准确性和稳定性不高。
4.处理不平衡数据的方法目前有两大类:一大类是对数据进行重采样、欠采样或者混合采样,从数据集角度改变少数类样本的比例;另一大类是使用集成模型来预测不平衡数据,从增加模型应变能力角度来提升对不平衡数据预测能力。


技术实现要素:

5.为了克服现有技术存在的缺陷与不足,本发明的第一目的在于提出了基于代价敏感深度级联森林的饮用水质预测方法,该方法通过引入代价敏感因子以提升模型预测不平衡数据能力,进而准确预测饮用水水质状况并保障饮用水安全。
6.本发明的第二目的在于提出了基于代价敏感深度级联森林的饮用水质预测系统。
7.为了达到上述第一目的,本发明采用以下技术方案:
8.一种基于代价敏感深度级联森林的饮用水质预测方法,包括以下步骤:
9.数据采集步骤:采集饮用水质原始数据,饮用水质原始数据包括水质参数,所述水质参数包括ph、温度、浊度、电导率、重金属、氯化物、硫酸盐、溶解性氧;
10.数据预处理步骤:对饮用水质原始数据进行数据清洗、标准化数据,得到水质预处理数据;
11.预测步骤:将水质预处理数据输入到水质预测模型进行预测水质是否合格;
12.所述水质预测模型为使用多组数据通过机器学习训练得出,多组数据中的每组数据包括饮用水质训练数据和标识该水质训练数据是否合格的标签信息;
13.所述水质预测模型通过设置不平衡代价矩阵以引入代价敏感因子。
14.作为优选的技术方案,所述水质预测模型为使用多组数据通过机器学习训练得出,具体包括以下步骤:
15.步骤s100、构建代价敏感基分类器:引入代价敏感因子进行构建代价敏感基分类器,具体通过直接引入代价矩阵的形式来表示基分类器的代价敏感;
16.所述代价矩阵为非对称矩阵,用于把少数类样本分类错误的代价设置远高于多数类样本错分代价;
17.步骤s200、构建代价敏感深度级联森林:代价敏感深度级联森林为多层结构,每一层设有多个估计器,其中每一层估计器的类型和数目都相同,所述估计器包括多个代价敏感基分类器;
18.步骤s300、饮用水质数据前处理:对饮用水质原始数据进行清洗并标准化数据;
19.步骤s400、代价敏感深度级联森林训练:对前处理后的水质数据进行k折划分训练集和验证集,设置预测目标函数,基于训练集进行训练,优化预测目标函数并固定超参,其中将k

1折数据作为训练集并用来训练模型,将剩余的1折数据作为验证集并用于验证模型;
20.步骤s500、代价敏感深度级联深林的验证:使用验证集的水质数据来验证模型,比较不同代价矩阵下代价敏感深度级联深林的预测能力,筛选最优代价矩阵,进而得到水质预测模型。
21.作为优选的技术方案,所述代价敏感基分类器采用随机树、完全随机树中的一种或者多种组合。
22.作为优选的技术方案,所述最优代价矩阵具体为通过启发式法和网格式法寻找初始代价矩阵和最佳代价矩阵进行筛选。
23.作为优选的技术方案,在步骤s400中,所述预测目标函数表示为:
[0024][0025]
式y为用于表示水质是否合格的标签信息,其中表示对第j类标签信息的预测准确概率,i表示第i个数据,j表示第j类标签信息,n表示数据总数,c
ij
表示i个数据和j类标签信息的代价矩阵。
[0026]
作为优选的技术方案,在步骤s400中,所述代价敏感深度级联森林训练具体采用cs

dcf算法进行训练,所述cs

dcf算法为代价敏感深度级联森林算法;
[0027]
所述基于训练集进行训练具体为:首层输入的是原始特征向量,其余层输入是原始特征向量和相邻前一层的输出概率向量,每一层都会计算代价,如果代价降低则将原始特征向量与该层的输出相结合,作为下一层的输入;随后每层遵循相同的过程,直到预测目标函数不再降低,最后,相应层的结果则为代价敏感深度级联森林的输出。
[0028]
作为优选的技术方案,所述代价敏感深度级联森林算法具体包括以下步骤:
[0029]
步骤s401、初始化步骤:
[0030]
输入特征采样矩阵、代价矩阵、迭代次数,并初始化当前处理层数为1,初始化当前迭代次数序号值为0;
[0031]
所述特征采样矩阵表示为:
[0032]
x=(x1,x2,

,x
p
)
[0033]
其中p为特征采样矩阵的维数,代价矩阵表示为c,迭代次数为s;
[0034]
步骤s402、循环训练步骤:执行以下操作直到遍历完所有处理层数;
[0035]
根据代价矩阵构建代价敏感基分类器,利用代价敏感基分类器获得当前处理层的代价值c;
[0036]
将当前处理层的输出作为新的特征矩阵f;
[0037]
生成新的采样矩阵:对于当前处理层数不为1时的情况,将当前处理层的新的特征矩阵f与采样矩阵x连接得到新的采样矩阵x’;
[0038]
如果当前处理层数为1或者相邻后一个处理层的代价值c’满足c
’‑
c>0条件时,将当前处理层数赋值给下一层处理层数,并将当前处理层的代价值赋值给相邻后一个处理层的代价值;
[0039]
否则,将当前迭代次数序号值累加1,如果当前迭代次数序号值为迭代次数则退出,否则当前处理层数累加1;
[0040]
步骤s403、输出步骤:
[0041]
输出代价敏感深度级联森林。
[0042]
作为优选的技术方案,多个估计器采用随机森林、完全随机森林中的任一种或者多种的组合。
[0043]
作为优选的技术方案,所述原始特征向量为水质参数ph、温度、浊度、电导率、重金属、氯化物、硫酸盐、溶解性氧中的一种或任意多种组合。
[0044]
为了达到上述第二目的,本发明采用以下技术方案:
[0045]
一种基于代价敏感深度级联森林的饮用水质预测系统,包括数据采集模块、数据预处理模块、预测模块;
[0046]
所述数据采集模块用于采集饮用水质原始数据,饮用水质原始数据包括水质参数,所述水质参数包括ph、温度、浊度、电导率、重金属、氯化物、硫酸盐、溶解性氧;
[0047]
所述数据预处理模块用于对饮用水质原始数据进行数据清洗、标准化数据,得到水质预处理数据;
[0048]
所述预测模块用于将水质预处理数据输入到水质预测模型进行预测水质是否合格;
[0049]
所述水质预测模型为使用多组数据通过机器学习训练得出,多组数据中的每组数据包括饮用水质训练数据和标识该水质训练数据是否合格的标签信息;
[0050]
所述水质预测模型通过设置不平衡代价矩阵以引入代价敏感因子;
[0051]
所述水质预测模型为使用多组数据通过机器学习训练得出,具体包括以下步骤:
[0052]
步骤s100、构建代价敏感基分类器:引入代价敏感因子进行构建代价敏感基分类器,具体通过直接引入代价矩阵的形式来表示基分类器的代价敏感;
[0053]
所述代价矩阵为非对称矩阵,用于把少数类样本分类错误的代价设置远高于多数类样本错分代价;
[0054]
步骤s200、构建代价敏感深度级联森林:代价敏感深度级联森林为多层结构,每一层设有多个估计器,其中每一层估计器的类型和数目都相同,所述估计器包括多个代价敏感基分类器;
[0055]
步骤s300、饮用水质数据前处理:对饮用水质原始数据进行清洗并标准化数据;
[0056]
步骤s400、代价敏感深度级联森林训练:对前处理后的水质数据进行k折划分训练
集和验证集,设置预测目标函数,基于训练集进行训练,优化预测目标函数并固定超参,其中将k

1折数据作为训练集并用来训练模型,将剩余的1折数据作为验证集并用于验证模型;
[0057]
步骤s500、代价敏感深度级联深林的验证:使用验证集的水质数据来验证模型,比较不同代价矩阵下代价敏感深度级联深林的预测能力,筛选最优代价矩阵,进而得到水质预测模型;
[0058]
所述不平衡代价矩阵设置为:
[0059][0060]
式中c
01
为把不合格水质数据错分为合格水质数据的代价;c
10
为把合格水质错分为不合格水质的代价;c
00
和c
11
分别为合格饮用水和不合格饮用水水质正确分类的代价,不合格水质为小数类样本,合格水质为多数类样本。
[0061]
本发明与现有技术相比,具有如下优点和有益效果:
[0062]
(1)本发明通过引入代价敏感因子进行构建代价敏感深度级联森林模型,面对的预测对象是极端不平衡的环境问题,通过设置不平衡的代价敏感矩阵,显著提高错误分类的代价,使错分的代价显著高于正确分类的代价;在预测结果上,本发明通过引入代价敏感因子能够进一步提升模型预测不平衡数据能力,与传统学习模型lr、svm、svm等相比,该方法能够显著提升对饮用水质预测的准确性,在对地表水预测中表现出众,对不合格水质预测具有较高的准确性和稳定性,且对少数类的劣质水分离具有较高的准确性和稳定性,为满足未来饮用水厂对水质监控要求具有较高的参考价值。
附图说明
[0063]
图1为本发明实施例1中基于代价敏感深度级联森林的饮用水质预测方法的步骤流程图;
[0064]
图2为本发明实施例1中水质预测模型的训练流程图;
[0065]
图3为本发明实施例1中水质预测模型的训练过程示意图;
[0066]
图4为本发明实施例1中cs

dcf算法的流程示意图;
[0067]
图5为本发明实施例2中水质预测模型在训练过程中f1值效果示意图;
[0068]
图6为本发明实施例2中水质预测模型在验证过程中f1值效果示意图。
具体实施方式
[0069]
在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。
[0070]
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在该词前面的元素或者物件涵盖出现在该词后面列举的元素或者物件及其等同,而不排除其他元素或者物件。“连接”或者“相连”等
类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
[0071]
在本公开的描述中,需要说明的是,除非另有明确的规定和限定,否则术语“安装”、“相连”、“连接”应做广义理解。例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本公开中的具体含义。此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0072]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0073]
实施例
[0074]
实施例1
[0075]
如图1所示,本实施例提出了一种基于代价敏感深度级联森林的饮用水质预测方法,该方法包括以下步骤:
[0076]
数据采集步骤:使用电子传感器采集饮用水质原始数据,饮用水质原始数据包括水质参数,其中水质参数包括ph、温度、浊度、电导率、重金属、氯化物、硫酸盐、溶解性氧。
[0077]
实际应用时,电子传感器具体包括ph传感器、温度传感器、浊度传感器、电导率传感器、重金属检测传感器、氯离子传感器、硫酸盐传感器、溶解氧传感器,ph传感器用于检测水质的ph,温度传感器用于检测水质的温度,浊度传感器用于检测水质的浑浊度,电导率传感器用于检测水质的电导率,重金属检测传感器用于检测水质的重金属,氯离子传感器用于检测水质的氯化物,硫酸盐传感器用于检测水质的硫酸盐,溶解氧传感器用于检测水质的溶解性氧。
[0078]
数据预处理步骤:对饮用水质原始数据进行数据清洗、标准化数据,得到水质预处理数据。
[0079]
预测步骤:将水质预处理数据输入到水质预测模型进行预测水质是否合格。其中水质预测模型为使用多组数据通过机器学习训练得出,多组数据中的每组数据包括饮用水质训练数据和标识该水质训练数据是否合格的标签信息。
[0080]
结合图2和图3所示,水质预测模型为使用多组数据通过机器学习训练得出,具体包括以下步骤:
[0081]
步骤s100、构建代价敏感基分类器:引入代价敏感因子进行构建代价敏感基分类器,具体通过直接引入代价矩阵的形式来表示基分类器的代价敏感;其中代价矩阵为非对称矩阵,即不平衡代价矩阵,用于把少数类样本分类错误的代价设置远高于多数类样本错分代价。本领域技术人员可根据实际情况对基分类器采用随机树、完全随机树中的一种或者多种组合,本实施例在此不做限制。
[0082]
步骤s200、构建代价敏感深度级联森林:代价敏感深度级联森林有多层,每一层由多个估计器构成,其中每一层估计器的类型和数目都相同,每个估计器又由多个代价敏感基分类器组成。
[0083]
步骤s300、饮用水质数据前处理:对饮用水质原始数据进行清洗并标准化数据。
[0084]
步骤s400、代价敏感深度级联森林训练:对前处理后的水质数据进行k折划分训练集和验证集,设置预测目标函数,基于训练集进行训练,优化预测目标函数并固定超参。其中将k

1折数据作为训练集并用来训练模型,将剩余的1折数据作为验证集并用于验证模型。
[0085]
步骤s500、代价敏感深度级联深林的验证:使用验证集的水质数据来验证模型,比较不同代价矩阵下代价敏感深度级联深林的预测能力,筛选最优代价矩阵,进而得到水质预测模型,以在后续水质预测时具有较高的预测精度和稳定性,从而获得最优的水质预测结果。实际应用时,筛选最优代价矩阵具体为通过启发式法和网格式法寻找初始代价矩阵和最佳代价矩阵,从而获得最佳预测目标函数。初始代价矩阵为寻找出来的第一个代价矩阵,后续寻找的代价矩阵都是以初始代价矩阵为出发点。
[0086]
在本实施例中,在步骤s400中,代价敏感深度级联森林训练具体采用cs

dcf算法进行训练,cs

dcf算法为代价敏感深度级联森林算法。实际应用时,基于训练集进行训练具体为:首层输入的是原始特征向量,其余层输入是原始特征向量和相邻前一层的输出概率向量,每一层都会计算代价,如果代价降低则将原始特征向量与该层的输出相结合,作为下一层的输入;随后每层遵循相同的过程,直到预测目标函数不再降低。最后,相应层的结果则为代价敏感深度级联森林的输出。
[0087]
如图4所示,代价敏感深度级联森林算法具体包括以下步骤:
[0088]
步骤s401、初始化步骤:
[0089]
输入特征采样矩阵、代价矩阵、迭代次数,并初始化当前处理层数为1,初始化当前迭代次数序号值为0;
[0090]
特征采样矩阵表示为:
[0091]
x=(x1,x2,

,x
p
)
[0092]
其中p为特征采样矩阵的维数,代价矩阵表示为c,迭代次数为s;
[0093]
步骤s402、循环训练步骤:执行以下操作直到遍历完所有处理层数;
[0094]
根据代价矩阵构建代价敏感基分类器,利用代价敏感基分类器获得当前处理层的代价值c;
[0095]
将当前处理层的输出作为新的特征矩阵f;
[0096]
生成新的采样矩阵:对于当前处理层数不为1时的情况,将当前处理层的新的特征矩阵f与采样矩阵x连接得到新的采样矩阵x’;
[0097]
如果当前处理层数为1或者相邻后一个处理层的代价值c’满足c
’‑
c>0条件时,将当前处理层数赋值给下一层处理层数,并将当前处理层的代价值赋值给相邻后一个处理层的代价值;
[0098]
否则,将当前迭代次数序号值累加1,如果当前迭代次数序号值为迭代次数则退出,否则当前处理层数累加1。
[0099]
步骤s403、输出步骤:
[0100]
输出代价敏感深度级联森林。
[0101]
在本实施例中,代价敏感深度级联森林的层数采用100层,多个估计器采用随机森林、完全随机森林中的任一种或者多种的组合;原始特征向量为水质参数ph、温度、浊度、电导率、重金属、氯化物、硫酸盐、溶解性氧的多种组合。
[0102]
此外,本领域技术人员可通过采用以上方法构建的水质预测模型应用在实际饮用水质预测,达到较高的准确率。
[0103]
实施例2
[0104]
本实施例2在上述实施例1的基础上,以德国某水务集团实际饮用水质数据作为数据集,并以此为例进行进一步说明:在本实施例中,模型运行平台为python v.3.6.,模型评价指标为f1

score。
[0105]
选择random tree和completely

random tree作为基分类器,设置不平衡代价矩阵,构建以cost

sensitive random tree和cost

sensitive completely

random tree为代价敏感基分类器,其中不平衡代价矩阵设置为:
[0106][0107]
式中c
01
为把不合格水质错分为合格水质的代价;c
10
为把合格水质错分为不合格水质的代价;c
00
和c
11
分别为合格饮用水和不合格饮用水水质正确分类的代价;不合格水质为小数类样本,合格水质为多数类样本。因此,这里c
00
和c
11
的值为0,而c
01
的值大于c
10

[0108]
在一个给定的不平衡代价矩阵c中,样本y被正确预测作为的最佳预测目标函数:
[0109][0110]
式中表示给出标签y的预测概率,y为用于表示水质是否合格的标签信息,其中表示对第j类标签信息的预测准确概率,i表示第i个数据,j表示第j类标签信息,n表示数据总数,c
ij
表示i个数据和j类标签信息的代价矩阵。
[0111]
使用2个代价敏感随机深林估计器和2个代价敏感完全随机深林估计器来构建代价敏感深度层级深林,每个代价敏感随机深林估计器和代价敏感完全随机深林估计器包含200棵tree。每个估计器采用5折交叉验证。
[0112]
实际饮用水数据经过前处理后具有133212条样本,其中不合格水质样本比较仅为0.18%,为极端不平衡数据。每条样本中包含ph,电导率(cond),浊度(turb),光谱吸收系数(sac),温度(tp),和脉冲频率调制值(pfm),其中前四个参数发生变化则为不合格饮用水。
[0113]
在本实施例中,待模型预测完进行统计精确率(prescision)、召回率(recall)以及f1值(f1

score)。
[0114]
precision:
[0115][0116]
式中tp表示分类正确的合格水质数据条数,fp表示整体分类的水质数据条数。
[0117]
recall:
[0118][0119]
式中tp表示正样本预测为真数据条数,fp表示负样本预测为真数据条数,fn表示
正样本预测为假数据条数。
[0120]
f1

score:
[0121][0122]
结合图5和图6所示,寻找最高f1

score下的代价矩阵比例:对于训练时,初始代价矩阵比例为1:30;对训练过程进行验证时,最优代价矩阵比例为1:75,最优预测的f1

score值为94.14
±
1.73%。
[0123]
实施例3
[0124]
本实施例提出了一种基于代价敏感深度级联森林的饮用水质预测系统,该系统包括数据采集模块、数据预处理模块、预测模块;
[0125]
数据采集模块用于采集饮用水质原始数据,饮用水质原始数据包括水质参数,所述水质参数包括ph、温度、浊度、电导率、重金属、氯化物、硫酸盐、溶解性氧;
[0126]
数据预处理模块用于对饮用水质原始数据进行数据清洗、标准化数据,得到水质预处理数据;
[0127]
预测模块用于将水质预处理数据输入到水质预测模型进行预测水质是否合格。
[0128]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1