基于环境数据的数据异常分析方法、装置、设备及介质
技术领域
本申请涉及到人工智能中的机器学习领域,特别是涉及到一种基于环境数据的数据异常分析方法、装置、设备及介质。
背景技术
企业对环境的污染一直是困扰每个城市的难题,政府每年投入大量的人力、物力进行企业污染源监管,通过在企业安装各种环境监测设备监测企业生产过程中产生的废水、废气,并将监测数据实时上传到监管平台,在监测数据的采集、上传的过程中产生大量异常,比如,传输不稳定、数据缺失、数据长期不变、数据超量程、数据标识异常等异常,发明人发现监管平台对收到的监测数据的异常无法进行合理的分析。
发明内容
本申请的主要目的为提供一种基于环境数据的数据异常分析方法、装置、设备及介质,旨在解决目前监管平台对收到的监测数据的异常无法进行合理的分析的技术问题。
为了实现上述发明目的,本申请提出一种基于环境数据的数据异常分析方法,所述方法包括:
获取待分析环境数据、监测项目;
基于所述监测项目,对所述待分析环境数据进行异常特征提取,得到目标异常特征集合;
将所述目标异常特征集合输入异常分类模型进行异常分类,所述异常分类模型是基于决策树训练得到的模型;
获取所述异常分类模型输出的异常分类结果,所述异常分类结果用于表述所述待分析环境数据的异常类别。
进一步的,所述获取待分析环境数据的步骤,包括:
获取环境监测设备监测的数据报文;
根据所述数据报文进行解析,得到所述待分析环境数据。
进一步的,所述将所述目标异常特征集合输入异常分类模型进行异常分类,所述异常分类模型是基于决策树训练得到的步骤之前,还包括:
获取训练样本集合,所述训练样本集包括多个环境数据训练样本,所述环境数据训练样本包括:至少一个异常特征样本值、异常分类标定值;
根据所述多个环境数据训练样本,采用CART算法(分类回归树算法)进行递归划分建立CART决策树;
对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树,每个所述待训练子决策树对应一个目标常数;
获取验证样本集合,所述验证样本集合包括多个环境数据验证样本;
根据所述多个环境数据验证样本、所述多个待训练子决策树,确定所述异常分类模型。
进一步的,所述根据所述多个环境数据训练样本,采用CART算法进行递归划分建立CART决策树的步骤,包括:
选一个自变量Xi,根据所述自变量Xi确定Vi,Vi把n维空间划分为两部分,一部分的所有点都满足Xi≤Vi,另一部分的所有点都满足Xi>Vi,对非连续变量来说异常特征的取值只有两个,所述异常特征的取值包括:是或否;
将所述两部分重新选择一个异常特征继续划分,采用基尼指数作为划分标准,直至满足停止条件时停止建树,将建立的二叉树作为所述CART决策树,所述停止条件为:叶子节点的所述环境数据训练样本的样本数量为1或者异常类别属于同一类。
进一步的,所述将所述两部分重新选择一个异常特征继续划分,采用基尼指数作为划分标准,直至满足停止条件时停止建树,将建立的二叉树作为所述CART决策树的步骤,包括:
将所述两部分中每部分作为一个待划分节点;
将所述待划分节点的每个异常特征,作为一个待划分异常特征;
根据所述待划分异常特征的值、所述待划分异常特征的值对应的所有分裂点进行基尼指数计算,得到多个分裂基尼指数;
根据所述多个分裂基尼指数,确定最优分裂点,将所述最优分裂点对应的分裂基尼指数,作为最优分裂基尼指数;
根据所有所述待划分异常特征的所述最优分裂基尼指数,确定最优异常特征;
根据所述最优异常特征,从所述待划分节点生成两个子节点;
根据所述最优异常特征、所述最优异常特征的所述最优分裂点,将所述待划分节点的所有所述环境数据验证样本划分到所述两个子节点;
当满足所述停止条件时将建立的二叉树作为所述CART决策树,否则,将所述两个子节点作为所述两部分,执行所述将所述两部分中每部分作为一个待划分节点的步骤。
进一步的,所述对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树,每个所述待训练子决策树对应一个目标常数的步骤,包括:
对所述CART决策树进行随机剪枝,得到多个待训练子决策树;
对所述待训练子决策树进行常量确定,得到与所述待训练子决策树对应的目标常数;
其中,对所述待训练子决策树的内部节点t进行剪枝,以t为单节点树的损失函数为
,C(t)是叶子节点中的不确定次数,α是变量;
以t为根节点的被剪子决策树 T
t的损失函数为
,C(T
t)是所述训练样本集合的预测误差,|T
t|是被剪子决策树被剪子决策树 T
t的叶子节点个数;
当以t为单节点树的损失函数与以t为根节点的被剪子决策树 Tt的损失函数相等时,将变量α的值作为与所述待训练子决策树对应的目标常数。
进一步的,所述对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树,每个所述待训练子决策树对应一个目标常数的步骤,还包括:
对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树、被剪环境数据训练样本集合,每个所述待训练子决策树对应一个目标常数;以及,
所述获取验证样本集合,包括:
从所述训练样本集合中剔除所述被剪环境数据训练样本集合,将剩余部分作为所述验证样本集合。
本申请还提出了一种基于环境数据的数据异常分析装置,所述装置包括:
异常特征提取模块,用于获取待分析环境数据、监测项目,基于所述监测项目,对所述待分析环境数据进行异常特征提取,得到目标异常特征集合;
异常分类模块,用于将所述目标异常特征集合输入异常分类模型进行异常分类,所述异常分类模型是基于决策树训练得到的模型,获取所述异常分类模型输出的异常分类结果,所述异常分类结果用于表述所述待分析环境数据的异常类别。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于环境数据的数据异常分析方法、装置、设备及介质,通过对待分析环境数据提取得到目标异常特征集合,将目标异常特征集合输入异常分类模型进行异常分类,获取异常分类模型输出的异常分类结果,通过异常分类结果对待分析环境数据的异常有了直观的展示,而且异常分类模型是基于决策树训练得到的模型,有利于提高异常分类结果的准确性,从而实现了对待分析环境数据的异常进行了合理的分析。
附图说明
图1为本申请一实施例的基于环境数据的数据异常分析方法的流程示意图;
图2 为本申请一实施例的基于环境数据的数据异常分析装置的结构示意框图;
图3 为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中提供一种提出一种基于环境数据的数据异常分析方法,所述方法包括:
S1:获取待分析环境数据、监测项目;
S2:基于所述监测项目,对所述待分析环境数据进行异常特征提取,得到目标异常特征集合;
S3:将所述目标异常特征集合输入异常分类模型进行异常分类,所述异常分类模型是基于决策树训练得到的模型;
S4:获取所述异常分类模型输出的异常分类结果,所述异常分类结果用于表述所述待分析环境数据的异常类别。
环境数据的异常类别包括但不限于:设备故障类、数据异常类、数据超标类。
设备故障类是指设备故障导致的环境数据异常,设备故障包括但不限于环境监测设备故障、网络故障、环境数据接收设备故障。所述设备故障类的异常特征包括但不限于:传输不稳定、数据缺失。传输不稳定是指环境数据从环境监测设备到环境数据接收设备的传输的速度不稳定。数据缺失是指部分或全部环境数据缺失。
数据异常类是数据本身不符合预期要求导致的环境数据异常。所述数据异常类的异常特征包括但不限于:数据长期不变、数据超量程、数据标识异常。数据长期不变是指相同类型的数据的值没有发生变化的时长超过预设时长。数据超量程是指环境数据超过度量范围,比如,PH值是0-14,在0-14以外就是超量程。数据标识异常是指环境数据中标识位的值不是预设的标识范围内。
数据超标类是数值超出预期标准导致的环境数据异常。所述数据超标类的异常特征包括但不限于:常规污染物轻微超标、常规污染物严重超标、重金属及一类污染物超标。常规污染物轻微超标是指环境数据中常规污染物的数据超过常规污染物的轻微超标标准,低于常规污染物的严重超标标准。常规污染物严重超标是指环境数据中常规污染物的数据大于或等于常规污染物的严重超标标准。重金属及一类污染物超标是指环境数据中重金属及一类污染物的数据超过重金属及一类污染物超标标准。
对于步骤S1,获取待分析环境数据,可以从数据库中获取,也可以是环境监测设备实时发送的;获取监测项目,可以从数据库中获取。
所述待分析环境数据是需要进行异常分类的环境数据。环境数据是环境监测设备监测的环境得到的。环境监测设备监测的环境数据可以由环境监测设备通过数据报文的方式发送给环境数据接收设备。
所述监测项目包括但不限于对水的监测项目、对大气的监测项目。
对于步骤S2,将所述待分析环境数据所有的异常特征提取出来,得到至少一个目标异常特征。也就是说,目标异常特征集合中目标异常特征的数量包括但不限于一个、两个、三个、四个、五个。目标异常特征也是异常特征,目标异常特征包括:异常特征名称、异常特征的值。比如,对于异常特征名为数据长期不变,则异常特征的值包括:有变化或没有变化,对于数据长期不变来说,“有变化”也可以表述为“否”,“没有变化”也可以表述为“是”,在此举例不做具体限定。
其中,基于决策树训练异常分类模型可以从现有技术中选择训练方法,也可以获取训练样本集合,根据训练样本集合建立CART决策树,再对CART决策树进行随机剪枝生成多个待训练子决策树,再用验证样本集合对多个待训练子决策树进行验证,根据验证结果确定异常分类模型。通过基于决策树训练得到异常分类模型,使异常分类模型具有较强的泛化能力。
决策树是一种十分常用的分类方法,它是一种监督学习;所谓监督学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类,这样的机器学习就被称之为监督学习。
对于步骤S3,将所有所述目标异常特征集合输入异常分类模型进行异常分类,异常分类模型将输出异常分类结果。异常分类结果是环境数据的异常类别。
对于步骤S4,获取所述异常分类模型输出的异常分类结果,将所述异常分类结果作为所述待分析环境数据的异常分类的结果。
所述异常分类结果包括异常类别的名称、异常类别的值。比如,异常类别的名称包括设备故障类、数据异常类、数据超标类,在此举例不做具体限定。
本实施例通过对待分析环境数据提取得到目标异常特征集合,将目标异常特征集合输入异常分类模型进行异常分类,获取异常分类模型输出的异常分类结果,通过异常分类结果对待分析环境数据的异常有了直观的展示,而且异常分类模型是基于决策树训练得到的模型,有利于提高异常分类结果的准确性,从而实现了对待分析环境数据的异常进行了合理的分析。
在一个实施例中,上述获取待分析环境数据的步骤,包括:
S11:获取环境监测设备监测的数据报文;
S12:根据所述数据报文进行解析,得到所述待分析环境数据。
对于步骤S11,其中,环境监测设备通过212通信协议与环境数据接收设备进行通信,将监测到的环境数据打包在数据报文中,再把数据报文基于环境212通信协议发送给环境数据接收设备。可以理解的是,环境监测设备与环境数据接收设备之间还可以通过其他通信协议进行通信,比如,TCP(传输控制协议),在此举例不做具体限定。
对于步骤S12,根据所述数据报文进行解析,解析出环境监测设备监测到的环境数据,也就是说,所述待分析环境数据是环境监测设备监测到的环境数据。比如,所述数据报文“##0307ST=32;CN=2011;QN=20200714141100011;PW=123456;MN=WWSZ0003060095;CP=&&DataTime=20200714141100;060-Rtd=1.150,060-Flag=N;011-Rtd=9.1,011-Flag=N;B01-Rtd=0.275,B01-Flag=N;B01TOTAL-Rtd=8462.000,B01TOTAL-Flag=N;101-Rtd=0.0140,101-Flag=N;029-Rtd=0.0070,029-Flag=N;028-Rtd=0.0471,028-Flag=N;001-Rtd=7.379,001-Flag=N&&C301”的两个“&&”之间的数据就是环境监测设备监测到的环境数据,对该数据报文进行解析得到的所述待分析环境数据是两个“&&”之间的数据“DataTime=20200714141100;060-Rtd=1.150,060-Flag=N;011-Rtd=9.1,011-Flag=N;B01-Rtd=0.275,B01-Flag=N;B01TOTAL-Rtd=8462.000,B01TOTAL-Flag=N;101-Rtd=0.0140,101-Flag=N;029-Rtd=0.0070,029-Flag=N;028-Rtd=0.0471,028-Flag=N;001-Rtd=7.379,001-Flag=N”,在此举例不做具体限定。
在一个实施例中,上述将所述目标异常特征集合输入异常分类模型进行异常分类,所述异常分类模型是基于决策树训练得到的步骤之前,还包括:
S31:获取训练样本集合,所述训练样本集包括多个环境数据训练样本,所述环境数据训练样本包括:至少一个异常特征样本值、异常分类标定值;
S32:根据所述多个环境数据训练样本,采用CART算法进行递归划分建立CART决策树;
S33:对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树,每个所述待训练子决策树对应一个目标常数;
S34:获取验证样本集合,所述验证样本集合包括多个环境数据验证样本;
S35:根据所述多个环境数据验证样本、所述多个待训练子决策树,确定所述异常分类模型。
对于步骤S31,对每个历史环境数据进行异常特征提取,得到与所述历史环境数据对应的异常特征样本值;对每个所述历史环境数据进行标定,得到与所述历史环境数据对应的异常分类标定值。
所述异常特征样本值包括异常特征的名称、样本值。所述异常分类标定值包括异常类别名称、标定结果。
可以理解的是,异常分类标定值可以有多个,比如,当环境数据的异常类别包括:设备故障类、数据异常类、数据超标类三个时,异常分类标定值数量为三个,分别是设备故障类标定值、数据异常类标定值、数据超标类标定值,在此举例不做具体限定。
CART算法是分类回归树算法,是一种二分递归分割技术,把当前样本划分为两个子样本,使得生成的每个非叶子结点都有两个分支,因此CART算法生成的决策树是结构简洁的二叉树。
对于步骤S32,具体包括:根据所有所述环境数据训练样本,采用CART算法进行递归划分建立CART决策树。也就是说,CART决策树是一个结构简洁的二叉树。
对于步骤S33,具体包括:对所述CART决策树进行随机剪枝,将所述CART决策树剪枝后剩余的部分作为一个所述待训练子决策树;对每个所述待训练子决策树都进行常量确定,得到与所述待训练子决策树对应的目标常数。
对于步骤S34,可以理解的是,验证样本集合可以根据历史环境数据生成,也可以根据训练样本集合生成。环境数据训练样本中包括:至少一个异常特征样本值、异常分类标定值。
对于步骤S35,具体包括:根据所述多个环境数据验证样本对所述多个待训练子决策树进行基尼指数计算,得到多个子树基尼指数;根据所述多个子树基尼指数,确定最优子决策树,将所述最优子决策树及与所述最优子决策树对应的目标常数,作为所述异常分类模型。
其中,将所述多个环境数据验证样本输入一个所述待训练子决策树进行基尼指数计算,得到一个子树基尼指数。
从所述多个子树基尼指数中找出最小值,将找出的子树基尼指数对应的待训练子决策树作为最优子决策树。
可以理解的是,当异常类别增加时,需要按步骤S31至步骤S35重新训练得到异常分类模型,将重新训练后的异常分类模型用于进行异常分类。
步骤S31至步骤S35,通过基于决策树训练得到异常分类模型,使训练得到的异常分类模型具有较强的泛化能力;通过剪枝避免了决策树划分太细使异常分类模型对噪声数据产生过拟合;通过先随机剪枝得到多个待训练子决策树,再从多个待训练子决策树中确定最优子决策树,有利于提高找出的最优子决策树的准确度,从而提高了异常分类模型进行异常分类的准确性。
在一个实施例中,上述根据所述多个环境数据训练样本,采用CART算法进行递归划分建立CART决策树的步骤,包括:
S321:选一个自变量Xi,根据所述自变量Xi确定Vi,Vi把n维空间划分为两部分,一部分的所有点都满足Xi≤Vi,另一部分的所有点都满足Xi>Vi,对非连续变量来说异常特征的取值只有两个,所述异常特征的取值包括:是或否;
S322:将所述两部分重新选择一个异常特征继续划分,采用基尼指数作为划分标准,直至满足停止条件时停止建树,将建立的二叉树作为所述CART决策树,所述停止条件为:叶子节点的所述环境数据训练样本的样本数量为1或者异常类别属于同一类。
通过步骤S321和步骤S322,把所述多个环境数据训练样本划分到二叉树的各个叶子节点中,采用基尼指数作为划分标准,使每次划分都是最优结果,从而有利于提高CART决策树的准确性。
对于步骤S322,具体包括:将所述两部分的其中一部分,采用基尼指数选择一个最优异常特征和最优分裂点,根据最优异常特征、最优分裂点对所述两部分的其中一部分进行划分,递归处理,完成所有节点的划分,直至满足停止条件时停止建树。
其中,所述叶子节点的所述环境数据训练样本的样本数量为1或者异常类别属于同一类,包括:所述叶子节点的所述环境数据训练样本的样本数量为1,或者,所述叶子节点的所述环境数据训练样本属于同一个异常类别。
在一个实施例中,上述将所述两部分重新选择一个异常特征继续划分,采用基尼指数作为划分标准,直至满足停止条件时停止建树,将建立的二叉树作为所述CART决策树的步骤,包括:
S3221:将所述两部分中每部分作为一个待划分节点;
S3222:将所述待划分节点的每个异常特征,作为一个待划分异常特征;
S3223:根据所述待划分异常特征的值、所述待划分异常特征的值对应的所有分裂点进行基尼指数计算,得到多个分裂基尼指数;
S3224:根据所述多个分裂基尼指数,确定最优分裂点,将所述最优分裂点对应的分裂基尼指数,作为最优分裂基尼指数;
S3225:根据所有所述待划分异常特征的所述最优分裂基尼指数,确定最优异常特征;
S3226:根据所述最优异常特征,从所述待划分节点生成两个子节点;
S3227:根据所述最优异常特征、所述最优异常特征的所述最优分裂点,将所述待划分节点的所有所述环境数据验证样本划分到所述两个子节点;
S3228:当满足所述停止条件时将建立的二叉树作为所述CART决策树,否则,将所述两个子节点作为所述两部分,执行所述将所述两部分中每部分作为一个待划分节点的步骤。
通过步骤S3221至步骤S3228,实现了通过CART算法构建CART决策树,使得到的CART决策树是划分最细的二叉树。
对于步骤S3221,具体包括:将所述两部分中每部分作为一个待划分节点,也就是说,得到的待划分节点数量为两个。
对于步骤S3222,也就是说,所述待划分节点中每个异常特征都是一个待划分异常特征。比如,待划分节点中的异常特征包括3个,则待划分异常特征的数量为3个,在此举例不做具体限定。
对于步骤S3223,具体包括:对一个属于变量的待划分异常特征来说,其分裂点是一对连续变量待划分异常特征的特征值的中点。假设m个环境数据训练样本的一个待划分异常特征有m个连续的值,那么会有m-1个分裂点,每个分裂点为相邻两个连续值的均值,每个待划分异常特征的划分按照杂质减少量来进行排序,将杂质减少量最大的分裂点作为最优分裂点。其中,杂质采用基尼指数进行度量;杂质减少量定义为划分前的杂质减去划分后的每个节点的杂质乘以划分所占样本比率之和。
待划分节点A的基尼指数Gini的计算公式如下:
其中,Pi表示属于第i个异常类别的概率,C异常类别的数量。当Gini(A)=0时所有样本属于同一类;当所有类在节点中以相同的概率出现时,Gini(A)最大化,此时Gini(A)值为(C-1)C/2。
假设待划分节点A分为B和C,其中B占A中样本的比例为p,C为q,p+q=1,则杂质减少量计算公式为:Gini(A) –(p×Gini(B)+q×Gini(C))。
比如,表1示出了待划分节点A的6个环境数据训练样本,异常特征包括:数据长期不变、数据超量程、数据标识异常,异常分类标定值为数据异常类标定值。
表1 6个环境数据训练样本数据表
根据表1的环境数据训练样本,如表2所示,按异常特征数据长期不变进行划分,划分后的Gini指数计算如下:
表2 环境数据训练样本按异常特征数据长期不变统计表
Gini(t
1)=1-(2/2)
2-(0/2)
2=0,也就是异常特征数据长期不变为没有变化时的基尼指数;
Gini(t2)=1-(2/4)2-(2/4)2=0.5,也就是异常特征数据长期不变为有变化时的基尼指数;
Gini()=(2/6) ×0+(4/6) ×0.5=0.333,也就是杂质改变量。
根据表1的环境数据训练样本,如表3所示,如按异常特征数据超量程进行划分,划分后的Gini指数计算如下:
表3 环境数据训练样本按异常特征数据超量程统计表
Gini(t
1)=1-(1/3)
2-(2/3)
2=0.444,也就是数据超量程为有超量程时的基尼指数;
Gini(t2)=1-(3/3)2-(0/3)2=0,也就是数据超量程为没有超量程时的基尼指数;
Gini()=(3/6) ×0.444+(3/6) ×0=0.222,也就是杂质改变量。
对于步骤S3224,具体包括:从所有所述待划分异常特征的所述最优分裂基尼指数找出最小值,将找到的所述最优分裂基尼指数对应的所述待划分异常特征作为最优异常特征。
对于步骤S3225,具体包括,从所有所述待划分异常特征的所述最优分裂基尼指数找出最小值,将找出的所述最优分裂基尼指数对应的所述待划分异常特征,作为所述最优异常特征。
对于步骤S3228,当满足所述停止条件时将建立的二叉树作为所述CART决策树;当不满足所述停止条件时,重复执行步骤S3221至步骤S3228,从而实现了递归迭代。
在一个实施例中,上述对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树,每个所述待训练子决策树对应一个目标常数的步骤,包括:
S331:对所述CART决策树进行随机剪枝,得到多个待训练子决策树;
S332:对所述待训练子决策树进行常量确定,得到与所述待训练子决策树对应的目标常数;
其中,对所述待训练子决策树的内部节点t进行剪枝,以t为单节点树的损失函数为
,C(t)是叶子节点中的不确定次数,α是变量;
以t为根节点的被剪子决策树 T
t的损失函数为
,C(T
t)是所述训练样本集合的预测误差,|T
t|是被剪子决策树被剪子决策树 T
t的叶子节点个数;
当以t为单节点树的损失函数与以t为根节点的被剪子决策树 Tt的损失函数相等时,将变量α的值作为与所述待训练子决策树对应的目标常数。
通过剪枝避免了决策树划分太细使异常分类模型对噪声数据产生过拟合作用;通过先随机剪枝得到多个待训练子决策树,再从多个待训练子决策树中确定最优子决策树,有利于提高找出的最优子决策树的准确度,从而提高了异常分类模型进行异常分类的准确性。
其中,当α=0及α充分小时,有不等式:
;当α增大时,在某一α有
,也就是
,然后可以得出
;即以t为根节点的被剪子决策树T
t与以t为单节点树有的损失函数值相同,此时t的节点少,将t为根节点的子决策树作为被剪子决策树T
t,不影响剪枝后得到的待训练子决策树的准确性。
在一个实施例中,上述对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树,每个所述待训练子决策树对应一个目标常数的步骤,还包括:
对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树、被剪环境数据训练样本集合,每个所述待训练子决策树对应一个目标常数;以及,
所述获取验证样本集合,包括:
从所述训练样本集合中剔除所述被剪环境数据训练样本集合,将剩余部分作为所述验证样本集合。
通过从所述训练样本集合中剔除所述被剪环境数据训练样本集合,将剩余部分作为所述验证样本集合,有利于提高验证样本集合验证的准确性。
其中,被剪环境数据训练样本集合是所有被剪枝的叶子节点中的环境数据训练样本。
在一个实施例中,所述获取所述异常分类模型输出的异常分类结果的步骤之后,还包括:根据所述异常分类结果按异常类别进行比例计算,得到每个异常类别对应的比例。
若异常类别设备故障类对应的比例较大,表明监测设备出现异常较多,需要对监测设备或数据传输通道进行监测和整改;若异常类别数据异常类对应的比例较大,表明监测数据或监测设备异常,需要对监测设备或监测数据进行监测和整改;若异常类别数据超标类对应的比例较大,表明企业生产排污超标,需要对企业进行监测和整改。
如图2所示,在一个实施例中,提成了一种基于环境数据的数据异常分析装置,所述装置包括:
异常特征提取模块10,用于获取待分析环境数据、监测项目,基于所述监测项目,对所述待分析环境数据进行异常特征提取,得到目标异常特征集合;
异常分类模块20,用于将所述目标异常特征集合输入异常分类模型进行异常分类,所述异常分类模型是基于决策树训练得到的模型,获取所述异常分类模型输出的异常分类结果,所述异常分类结果用于表述所述待分析环境数据的异常类别。
本实施例通过对待分析环境数据提取得到目标异常特征集合,将目标异常特征集合输入异常分类模型进行异常分类,获取异常分类模型输出的异常分类结果,通过异常分类结果对待分析环境数据的异常有了直观的展示,而且异常分类模型是基于决策树训练得到的模型,有利于提高异常分类结果的准确性,从而实现了对待分析环境数据的异常进行了合理的分析。
在一个实施例中,所述异常特征提取模块还包括:环境数据获取子模块;
所述环境数据获取子模块,用于获取环境监测设备监测的数据报文,根据所述数据报文进行解析,得到所述待分析环境数据。
在一个实施例中,所述装置还包括:
训练样本确定模块,用于获取训练样本集合,所述训练样本集包括多个环境数据训练样本,所述环境数据训练样本包括:至少一个异常特征样本值、异常分类标定值;
训练模块,用于根据所述多个环境数据训练样本,采用CART算法进行递归划分建立CART决策树,对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树,每个所述待训练子决策树对应一个目标常数,获取验证样本集合,所述验证样本集合包括多个环境数据验证样本,根据所述多个环境数据验证样本、所述多个待训练子决策树,确定所述异常分类模型。
在一个实施例中,所述训练模块包括:CART决策树构建子模块;
所述CART决策树构建子模块,用于选一个自变量Xi,根据所述自变量Xi确定Vi,Vi把n维空间划分为两部分,一部分的所有点都满足Xi≤Vi,另一部分的所有点都满足Xi>Vi,对非连续变量来说异常特征的取值只有两个,所述异常特征的取值包括:是或否,将所述两部分重新选择一个异常特征继续划分,采用基尼指数作为划分标准,直至满足停止条件时停止建树,将建立的二叉树作为所述CART决策树,所述停止条件为:叶子节点的所述环境数据训练样本的样本数量为1或者异常类别属于同一类。
在一个实施例中,所述CART决策树构建子模块包括:最优异常特征确定单元、CART决策树确定单元;
所述最优异常特征确定单元,用于将所述两部分中每部分作为一个待划分节点,将所述待划分节点的每个异常特征,作为一个待划分异常特征,根据所述待划分异常特征的值、所述待划分异常特征的值对应的所有分裂点进行基尼指数计算,得到多个分裂基尼指数,根据所述多个分裂基尼指数,确定最优分裂点,将所述最优分裂点对应的分裂基尼指数,作为最优分裂基尼指数,根据所有所述待划分异常特征的所述最优分裂基尼指数,确定最优异常特征;
所述CART决策树确定单元,用于根据所述最优异常特征,从所述待划分节点生成两个子节点,根据所述最优异常特征、所述最优异常特征的所述最优分裂点,将所述待划分节点的所有所述环境数据验证样本划分到所述两个子节点,当满足所述停止条件时将建立的二叉树作为所述CART决策树,否则,将所述两个子节点作为所述两部分,执行所述将所述两部分中每部分作为一个待划分节点的步骤。
在一个实施例中,所述训练模块包括:待训练子决策树确定子模块;
所述待训练子决策树确定子模块,用于对所述CART决策树进行随机剪枝,得到多个待训练子决策树,对所述待训练子决策树进行常量确定,得到与所述待训练子决策树对应的目标常数;
其中,对所述待训练子决策树的内部节点t进行剪枝,以t为单节点树的损失函数为
,C(t)是叶子节点中的不确定次数,α是变量;
以t为根节点的被剪子决策树 T
t的损失函数为
,C(T
t)是所述训练样本集合的预测误差,|T
t|是被剪子决策树被剪子决策树 T
t的叶子节点个数;
当以t为单节点树的损失函数与以t为根节点的被剪子决策树 Tt的损失函数相等时,将变量α的值作为与所述待训练子决策树对应的目标常数。
在一个实施例中,所述训练模块还包括:验证样本集合确定子模块;
所述对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树,每个所述待训练子决策树对应一个目标常数,还包括:对所述CART决策树进行随机剪枝及常量确定,得到多个待训练子决策树、被剪环境数据训练样本集合,每个所述待训练子决策树对应一个目标常数;以及,
所述验证样本集合确定子模块,用于从所述训练样本集合中剔除所述被剪环境数据训练样本集合,将剩余部分作为所述验证样本集合。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存基于环境数据的数据异常分析方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于环境数据的数据异常分析方法。所述基于环境数据的数据异常分析,包括:获取待分析环境数据、监测项目;基于所述监测项目,对所述待分析环境数据进行异常特征提取,得到目标异常特征集合;将所述目标异常特征集合输入异常分类模型进行异常分类,所述异常分类模型是基于决策树训练得到的模型;获取所述异常分类模型输出的异常分类结果,所述异常分类结果用于表述所述待分析环境数据的异常类别。
本实施例通过对待分析环境数据提取得到目标异常特征集合,将目标异常特征集合输入异常分类模型进行异常分类,获取异常分类模型输出的异常分类结果,通过异常分类结果对待分析环境数据的异常有了直观的展示,而且异常分类模型是基于决策树训练得到的模型,有利于提高异常分类结果的准确性,从而实现了对待分析环境数据的异常进行了合理的分析。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于环境数据的数据异常分析方法,包括步骤:获取待分析环境数据、监测项目;基于所述监测项目,对所述待分析环境数据进行异常特征提取,得到目标异常特征集合;将所述目标异常特征集合输入异常分类模型进行异常分类,所述异常分类模型是基于决策树训练得到的模型;获取所述异常分类模型输出的异常分类结果,所述异常分类结果用于表述所述待分析环境数据的异常类别。
本实施例通过对待分析环境数据提取得到目标异常特征集合,将目标异常特征集合输入异常分类模型进行异常分类,获取异常分类模型输出的异常分类结果,通过异常分类结果对待分析环境数据的异常有了直观的展示,而且异常分类模型是基于决策树训练得到的模型,有利于提高异常分类结果的准确性,从而实现了对待分析环境数据的异常进行了合理的分析。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。