公开/公告号CN107133343A
专利类型发明专利
公开/公告日2017-09-05
原文格式PDF
申请/专利权人 哈工大大数据产业有限公司;
申请/专利号CN201710358991.4
申请日2017-05-19
分类号G06F17/30(20060101);
代理机构11609 北京格允知识产权代理有限公司;
代理人周娇娇;谭辉
地址 150001 黑龙江省哈尔滨市经开区哈平路集中区渤海路6号动漫基地F座509室
入库时间 2023-06-19 03:17:41
法律状态公告日
法律状态信息
法律状态
2018-04-13
授权
授权
2017-09-29
实质审查的生效 IPC(主分类):G06F17/30 申请日:20170519
实质审查的生效
2017-09-05
公开
公开
技术领域
本发明涉及大数据异常状态检测技术,尤其涉及一种基于时间序列近似匹配的大数据异常状态检测方法及装置。
背景技术
异常状态检测广泛应用于电力,遥感、道桥、机械等各种领域,对于系统的正常运转具有极其重要的作用。近年来,由于在线检测数据的体量大、类型繁多的特点,人们将大数据技术引入到了异常检测中,为提高系统异常检测准确性提供了全新的解决方法和思路。
在异常状态检测中,时间序列分析法是一种常用的方法。现有技术中提出了一种基于集合的时间序列分析法,该方法首先将分布于时间轴上的数据按照一定的规则和分割系数分割为集合,并对集合编号,集合序号包含着该集合中数据点的幅值信息和在时间轴上的位置信息。然后将包含着多个数据点的集合看作新的元素,与其他时间序列比较,并利用杰卡德(Jaccard)系数衡量两序列的相似性。这种方法将比较时间序列的相似性转换为比较集合的相似性,大大加快了运算速度,并且具有良好的可扩展性。
然而,上述方法的匹配精度和匹配速度很大程度上依赖于所分割的集合的大小,分割越精细,集合越小,则精度越高。但过小的集合又会导致集合数过大从而影响降低算法的匹配速度,尤其是将之应用于大数据计算系统中后,庞大的数据量将会进一步使该检测方法的性能恶化。
发明内容
本发明要解决的技术问题在于,针对现有异常状态检测方法在提高精度时加大了数据运算量的缺陷,提供了一种基于时间序列近似匹配的大数据异常状态检测方法及装置,通过将基于集合的时间序列分割与哈希分割相结合,进一步对数据进行降维,减少运算数据量,更适用于大数据计算计算系统中的异常检测。
本发明第一方面,提供了一种基于时间序列近似匹配的大数据异常状态检测方法,包括以下步骤:
A、根据待测时间序列的数据范围以及预设的分割系数将所述待测时间序列划分到多个集合中,并采用数据点所在的集合编号组成的一维待测序列表示所述待测时间序列;
B、根据标准时间序列的数据范围以及所述分割系数将所述标准时间序列划分到多个集合中,并采用数据点所在的集合编号组成的一维标准序列表示所述标准时间序列;
C、对所述一维待测序列和一维标准序列进行哈希运算;
D、计算所述一维待测序列和一维标准序列的杰卡德系数,并判断杰卡德系数小于预设阈值的时间序列为存在异常状态的序列。
优选地,所述方法还包括在步骤D之后执行的步骤E:对步骤D中检测出的不存在异常状态的时间序列,减小分割系数,并迭代执行步骤A至D直至满足异常状态检测的精度要求。
本发明第二方面,提供了一种基于时间序列近似匹配的大数据异常状态检测装置,包括:
待测数据分割模块,用于根据待测时间序列的数据范围以及预设的分割系数将所述待测时间序列划分到多个集合中,并采用数据点所在的集合编号组成的一维待测序列表示所述待测时间序列;
标准数据分割模块,用于根据标准时间序列的数据范围以及所述分割系数将所述标准时间序列划分到多个集合中,并采用数据点所在的集合编号组成的一维标准序列表示所述标准时间序列;
哈希运算模块,用于对所述一维待测序列和一维标准序列进行哈希运算;
相似性检测模块,计算所述一维待测序列和一维标准序列的杰卡德系数,并判断杰卡德系数小于预设阈值的时间序列为存在异常状态的序列。
优选地,所述装置还包括:迭代筛选模块,用于对相似性检测模块检测出的不存在异常状态的时间序列,减小分割系数,并迭代执行异常状态检测操作直至满足异常状态检测的精度要求。
实施本发明的基于时间序列近似匹配的大数据异常状态检测方法及装置,具有以下有益效果:本发明通过将基于集合的时间序列分割与哈希运算相结合,对包含集合编号的新表进行哈希运算,减小了计算杰卡德系数的运算量;进一步地,本发明可以采用多次筛选的办法,首先对序列进行较粗的分割,再对剩余序列进行较细的分割,保证整体运算速度的同时又兼顾了异常状态检测的精度。
附图说明
图1为根据本发明优选实施例的基于时间序列近似匹配的大数据异常状态检测方法的流程图;
图2为根据本发明优选实施例的基于时间序列近似匹配的大数据异常状态检测方法的集合分割示意图;
图3为根据本发明优选实施例的基于时间序列近似匹配的大数据异常状态检测装置的模块框图;
图4为根据本发明优选实施例的装置中的待测数据分割模块的一种实施方式的示意图;
图5为根据本发明优选实施例的装置中的相似性检测模块的一种实施方式的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,为根据本发明优选实施例的基于时间序列近似匹配的大数据异常状态检测方法的流程图。如图1所示,该方法包括以下步骤:
首先,在步骤S101中,根据待测时间序列S的数据范围以及预设的分割系数将待测时间序列S划分到多个集合中,并采用数据点所在集合编号组成的一维待测序列S'表示待测时间序列S。其中,待测时间序列S的数据范围包括tmax、tmin、xmax和xmin,预设的分割系数包括σ和ε。分割系数σ和ε决定每个集合的大小,由实际需要的异常状态检测精度和数据量决定。
在本发明更优选的实施方式中,该步骤S101具体包括:
(1)依据预设的分割系数σ和ε将待测时间序列S的数据点划分到m×n个集合中,其中总行数m=(xmax-xmin)/σ,总列数n=(tmax-tmin)/ε。其中tmax和tmin为待测时间序列S的时间上限值和下限值,xmax和xmin为待测时间序列S的幅值上限值和下限值。也就是说,依据预设的分割系数σ和ε,将待测时间序列S的时间轴划分为n=(tmax-tmin)/ε个小区间,幅值轴划分为m=(xmax-xmin)/σ个小区间,使得待测时间序列S的数据点按照各自的坐标值被划分在了m×n个大小均为σ×ε的集合中。
(2)对步骤(1)得到的多个集合进行编号,假设待测时间序列S上的数据点P(ti,xi),1≤i≤k,其中k为所述待测时间序列S的数据点总数。则该数据点P(ti,xi)所在集合编号为:Ni=(mi-1)×n+ni,其中该数据点所在行数mi=(xi-xmin)/σ,该数据点所在列数ni=(ti-tmin)/ε,由此构建一维待测序列S'={N1,N2,…,NK}。可见,集合编号Ni中既包含着集合中数据点的时间信息,也包含着幅值信息,因此,可用由集合编号组成的新的数据表S’代替原始的待测时间序列S,从而将二维数据转换成一维数据。
请结合参阅图2,为根据本发明优选实施例的基于时间序列近似匹配的大数据异常状态检测方法的集合分割示意图。如图2所示,其中依据预设的分割系数σ和ε,将待测时间序列S的时间轴t划分为n=4个小区间,幅值轴划分为m=5个小区间,从而将待测时间序列S分割到5×4个集合中,按照前述规律对每个集合进行编号后,可以使用待测时间序列S所有数据点分布的集合编号来构建一维序列作为一维待测序列S',如图2中S'={1,2,6,7,11,12,16,20}。
随后,在步骤S102中,根据标准时间序列Q的数据范围以及与步骤S101中相等的分割系数σ和ε将标准时间序列Q分为多个集合,同样采用标准时间序列Q的数据点所在的集合编号组成的一维标准序列Q’表示标准时间序列Q。
随后,在步骤S103中,对包含集合编号的一维待测序列S'和一维标准序列Q’进行哈希运算,以减小数据量。具体地,该步骤S103中对序列表中数据进行取余运算,将余数相同的数据放入同一哈希桶内,以减小数据量。
最后,在步骤S104中,计算一维待测序列S'和一维标准序列Q'的杰卡德(Jaccard)系数,并判断杰卡德系数小于预设阈值的时间序列为存在异常状态的序列。
在本发明更优选的实施方式中,该步骤S104具体包括:
(1)通过以下公式计算一维待测序列S'和一维标准序列Q'的杰卡德系数:J(S',Q')=|S'∩Q'|/|S'∪Q'|。其中一维待测序列S'和一维标准序列Q'包含的是集合编号,而非原始时间序列的数据,也就是将时间序列的相似性运算转化为了集合的相似性运算。该步骤中可先计算各个哈希桶间的杰卡德系数,再对杰卡德系数较小的哈希桶中包含的待测序列进行逐一计算。
(2)判断J(S',Q')<Jmin的时间序列存在异常状态,判断J(S',Q')≥Jmin的时间序列不存在异常状态,其中Jmin为预设阈值。
在本发明更优选的实施方式中,基于时间序列近似匹配的大数据异常状态检测方法还包括在步骤S104之后执行的以下步骤:对步骤S104中检测出的不存在异常状态的时间序列,减小分割系数σ和ε,并迭代执行步骤S101-S104直至满足异常状态检测的精度要求。该步骤可以对前述判断的不存在异常状态的时间序列,即J(S',Q')≥Jmin的时间序列,进行二次检测,或者进行多次检测直至满足异常检测的精度要求。当对异常检测的精度要求较高时,可以重复多次执行步骤S101-S104,并且在每次重复时减小分割系数σ和ε,从而进行更细的分割,直至满足异常状态检测的精度要求。
请结合参阅图3,为根据本发明优选实施例的基于时间序列近似匹配的大数据异常状态检测装置的模块框图。如图3所示,该实施例提供的基于时间序列近似匹配的大数据异常状态检测装置10至少包括:待测数据分割模块100、标准数据分割模块200、哈希运算模块300和相似性检测模块400。
其中,待测数据分割模块100根据待测时间序列S的数据范围以及预设的分割系数将待测时间序列S划分到多个集合中,并采用数据点所在集合编号组成的一维待测序列S'表示待测时间序列S。
标准数据分割模块200用于根据标准时间序列Q的数据范围以及与待测数据分割模块100中相等的分割系数σ和ε将标准时间序列Q分为多个集合,同样采用标准时间序列Q的数据点所在的集合编号组成的一维标准序列Q’表示标准时间序列Q。
哈希运算模块300与待测数据分割模块100以及标准数据分割模块200相连,用于对包含集合编号的一维待测序列S'和一维标准序列Q’进行哈希运算,以减小数据量。优选地,该哈希运算模块300对序列表中数据进行取余运算,将余数相同的数据放入同一哈希桶内,进一步减小数据量。
相似性检测模块400与所述哈希运算模块300相连,用于计算一维待测序列S'和一维标准序列Q'的杰卡德(Jaccard)系数,并判断杰卡德系数小于预设阈值的时间序列为存在异常状态的序列。
请结合参阅图4,为根据本发明优选实施例的装置中的待测数据分割模块的一种实施方式的示意图。如图4所示,该待测数据分割模块100包括:数据分割单元110以及与之相连的数据编号单元120。
其中数据分割单元110,用于依据预设的分割系数σ和ε将待测时间序列S的数据点划分到m×n个集合中,其中总行数m=(xmax-xmin)/σ,总列数n=(tmax-tmin)/ε。其中tmax和tmin为待测时间序列S的时间上限值和下限值,xmax和xmin为待测时间序列S的幅值上限值和下限值。
数据编号单元120用于对数据分割单元110分割的多个集合进行编号,假设待测时间序列S上的数据点P(ti,xi),1≤i≤k,其中k为所述待测时间序列S的数据点总数;则该数据点P(ti,xi)所在集合编号为:Ni=(mi-1)×n+ni,其中mi=(xi-xmin)/σ,ni=(ti-tmin)/ε,由此构建一维待测序列S'={N1,N2,…,NK}。
请结合参阅图5,为根据本发明优选实施例的装置中的相似性检测模块的一种实施方式的示意图。如图5所示,该相似性检测模块400包括:系数计算单元410以及与之相连的系数计算单元420。
其中系数计算单元410用于通过以下公式计算一维待测序列S'和一维标准序列Q'的杰卡德系数:J(S',Q')=S'∩Q'|/|S'∪Q'|。
异常判断单元420用于判断J(S',Q')<Jmin的时间序列存在异常状态,判断J(S',Q')≥Jmin的时间序列不存在异常状态,其中Jmin为预设阈值。
在本发明更优选的实施例中,该基于时间序列近似匹配的大数据异常状态检测装置还可以进一步的包括:迭代筛选模块,与相似性检测模块400连接,用于对相似性检测模块400检测出的不存在异常状态的时间序列,减小分割系数,迭代执行异常状态检测操作。也就是说,迭代筛选模块可对J(S',Q')≥Jmin的时间序列进行二次筛选。具体为减小分割系数σ和ε,对J(S',Q')≥Jmin的时间序列进行二次分割,使用与前面相同的方法继续进行异常状态检测。该二次筛选模块也可以进行多次检测直至满足异常状态检测的精度要求,并且在每次检测时减小分割系数σ和ε,从而进行更细的分割。
综上所述,本发明的关键点在于将基于集合的时间序列分割与哈希运算相结合,对包含集合编号的新表,即一维待测序列S'和一维标准序列Q'进行哈希运算,减小了计算杰卡德(Jaccard)系数的运算量。进一步地,本发明采用多次筛选的办法,保证异常状态检测的精度。首先对序列进行较粗的分割,再对剩余序列进行较细的分割,保证整体运算速度的同时又兼顾了运算精度。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
机译: 装置状态检测器,装置状态的检测方法,装置状态检测服务器和装置状态检测系统;生活人的异常检测器,生活人的异常检测系统和方法,以及生活状态异常的检测器,装置状态数据库维护服务器
机译: 基于时间序列预测模型和地下水位异常观测数据的异常观测数据检测方法
机译: 基于大数据分析的医疗保险异常检测方法,装置及装置