一种检测异常数据区间的数据挖掘方法及系统的制作方法
【技术领域】
[0001]本申请涉及数据挖掘领域,特别涉及一种检测异常数据区间的数据挖掘方法及系统。
【背景技术】
[0002]随着技术的发展,人们对异常数据区间的数据挖掘越来越关注。
[0003]现有的异常数据数据挖掘都是进行离群点或孤立点的检测,对于具有时间或空间连续性的数据,也只能检测到异常的独立数据点,不能检测到异常的数据区间。
[0004]因此,如何有效的检测到异常数据区间是本领域技术人员目前需要解决的技术问题。
【发明内容】
[0005]本申请所要解决的技术问题是提供一种检测异常数据区间的数据挖掘方法及系统,解决了现有技术中异常数据数据挖掘都是进行离群点或孤立点的检测,对于具有时间或空间连续性的数据,也只能检测到异常的独立数据点,不能检测到异常的数据区间的问题。
[0006]其具体方案如下:
[0007]—种检测异常数据区间的数据挖掘方法,确定区间宽度和步进长度,以区间步进的方式遍历目标数据,该方法包括:
[0008]获取当前数据区间的最大值和最小值;
[0009]计算所述当前数据区间的偏移量,其中,所述当前数据区间的偏移量为所述当前数据区间的最大值和最小值的差值;
[0010]获取遍历完的数据和所述当前数据区间中所有数据的当前整体最大值和当前整体最小值;
[0011 ] 计算所述目标数据的当前整体偏移量,其中,所述目标数据的当前整体偏移量为所述当前整体最大值和当前整体最小值的差值;
[0012]计算所述当前数据区间的偏移率,其中,所述当前数据区间的偏移率为所述当前数据区间的偏移量与所述当前整体偏移量的比值;
[0013]将所述当前数据区间的偏移率与额定偏移率进行比较;
[0014]当所述当前数据区间的偏移率大于所述额定偏移率时,确定所述当前数据区间中最大值数据点和最小值数据点、以及位于所述最大值数据点和最小值数据点之间的数据点均为异常数据点,所述最大值数据点和所述最小值数据点组成的区间为异常数据区间;
[0015]以所述步进长度和区间宽度进行区间步进,将下一个数据区间作为当前数据区间,重复所述获取当前数据区间的最大值和最小值,直到遍历完所述目标数据,得到所有的异常数据点、异常数据区间和所述目标数据的整体最大值和整体最小值。
[0016]上述的方法,可选的,所述确定当前数据区间中最大值数据点和最小值数据点、以及位于所述最大值数据点和最小值数据点之间的数据点均为异常数据点之后,还包括:
[0017]对所述异常数据点进行分类;
[0018]其中,所述对异常数据点进行分类,包括:
[0019]比较所述当前异常数据区间中第一个异常数据点和第二个异常数据点的大小;
[0020]当所述第一个异常数据点小于所述第二个异常数据点时,确定所述第一个异常数据点为异常增大的起始数据点,所述当前异常数据区间中的最后一个异常数据点为异常增大的结束数据点;
[0021]当所述第一个异常数据点大于所述第二个异常数据点时,确定所述第一个异常数据点为异常减小的起始数据点,所述当前异常数据区间中的最后一个异常数据点为异常减小的结束数据点。
[0022]上述的方法,可选的,还包括:
[0023]以遍历的方式检测所有异常数据点,祛除不符合预设要求的异常数据点,确定最终的异常数据点;
[0024]其中,所述以遍历的方式检测所有异常数据点,祛除不符合预设要求的异常数据点,确定最终的异常数据点,包括:
[0025]判断当前异常数据点的位置是否在所述目标数据的整体最大值和整体最小值的位置之后;
[0026]当所述当前异常数据点的位置在所述目标数据的整体最大值和整体最小值的位置之后时,判断所述当前异常数据点与上一个类别相同的异常数据点之间的距离与所述步进长度之间的关系;
[0027]当所述当前异常数据点与上一个类别相同的异常数据点之间的距离大于所述步进长度时,确定所述当前异常数据点为异常点;
[0028]当所述当前异常数据点与上一个类别相同的异常数据点之间的距离等于所述步进长度时,将所述当前异常数据点的类别添加到所述上一个类别相同的异常数据点中,并删除所述当前异常数据点;
[0029]当所述当前异常数据点与上一个类别相同的异常数据点之间的距离小于所述步进长度时,在所述当前异常数据点所属类别中,祛除一个无效的异常数据点;
[0030]将下一个异常数据点作为当前异常数据点,重复上述过程,直到遍历完所有的异常数据点。
[0031]上述的方法,可选的,还包括:
[0032]当所述当前异常数据点的位置不在所述目标数据的整体最大值和整体最小值的位置之后时,判断所述当前异常数据点所属的异常数据区间的最大值与最小值的差值是否大于所述目标数据的整体额定偏差值;
[0033]当所述当前异常数据点所属的异常数据区间的最大值与最小值的差值大于所述目标数据的整体额定偏差值时,判断所述当前异常数据点与上一个类别相同的异常数据点之间的距离与所述步进长度之间的关系;
[0034]当所述当前异常数据点所属的异常数据区间的最大值与最小值的差值不大于所述目标数据的整体额定偏差值时,确定所述当前异常数据点为无效异常数据点,祛除所述当前异常数据点;
[0035]其中,所述目标数据的整体额定偏差值为所述目标数据的整体最大值和整体最小值的差值与所述额定偏移率的乘积。
[0036]上述的方法,可选的,所述在所述当前异常数据点所属类别中,祛除一个无效的异常数据点,包括:
[0037]判断所述当前异常数据点的类别;
[0038]当所述当前异常数据点为异常增大的起始数据点时,保留序列小的异常数据点,删除序列大的异常数据点;
[0039]当所述当前异常数据点为异常增大的结束数据点时,保留序列大的异常数据点,删除序列小的异常数据点;
[0040]当所述当前异常数据点为异常减小的起始数据点时,保留序列小的异常数据点,删除序列大的异常数据点;
[0041]当所述当前异常数据点为异常减小的结束数据点时,保留序列大的异常数据点,删除序列小的异常数据点。
[0042]—种检测异常数据区间的数据挖掘系统,该系统包括:
[0043]第一确定单元,用于确定区间宽度和步进长度,以区间步进的方式遍历目标数据;
[0044]第一获取单元,用于获取当前数据区间的最大值和最小值;
[0045]第一计算单元,用于计算所述当前数据区间的偏移量,其中,所述当前数据区间的偏移量为所述当前数据区间的最大值和最小值的差值;
[0046]第二获取单元,用于获取遍历完的数据和所述当前数据区间中所有数据的当前整体最大值和当前整体最小值;
[0047]第二计算单元,用于计算所述目标数据的当前整体偏移量,其中,所述目标数据的当前整体偏移量为所述当前整体最大值和当前整体最小值的差值;
[0048]第三计算单元,用于计算所述当前数据区间的偏移率,其中,所述当前数据区间的偏移率为所述当前数据区间的偏移量与所述当前整体偏移量的比值;
[0049]第一比较单元,用于将所述当前数据区间的偏移率与额定偏移率进行比较;
[0050]第二确定单元,用于当所述当前数据区间的偏移率大于所述额定偏移率时,确定所述当前数据区间中最大值数据点和最小值数据点、以及位于所述最大值数据点和最小值数据点之间的数据点均为异常数据点,所述最大值数据点和所述最小值数据点组成的区间为异常数据区间;
[0051]步进单元,用于以所述步进长度和区间宽度进行区间步进,将下一个数据区间作为当前数据区间,重复所述获取当前数据区间的最大值和最小值,直到遍历完所述目标数据,得到所有的异常数据点、异常数据区间和所述目标数据的整体最大值和整体最小值。
[0052]上述的系统,可选的,还包括:
[0053]分类单元,用于对所述异常数据点进行分类;
[0054]其中,所述分类单元,包括:
[0055]第二比较单元,用于比较所述当前异常数据区间中第一个异常数据点和第二个异常数据点的大小;
[0056]第三确定单元,用于当所述第一个异常数据点小于所述第二个异常数据点时,确定所述第一个异常数据点为异常增大的起始数据点,所述当前异常数据区间中的最后一个异常数据点为异常增大的结束数据点;
[0057]第四确定单元,用于当所述第一个异常数据点大于所述第二个异常数据点时,确定所述第一个异常数据点为异常减小的起始数据点,所述当前异常数据区间中的最后一个异常数据点为异常减小的结束数据点。
[0058]上述的系统,可选的,还包括:
[0059]检测单元,用于