异常数据的检测方法及装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种异常数据的检测方法及装置。
背景技术
随着互联网技术的快速发展,越来越多的业务可以在线进行办理。随着在线业务的开展,为了实现对业务的监控。一般需要对业务量中的异常数据进行检测。所谓异常数据检测,则是筛选出业务数据中的异常数据。其中,该业务数据可以为商户营业额、用户投诉量等等。
但是,对于一段时间内的业务而言,可能在某个时刻会出现业务较多或者较少的情况,从而导致该段时间内的业务量的数值集合出现极大值或者极小值,甚至出现不在一个数量级上的数值,这些都会降低异常数据检测的准确性。
因此,有必要提出一种方案,以解决数值集合中的极大值或者极小值、数值之间数量级的差异给异常数据检测所带来的影响的问题。
发明内容
本说明书实施例的目的是提供一种异常数据的检测方法及装置,在进行异常数据的检测时,首先根据各个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;之后,以数据群组为单位进行异常数据的检测。在本说明书实施例中,通过聚合处理可以将待检测数据聚合中数值相差不大的待检测数据聚为一个数据群组,并基于数据群组进行异常数据的检测,可以避免待检测数据集合中的极大值、极小值或者数据之间数量级的差异所带来的影响,从而提高异常数据检测的准确性。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供了一种异常数据的检测方法,包括:
根据待检测数据集合中每个待检测数据的数值,对所述待检测数据集合进行聚类,得到至少一个数据群组;其中,同一个数据群组中的各待检测数据的数值满足预设聚类条件;
确定所述至少一个数据群组的群组特征;其中,群组特征包括聚类得到的所有数据群组的整体特征信息和每个数据群组分别所对应的个体特征信息;
基于所述整体特征信息和/或所述个体特征信息按照设定检测规则检测所述数据群组中的异常数据群组。
本说明书实施例还提供了一种异常数据的检测装置,包括:
聚类模块,用于根据待检测数据集合中每个待检测数据的数值,对所述待检测数据集合进行聚类,得到至少一个数据群组;其中,同一个数据群组中的各待检测数据的数值满足预设聚类条件;
第一确定模块,用于确定所述至少一个数据群组的群组特征;其中,所述群组特征包括聚类得到的所有所述数据群组的整体特征信息和每个所述数据群组分别所对应的个体特征信息;
检测模块,用于基于所述整体特征信息和/或所述个体特征信息按照设定检测规则检测所述数据群组中的异常数据群组。
本说明书实施例还提供了一种异常数据的检测设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
根据待检测数据集合中每个待检测数据的数值,对所述待检测数据集合进行聚类,得到至少一个数据群组;其中,同一个数据群组中的各待检测数据的数值满足预设聚类条件;
确定所述至少一个数据群组的群组特征;其中,所述群组特征包括聚类得到的所有所述数据群组的整体特征信息和每个所述数据群组分别所对应的个体特征信息;
基于所述整体特征信息和/或所述个体特征信息按照设定检测规则检测所述数据群组中的异常数据群组。
本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
根据待检测数据集合中每个待检测数据的数值,对所述待检测数据集合进行聚类,得到至少一个数据群组;其中,同一个数据群组中的各待检测数据的数值满足预设聚类条件;
确定所述至少一个数据群组的群组特征;其中,所述群组特征包括聚类得到的所有所述数据群组的整体特征信息和每个所述数据群组分别所对应的个体特征信息;
基于所述整体特征信息和/或所述个体特征信息按照设定检测规则检测所述数据群组中的异常数据群组。
本实施例中的技术方案,在进行异常数据的检测时,首先根据各个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;之后,以数据群组为单位进行异常数据的检测。在本说明书实施例中,通过聚合处理可以将待检测数据聚合中数值相差不大的待检测数据聚为一个数据群组,并基于数据群组进行异常数据的检测,可以避免待检测数据集合中的极大值、极小值或者数据之间数量级的差异所带来的影响,从而提高异常数据检测的准确性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的异常数据的检测方法的方法流程图之一;
图2为本说明书实施例提供的异常数据的检测方法中,对待检测数据进行聚类的方法流程图;
图3为本说明书实施例提供的异常数据的检测方法的方法流程图之二;
图4为本说明书实施例提供的异常数据的检测方法的方法流程图之三;
图5为本说明书实施例提供的异常数据的检测方法中聚类得到的数据群组的示意图;
图6为本说明书实施例提供的异常数据的检测装置的模块组成示意图;
图7为本说明书实施例提供的异常数据的检测设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本说明书实施例的思想在于,将需要进行检测的多个数据按照数值进行聚类,通过聚类可以将需要进行检测的多个数据划分为一个或多个数据群组,并且每个数据群组内的数据的数值相差不大,然后再以数据群组为单位进行异常数据的检测;由于各个数据群组内部数据的数值相差不大,因此,可以避免数据极值、数据之间数量级的差异所带来的影响,从而提高异常数据检测的准确性。
具体的,本说明书实施例所提供的方法可以应用于各业务服务器,也可以应用于终端设备,本说明书实施例并不对此进行限定。
图1为本说明书实施例提供的异常数据的检测方法的方法流程图之一,图1所示的方法,至少包括如下步骤:
步骤102,根据待检测数据集合中每个待检测数据的数值,对待检测数据集合进行聚类,得到至少一个数据群组;其中,同一个数据群组中的各待检测数据的数值满足预设聚类条件。
本说明书实施例所提供方法的执行主体为异常数据的检测装置。
其中,上述预设聚类条件可以根据各个待检测数据的数值进行设定,该预设聚类条件的具体可以基于将数值比较接近的待检测数据聚为一类的构思进行设置。例如,在具体实施时,可以将上述预设聚类条件设置为各待检测数据的数值之间的差值小于或等于预设阈值,当然,还可以根据实际应用场景将上述预设聚类条件设置为聚为一类的待检测数据的数值与该类别的数据平均值的差值小于或等于该类别的数据标准差的设定倍数等,本说明书实施例并不对上述预设聚类条件的具体条件内容进行设定。
需要说明的是,不管上述预设聚类条件如何设置,基于上述步骤102中聚类得到的各个数据群组中的待检测数据的数值相差不大。
另外,在本说明书实施例中,通过对待检测数据集合进行聚类,所得到的数据群组可以为一个或多个。
步骤104,确定上述至少一个数据群组的群组特征;其中,上述群组特征包括聚类得到的所有数据群组的整体特征信息和每个数据群组所对应的个体特征信息。
在具体实施时,上述聚类得到的所有数据群体的整体特征信息至少包括聚类得到的数据群组的数量,除此之外,还可以包括其他,本说明书实施例不再一一列举。上述每个数据群组所对应的个体特征信息可以包括每个数据群组中待检测数据的数据平均值、待检测数据中的最大值或者最小值等等。当然,上述个体特征信息也可以为其他,本说明书实施例不再一一列举。
步骤106,基于上述整体特征信息和/或个体特征信息按照设定检测规则检测上述数据群组中的异常数据群组。
在本说明书实施例中,可以只基于上述整体特征信息按照设定检测规则检测上述数据群组中的异常数据群组;或者只基于上述个体特征信息按照设定检测规则检测上述数据群组中的异常数据群组;还或者,同时基于整体特征信息和个体特征信息按照设定检测规则检测上述数据群组中的异常数据群组。
在本说明书实施例中,将检测确定的异常数据群组中的待检测数据确定为上述待检测数据集合中的异常数据。
例如,若是对待检测数据集合进行聚类后,得到数据群组1、数据群组2和数据群组3,若是检测到数据群组2为异常数据群组,则将数据群组2中的所有的待检测数据确定为异常数据。
本说明书实施例提供的异常数据的检测方法,由于按照待检测数据的数值将待检测数据集合中数值相差不大的待检测数据聚为一个数据群组,然后,以数据群组为单位进行异常数据的检测,可以避免待检测数据集合中的极大值、极小值或者数据之间数量级的差异所带来的影响,从而可以提高异常数据检测的准确性。
为便于理解本说明书实施例提供的异常数据的检测方法,下述将一一详细介绍上述各个步骤的具体实现过程。
具体的,在上述步骤102中,根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组,具体包括如下步骤(1)、步骤(2)、步骤(3)和步骤(4):
步骤(1)、针对第N次从待检测数据集合中读取的待检测数据,依次将该待检测数据与当前聚类得到的至少一个初始数据群组进行组合;其中,N为大于1的正整数;
步骤(2)、确定上述待检测数据与每个组合后的初始数据群组中待检测数据的数据平均值之间的差值以及每个组合后的初始数据群组中待检测数据的数据标准差;
步骤(3)、基于上述差值和数据标准差,确定待检测数据所属的初始数据群组;
步骤(4)、将第N次读取的待检测数据添加至其所属的初始数据群组,得到至少一个数据群组。
在本说明书实施例中,在对第N次从待检测数据集合中读取的待检测数据进行聚类时,若是当前存在多个初始数据群组,则分别将第N次读取的待检测数据分别与每个初始数据群组进行组合,若是当前只存在一个初始数据群组,则只需要将第N次读取的待检测数据与该初始数据群组进行组合即可。需要说明的是,在本说明书实施例中,将第N次读取的待检测数据与初始数据群组进行组合,实际上是将第N次读取的待检测数据放入该初始数据群组中,作为该初始数据群组中的一个待检测数据。因此,上述组合后的初始数据群组中则包括上次第N次读取的待检测数据。
其中,上述步骤(3)中,基于上述差值和数据标准差,确定待检测数据所属的初始数据群组,具体包括:
将上述差值小于或等于数据标准差的设定倍数的初始数据群组确定为上述待检测数据所属的初始数据群组。
其中,上述设定倍数为预先设定的数值,上述设定倍数的具体取值可以根据实际应用场景进行设置,本说明书实施例并不对上述设定倍数的具体取值进行限定。
在具体实施时,在对第N次读取的待检测数据进行聚类时,若是当前存在多个初始数据群组,则首先将第N次读取的待检测数据与上述多个初始数据群组中的一个初始数据群组进行组合,并计算与第N次读取的待检测数据组合后的初始数据群组所对应的数据平均值和数据标准差,判断第N次读取的待检测数据的数值与该数据平均值的差值是否小于或等于上述数据标准差的设定倍数,若是,则确定第N次读取的待检测数据属于该初始数据群组,即将第N次读取的待检测数据归为该初始数据群组中。后续则不必再检测第N次读取的待检测数据是否属于上述多个数据群组中的其他数据群组。若是上述确定出第N次读取的待检测数据不属于上述初始数据群组,则再依次从上述多个数据群组中检测第N次读取的待检测数据所属的初始数据群组。
为便于理解上述过程,下述将通过具体实施例进行说明。
例如,在对第N次从待检测数据集合中读取到的待检测数据进行聚类时,当前已经存在的初始数据群组包括初始数据群组1、初始数据群组2和初始数据群组3,在确定第N次读取的待检测数据所属的初始数据群组时,首先将第N次读取的待检测数据与初始群组1组合,判断将第N次读取的待检测数据与初始数据群组1组合后是否满足如下公式;
其中,在上述公式中,xN表示第N次读取的待检测数据的数值,μN1表示将第N次读取的待检测数据与初始数据群组1组合后得到的初始数据群组的数据平均值,σN1表示将第N次读取的待检测数据与初始数据群组1组合后得到的初始数据群组的数据标准差,m为设定倍数。
若是将第N次读取的待检测数据与初始数据群组1组合后满足上述公式,则认为第N次读取的待检测数据属于初始数据群组1,这时,则直接将第N次读取的待检测数据归为初始数据群组1即可;若是将第N次读取的待检测数据与初始数据群组1组合后不满足上述公式,则认为第N次读取的待检测数据不属于初始数据群组1,则再将第N次读取的待检测数据与初始数据群组2进行组合,并执行上述检测过程。
若是判断出第N次读取的待检测数据均不属于初始数据群组1、初始数据群组2和初始数据群组3,则直接将第N次读取的待检测数据自身单独构成一个初始数据群组即可。
当然,上述只是列举了确定第N次读取的待检测数据所属的初始数据群组的其中一种具体实施方式,除了上述依次检测第N次读取的待检测数据所属的数据群组之外,在本说明书实施例中,还可以通过其他方式实现,下述将举例进行说明。
仍然以在对第N次从待检测数据集合中读取到的待检测数据进行聚类时,当前已经存在的初始数据群组包括初始数据群组1、初始数据群组2和初始数据群组3为例进行说明。
分别将第N次读取的待检测数据与初始数据群组1、初始数据群组2和初始数据群组3进行组合,通过如下公式分别计算组合后的初始数据群组1、组合后的初始数据群组2和组合后的初始数据群组3所对应的比值;
其中,在上述公式中,xN表示第N次读取的待检测数据的数值,μNi表示将第N次读取的待检测数据与初始数据群组i组合后得到的初始数据群组的数据平均值,σNi表示将第N次读取的待检测数据与初始数据群组i组合后得到的初始数据群组的数据标准差,f(xNi)表示组合后的第i个初始数据群组所对应的比值。
将上述各个组合后的初始数据群组所对应的比值与设定倍数进行比较,将比值小于或等于设定倍数的初始数据群组确定为第N次读取的待检测数据所属的初始数据群组。
当确定出待检测数据所属的初始数据群组后,直接将该待检测数据添加至其所属的初始数据群组即可,在将每个待检测数据添加至其所属的初始数据群组后,得到待检测数据集合所对应的至少一个数据群组。
当然,在对待检测数据集合中的待检测数据进行聚类时,针对第一次从待检测数据集合中读取的待检测数据,这时,还未存在初始数据群组,针对该种情况,在本说明书实施例中,上述步骤102中,根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,还包括:
针对第一次从待检测数据集合中读取的待检测数据,将该待检测数据确定为一个初始数据群组。
在本说明书实施例中,将第一次从待检测数据群组中读取的待检测数据自己构成一个初始数据群组,这样,当第二次从待检测数据群组中读取待检测数据后,可以将第二次读取的待检测数据与该初始数据群组进行组合,以检测第二次读取的待检测数据是否属于该初始数据群组,以此类推。
例如,若是第一次从待检测数据集合中读取的待检测数据为28,则直接将28自己构成一个初始数据群组。
为便于理解本说明书实施例提供的对待检测数据集合进行聚类的具体过程,下述将通过具体实施例进行说明,图2为本说明书实施例提供的对待检测数据集合进行聚类的方法流程图,图2所示的聚类方法至少包括如下步骤:
步骤202,将第一次从待检测数据集合中读取的一个待检测数据作为一个初始数据群组。
其中,第一次从待检测数据集合中所读取的待检测数据可以为待检测数据集合中的任意一个数据。
步骤204,再次从待检测数据集合中读取一个待检测数据,并将此次读取的待检测数据与上述初始数据群组进行组合。
步骤206,计算此次读取的待检测数据与组合后的初始数据群组的数据平均值的差值,以及计算组合后的待检测数据后的数据初始群组的数据标准差。
步骤208,判断上述差值是否小于或等于数据标准差的设定倍数;若是,则执行步骤210;否则执行步骤212。
步骤210,将此次读取的待检测数据添加至上述初始数据群组。
步骤212,将此次读取的待检测数据单独作为一个初始数据群组。
步骤214,检测待检测数据集合中是否存在未聚类的待检测数据;若是,则执行步骤204;否则,结束。
通过本说明书实施例提供的方法对待检测数据集合中的待检测数据进行聚类,不需要提前设置数据群组的个数、每个数据群组中所包含的数据的个数等参数,操作简单方便。
当然,除了本说明书实施例所提供的聚类方法,还可以采用其他聚类方法对待检测数据群组进行聚类,如直接将待检测数据的数值之间的差值小于或等于设定阈值的待检测数据聚类一类,或者采用K-means聚类算法对待检测数据进行聚类等,本说明书实施例不再一一列举。
图3为本说明书实施例提供的异常数据的检测方法的方法流程图之二,图3所示的方法,至少包括如下步骤:
步骤302,将第一次从待检测数据集合中读取的一个待检测数据确定为一个初始数据群组。
步骤304,针对第N次从待检测数据集合中读取的待检测数据,将该待检测数据与当前存在的至少一个初始数据群组进行组合;其中,N为大于1的正整数。
步骤306,确定第N次读取的待检测数据与每个组合后的初始数据群组中待检测数据的数据平均值之间的差值,以及确定每个组合后的初始数据群组中待检测数据的数据标准差。
步骤308,基于上述差值和数据标准差,确定待检测数据所属的初始数据群组,得到待检测数据集合所对应的至少一个数据群组。
步骤310,确定聚类得到的数据群组的群组特征;其中,该群组特征包括聚类得到的所有数据群组的整体特征信息和每个数据群组分别所对应的个体特征信息。
步骤312,基于上述整体特征信息和/或个体特征信息按照设定检测规则检测上述数据群组中的异常数据群组。
步骤314,将异常数据群组中的待检测数据确定为待检测数据集合中的异常数据。
在具体实施时,上述步骤106中的设定检测规则包括第一设定检测规则和第二设定检测规则,相应的,基于上述整体特征信息和/或个体特征信息按照设定检测规则检测上述数据群组中的异常数据群组,具体包括如下步骤一和步骤二;
步骤一、基于上述整体特征信息或个体特征信息按照第一设定检测规则对聚类得到的所有数据群组进行检测,以筛除上述数据群组中的非异常数据群组;其中,第一设定检测规则基于所有数据群组的整体特征信息或者基于每个数据群组所对应的个体特征信息所确定;
步骤二、基于上述整体特征信息和个体特征信息按照第二设定检测规则确定筛除掉非异常数据群组后剩余的数据群组中的异常数据群组;其中,第二设定检测规则基于所有数据群组的整体特征信息和每个数据群组所对应的个体特征信息所确定。
当然,在步骤一中,若是上述第一设定检测规则为基于所有数据群组的整体特征信息所确定,则基于整体特征信息按照第一设定检测规则对聚类得到的所有数据群组进行检测;若是上述第一设定检测规则为基于所述数据群组的个体特征信息所确定,则基于个体特征信息按照第一设定检测规则对聚类得到的所有数据群组进行检测。
在本说明书实施例中,在检测数据群组中的异常数据群组时,可以通过两步检测的方式检测所有数据群组中的异常数据群组,在通过步骤一进行检测时,可以先筛除掉异常数据群组中明显非异常的数据群组,然后,再将筛除后剩余的数据群组通过步骤二进行检测,通过两轮检测的方式,即提高了检测的准确性,并且,先初步筛除明显非异常的数据群组,还可以减少后续检测的工作量。
在具体实施时,上述所有数据群组的整体特征信息包括聚类得到的数据群组的数量;上述每个数据群组所对应的个体特征信息包括上述数据群组中的待检测数据的数据平均值;
上述第一设定检测规则包括以下规则中的一种或多种:
数据群组的数量小于或等于第一设定阈值、数据群组中待检测数据的数据平均值小于或等于第二设定阈值或者数据群组中待检测数据的数据平均值大于或等于第三设定阈值;
上述第二设定检测规则包括以下规则中的一种或多种:
数据群组的数量大于或等于第四设定阈值且数据群组所对应的数据平均值满足设定要求。
例如,在具体实施时,上述第一设定检测规则可以为聚类得到的数据群组的数量为1,则认为该待检测数据不存在异常数据;或者,当某个数据群组的数据平均值小于第二设定阈值时,则认为该数据群组不是异常数据群组。
其中,上述第二设定阈值的具体取值可以根据实际业务场景进行设置,本说明书实施例并不对此进行限制。
其中,上述第二设定规则中数据群组所对应的数据平均值满足设定要求可以是数据平均值最大、或者数据平均值最小、或者数据平均值在所有数据群组中的排名为前N%等。
当然,当第一设定检测规则为数据群组的数量小于或等于第一设定阈值时,可以确定待检测数据群组中不存在异常数据,这时则不必再执行根据第二设定检测规则进行检测的步骤,只根据整体特征信息就可以实现异常数据的检测。
图4为本说明书实施例提供的异常数据的检测方法的方法流程图之三,图4所示的方法至少包括如下步骤:
步骤402,将第一次从待检测数据集合中读取的一个待检测数据确定为一个初始数据群组。
步骤404,针对第N次从待检测数据集合中读取的待检测数据,将该待检测数据与当前存在的至少一个初始数据群组进行组合;其中,N为大于1的正整数。
步骤406,确定第N次读取的待检测数据与每个组合后的初始数据群组中待检测数据的数据平均值之间的差值,以及确定每个组合后的初始数据群组中待检测数据的数据标准差。
步骤408,基于上述差值和数据标准差,确定待检测数据所属的初始数据群组,得到待检测数据集合所对应的多个数据群组。
当确定出待检测数据所属的初始数据群组后,直接将该待检测数据添加至其所属的初始数据群组即可,在将每个待检测数据添加至其所属的初始数据群组后,得到待检测数据集合所对应的至少一个数据群组。
步骤410,确定聚类得到的数据群组的群组特征;其中,该群组特征包括聚类得到的所有数据群组的整体特征信息和每个数据群组分别所对应的个体特征信息。
步骤412,基于上述整体特征信息或个体特征信息按照第一设定检测规则对聚类得到的数据群组进行检测,以筛除上述数据群组中的非异常数据群组;其中,第一设定检测规则基于所有数据群组的整体特征信息或者基于每个数据群组所对应的个体特征信息所确定。
步骤414,基于上述整体特征信息和个体特征信息按照第二设定检测规则确定筛除掉非异常数据群组后剩余的数据群组中的异常数据群组;其中,第二设定检测规则基于所有数据群组的整体特征信息和每个数据群组所对应的个体特征信息所确定。
步骤416,将异常数据群组中的待检测数据确定为待检测数据集合中的异常数据。
为便于理解本说明书实施例提供的异常数据的检测方法,下述将举例说明本说明书实施例提供的异常数据的检测方法。
例如,在一种具体实施方式中,待检测数据集合为[1、2、2、2、20、13、13、5、5、1、0],首先对上述待检测数据集合进行聚类,具体聚类过程如下:
第一次从待检测数据集合中读取一个待检测数据,假设所读取的待检测数据为1,将1单独构成一个初始数据群组,记为[1];再次从待检测数据集合中读取一个待检测数据,假设所读取的待检测数据为2,将2与上述初始数据群组[1]进行组合,得到的初始数据群组记为[1、2],数据群组[1、2]所对应的数据平均值为1.5,数据群组[1、2]所对应的数据标准差为0.5,f=(2-1.5)/0.5=1,假设上述设定倍数为1.4,由于1小于1.4,因此,可以确定出2属于初始数据群组[1],得到初始数据群组[1、2]。
再次从待检测数据集合中读取一个数据,假设所读取的待检测数据为2,将2与上述初始数据群组[1、2]进行组合,得到的初始数据群组记为[1、2、2],数据群组[1、2、2]所对应的数据平均值为5/3,数据群组[1、2、2]所对应的数据标准差为计算得到f=0.7,由于0.7小于1.4,因此,可以确定出2属于初始数据群组[1、2],得到初始数据群组[1、2、2]。
按照上述方法依次对待检测数据集合中的每个待检测数据群组进行聚类,若是所读取的某个待检测数据并不属于上述初始数据群组,则直接将该待检测数据单独构成一个初始数据群组。
针对上述举例,通过计算可以确定出,从待检测数据群组中所读取的数据2属于初始数据群组[1、2、2],得到初始数据群组[1、2、2、2];从待检测数据群组中所读取的数据20则不属于初始数据群组[1、2、2、2],因此,将20单独作为一个初始数据群组,记为初始数据群组[20],即当前存在初始数据群组[1、2、2、2]和初始数据群组[20]。
当再次从待检测数据集合中读取待检测数据13时,首先需要检测待检测数据13是否属于初始数据群组[1、2、2、2],若是确定出待检测数据13属于初始数据群组[1、2、2、2],则将待检测数据13添加至初始数据群组[1、2、2、2]中;若是确定出待检测数据13不属于初始数据群组[1、2、2、2],则继续检测待检测数据13是否属于初始数据群组[20],若是确定出待检测数据13属于初始数据群组[20],则将待检测数据13添加至初始数据群组[20]中;若是确定出待检测数据13也不属于初始数据群组[20],则直接将待检测数据13单独构成一个初始数据群组。
依照上述方式将上述待检测数据集合进行聚类,聚类得到三个数据群组,分别记为数据群组1、数据群组2和数据群组3,数据群组1为[1、2、2、2、1、0],数据群组2为[20、13、13],数据群组3为[5、5]。其中,数据群组1、数据群组2和数据群组3所对应的示意图如图5所示。
数据群组的群组特征如下所示:聚类得到的数据群组的群组数量为3、数据群组1的数据平均值为1.3,数据群组2的数据平均值为15,数据群组3的数据平均值为5。
针对上述待检测数据集合,第一设定检测规则为:如果聚类得到的数据群组的群组数量为1,则确定该待检测数据集合不存在异常数据;若是某个数据群组的数据平均值小于5,则确定该数据群组为非异常数据群组。
基于上述第一设定检测规则,可以确定出数据群组1为非异常数据群组,但是无法确定出数据群组2和数据群组3是否为异常数据群组。
针对上述待检测数据集合,第二设定检测规则为:当聚类得到的数据群组的群组数量大于或等于3时,将数据平均值最大的数据群组确定为异常数据群组。
针对上述举例,聚类得到的数据群组的数量为3,数据平均值最大的数据群组为数据群组2,因此,可以确定出数据群组2为异常数据群组。
综上所示,数据群组2[20、13、13]为异常数据群组,因此,待检测数据20、13、13为上述待检测数据集合中的异常数据。
本说明书实施例提供的异常数据的检测方法,在进行异常数据的检测时,首先根据各个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;之后,以数据群组为单位进行异常数据的检测。在本说明书实施例中,通过聚合处理可以将待检测数据聚合中数值相差不大的待检测数据聚为一个数据群组,并基于数据群组进行异常数据的检测,可以避免待检测数据集合中的极大值、极小值或者数据之间数量级的差异所带来的影响,从而提高异常数据检测的准确性。
对应于本说明书实施例提供的方法,基于相同的思路,本说明书实施例还提供了一种异常数据的检测装置,用于执行本说明书实施例提供的异常数据的检测方法,图6为本说明书实施例提供的异常数据的检测装置的模块组成示意图,图6所示的装置,包括:
聚类模块602,用于根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;其中,同一个数据群组中的各待检测数据的数值满足预设聚类条件;
第一确定模块604,用于确定至少一个数据群组的群组特征;其中,群组特征包括聚类得到的所有数据群组的整体特征信息和每个数据群组分别所对应的个体特征信息;
检测模块606,用于基于整体特征信息和/或个体特征信息按照设定检测规则检测数据群组中的异常数据群组。
可选的,本说明书实施例提供的装置,还包括:
第二确定模块,用于将检测确定的异常数据群组中的待检测数据确定为待检测数据集合中的异常数据。
可选的,上述设定检测规则包括第一设定检测规则和第二设定检测规则;
相应的,上述检测模块606,包括:
第一检测单元,用于基于整体特征信息或个体特征信息按照第一设定检测规则对聚类得到的所有数据群组进行检测,以筛除所有数据群组中的非异常数据群组;其中,第一设定检测规则基于所有数据群组的整体特征信息或者基于每个数据群组所对应的个体特征信息所确定;
第二检测单元,用于基于整体特征信息和个体特征信息按照第二设定检测规则确定筛除掉非异常数据群组后剩余的数据群组中的异常数据群组;其中,第二设定检测规则基于所有数据群组的整体特征信息和每个数据群组所对应的个体特征信息所确定。
可选的,所有数据群组的整体特征信息包括聚类得到的数据群组的数量;
每个数据群组的个体特征信息包括数据群组中的待检测数据的数据平均值;
第一设定检测规则包括以下规则中的任意一种:
数据群组的数量小于或等于第一设定阈值、数据群组中待检测数据的数据平均值小于或等于第二设定阈值或者数据群组中待检测数据的数据平均值大于或等于第三设定阈值;
第二设定检测规则包括以下规则中的任意一种:
数据群组的数量大于或等于第四设定阈值且数据群组所对应的数据平均值满足设定要求。
可选的,上述聚类模块602,包括:
组合单元,用于针对第N次从待检测数据集合读取的待检测数据,分别将待检测数据与当前聚类得到的至少一个初始数据群组进行组合;其中,N为大于1的正整数;
第一确定单元,用于分别确定待检测数据与每个组合后的初始数据群组中待检测数据的数据平均值之间的差值以及每个组合后的初始数据群组中待检测数据的数据标准差;
第二确定单元,用于基于差值和数据标准差,确定待检测数据所属的初始数据群组;
添加单元,用于将第N次读取的所述待检测数据添加至其所属的初始数据群组,得到至少一个数据群组。
可选的,上述第二确定单元,具体用于:
将差值小于或等于数据标准差的设定倍数的初始数据群组确定为待检测数据所属的初始数据群组。
可选的,上述聚类模块602,还包括:
第三确定单元,用于针对第一次从待检测数据集合中的读取的待检测数据,将待检测数据确定为一个初始数据群组。
本说明书实施例的异常数据的检测装置还可执行图1-图5中异常数据的检测装置执行的方法,并实现异常数据的检测装置在图1-图5所示实施例的功能,在此不再赘述。
本说明书实施例提供的异常数据的检测装置,在进行异常数据的检测时,首先根据各个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;之后,以数据群组为单位进行异常数据的检测。在本说明书实施例中,通过聚合处理可以将待检测数据聚合中数值相差不大的待检测数据聚为一个数据群组,并基于数据群组进行异常数据的检测,可以避免待检测数据集合中的极大值、极小值或者数据之间数量级的差异所带来的影响,从而提高异常数据检测的准确性。
进一步地,基于上述图1至图5所示的方法,本说明书实施例还提供了一种异常数据的检测设备,如图7所示。
异常数据的检测设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对异常数据的检测设备中的一系列计算机可执行指令信息。更进一步地,处理器701可以设置为与存储器702通信,在异常数据的检测设备上执行存储器702中的一系列计算机可执行指令信息。异常数据的检测设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。
在一个具体的实施例中,异常数据的检测设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对异常数据的检测设备中的一系列计算机可执行指令信息,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令信息:
根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;其中,同一个数据群组中的各待检测数据的数值满足预设聚类条件;
确定至少一个数据群组的群组特征;其中,群组特征包括聚类得到的所有数据群组的整体特征信息和每个数据群组分别所对应的个体特征信息;
基于上述整体特征信息和/或个体特征信息按照设定检测规则检测数据群组中的异常数据群组。
可选的,计算机可执行指令信息在被执行时,基于群组特征按照设定检测规则检测异常的数据群组之后,还可以执行如下步骤:
将检测确定的异常数据群组中的待检测数据确定为待检测数据集合中的异常数据。
可选的,计算机可执行指令信息在被执行时,设定检测规则包括第一设定检测规则和第二设定检测规则;
基于上述整体特征信息和/或个体特征信息按照设定检测规则检测数据群组中的异常数据群组,包括:
基于上述整体特征信息或个体特征信息按照第一设定检测规则对聚类得到的所有数据群组进行检测,筛除所有数据群组中的非异常数据群组;其中,第一设定检测规则基于所有数据群组的整体特征信息或者基于每个数据群组所对应的个体特征信息所确定;
基于上述整体特征信息和个体特征信息按照第二设定检测规则确定筛除掉非异常数据群组后剩余的数据群组中的异常数据群组;其中,第二设定检测规则基于所有数据群组的整体特征信息和每个数据群组所对应的个体特征信息所确定。
可选的,计算机可执行指令信息在被执行时,所有数据群组的整体特征信息包括聚类得到的数据群组的数量;
每个数据群组的个体特征信息包括数据群组中的待检测数据的数据平均值;
第一设定检测规则包括以下规则中的任意一种:
数据群组的数量小于或等于第一设定阈值、数据群组中待检测数据的数据平均值小于或等于第二设定阈值或者数据群组中待检测数据的数据平均值大于或等于第三设定阈值;
第二设定检测规则包括以下规则中的任意一种:
数据群组的数量大于或等于第四设定阈值且数据群组所对应的数据平均值满足设定要求。
可选的,计算机可执行指令信息在被执行时,根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组,包括:
针对第N次从待检测数据集合读取的待检测数据,分别将待检测数据与当前聚类得到的至少一个初始数据群组进行组合;其中,N为大于1的正整数;
分别确定待检测数据与每个组合后的初始数据群组中待检测数据的数据平均值之间的差值以及每个组合后的初始数据群组中待检测数据的数据标准差;
基于差值和数据标准差,确定待检测数据所属的初始数据群组;
将第N次读取的所述待检测数据添加至其所属的初始数据群组,得到至少一个数据群组。
可选的,计算机可执行指令信息在被执行时,基于差值和数据标准差,确定待检测数据所属的初始数据群组,包括:
将差值小于或等于数据标准差的设定倍数的初始数据群组确定为待检测数据所属的初始数据群组。
可选的,计算机可执行指令信息在被执行时,根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,还包括:
针对第一次从待检测数据集合中的读取的待检测数据,将待检测数据确定为一个初始数据群组。
本说明书实施例提供的异常数据的检测设备,在进行异常数据的检测时,首先根据各个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;之后,以数据群组为单位进行异常数据的检测。在本说明书实施例中,通过聚合处理可以将待检测数据聚合中数值相差不大的待检测数据聚为一个数据群组,并基于数据群组进行异常数据的检测,可以避免待检测数据集合中的极大值、极小值或者数据之间数量级的差异所带来的影响,从而提高异常数据检测的准确性。
进一步地,基于上述图1至图5所示的方法,本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;其中,同一个数据群组中的各待检测数据的数值满足预设聚类条件;
确定至少一个数据群组的群组特征;其中,群组特征包括聚类得到的所有数据群组的整体特征信息和每个数据群组分别所对应的个体特征信息;
基于上述整体特征信息和/或个体特征信息按照设定检测规则检测数据群组中的异常数据群组。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,基于群组特征按照设定检测规则检测异常的数据群组之后,还可以执行如下步骤:
将检测确定的异常数据群组中的待检测数据确定为待检测数据集合中的异常数据。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,设定检测规则包括第一设定检测规则和第二设定检测规则;
基于上述整体特征信息和/个体特征信息按照设定检测规则检测数据群组中的异常数据群组,包括:
基于上述整体特征信息或个体特征信息按照第一设定检测规则对聚类得到的所有数据群组进行检测,筛除所有数据群组中的非异常数据群组;其中,第一设定检测规则基于所有数据群组的整体特征信息或者基于每个数据群组所对应的个体特征信息所确定;
基于上述整体特征信息和个体特征信息按照第二设定检测规则确定筛除掉非异常数据群组后剩余的数据群组中的异常数据群组;其中,第二设定检测规则基于所有数据群组的整体特征信息和每个数据群组所对应的个体特征信息所确定。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,所有数据群组的整体特征信息包括聚类得到的数据群组的数量;
每个数据群组的个体特征信息包括数据群组中的待检测数据的数据平均值;
第一设定检测规则包括以下规则中的任意一种:
数据群组的数量小于或等于第一设定阈值、数据群组中待检测数据的数据平均值小于或等于第二设定阈值或者数据群组中待检测数据的数据平均值大于或等于第三设定阈值;
第二设定检测规则包括以下规则中的任意一种:
数据群组的数量大于或等于第四设定阈值且数据群组所对应的数据平均值满足设定要求。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组,包括:
针对第N次从待检测数据集合读取的待检测数据,分别将待检测数据与当前聚类得到的至少一个初始数据群组进行组合;其中,N为大于1的正整数;
分别确定待检测数据与每个组合后的初始数据群组中待检测数据的数据平均值之间的差值以及每个组合后的初始数据群组中待检测数据的数据标准差;
基于差值和数据标准差,确定待检测数据所属的初始数据群组;
将第N次读取的所述待检测数据添加至其所属的初始数据群组,得到至少一个数据群组。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,基于差值和数据标准差,确定待检测数据所属的初始数据群组,包括:
将差值小于或等于数据标准差的设定倍数的初始数据群组确定为待检测数据所属的初始数据群组。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,根据待检测数据集合中每个待检测数据的数值对待检测数据集合进行聚类,还包括:
针对第一次从待检测数据集合中的读取的待检测数据,将待检测数据确定为一个初始数据群组。
本说明书实施例提供的存储介质存储的计算机可执行指令信息在被处理器执行时,在进行异常数据的检测时,首先根据各个待检测数据的数值对待检测数据集合进行聚类,得到至少一个数据群组;之后,以数据群组为单位进行异常数据的检测。在本说明书实施例中,通过聚合处理可以将待检测数据聚合中数值相差不大的待检测数据聚为一个数据群组,并基于数据群组进行异常数据的检测,可以避免待检测数据集合中的极大值、极小值或者数据之间数量级的差异所带来的影响,从而提高异常数据检测的准确性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令信息实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令信息到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令信息产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令信息也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令信息产生包括指令信息装置的制造品,该指令信息装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令信息也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令信息提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令信息、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令信息的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。