
技术摘要:
本发明实施例提供了一种检测时间序列中异常子序列的方法及设备。所述方法包括:采用单个数值与单个时刻点构成一元组,将若干元组构成时间序列,定义不同时间序列在任一时刻点的相似性;构造若干分裂点将时间序列中的数值空间划分为若干个数值区间,并获取时间序列的概 全部
背景技术:
在现实生活中,各个领域都包含了大量的时间序列数据,例如病人的心电图数据、 脑电图数据、工业领域传感器数据以及网络流数据等。时间序列数据是按照数据产生先后 关系形成的数据。因此,时间序列数据记录了某个动作在时间维度上的波动信息,而时间序 列数据中可能包含的异常子序列会包含比大多数正常的子序列的更多的重要信息。例如, 异常的心电数据意味着病人可能患有某种类型的心脏疾病,异常的脑电数据可能是由癫痫 等脑科疾病引起的。时间序列中异常子序列(模式)检测是一个十分重要的领域,含异常模 式的时间序列大部分数据表现为正常形态,异常模式出现频率极少,但极少出现的异常模 式却包含相当重要的信息。在无监督的时间序列异常检测算法不需要已知数据,属于惰性 学习的机器学习算法。在无监督的异常子序列检测算法中,对任意时间序列中任意两子序 列的进行比较进而来判断异常情况;但是时间序列数据具有动态性等特性,且常为高维数 据;因此,对于这些比较两两子序列的方法往往需要较大的时间开销,且其在转化时间序列 表示的过程中,往往会丢失时间序列数据在时间维度上的信息,因此,其会影响算法的检测 准确度。因此,时间序列数据的异常子序列检测研究极具现实意义。因此,开发一种检测时 间序列中异常子序列的方法,可以有效克服上述相关技术中的缺陷,就成为业界亟待解决 的技术问题。
技术实现要素:
针对现有技术存在的上述问题,本发明实施例提供了一种检测时间序列中异常子 序列的方法及设备。 第一方面,本发明的实施例提供了一种检测时间序列中异常子序列的方法,包括: 采用单个数值与单个时刻点构成一元组,将若干元组构成时间序列,定义不同时间序列在 任一时刻点的相似性;构造若干分裂点将时间序列中的数值空间划分为若干个数值区间, 并获取时间序列的概率密度,根据所述概率密度获取时间序列中任意时刻点落入任意数值 区间的概率,根据所述概率和若干个数值区间构建区间表,根据所述区间表构建扩展区间 表;在所述扩展区间表中获取时间序列每个子序列的每个时刻点的权重,对所有权重取平 均值作为所述每个子序列的分数,若所述分数越小,则所述子序列被确定为异常的可能性 越低;其中,所述数值空间由所述若干元组中的所有数值构成;任意数值点落入任意数值区 间的概率相同。 在上述方法实施例内容的基础上,本发明实施例中提供的检测时间序列中异常子 序列的方法,所述采用单个数值与单个时刻点构成一元组,将若干元组构成时间序列,包 括: 4 CN 111612082 A 说 明 书 2/11 页 P={(t1,p1) ,(t2,p2) ,(t3,p3) ,...,(tn,pn)} 其中,n为时间序列的长度,为任意整数;(tn,pn)为所述一元组;P为所述时间序列; tn为所述单个时刻点;pn为所述单个数值。 在上述方法实施例内容的基础上,本发明实施例中提供的检测时间序列中异常子 序列的方法,所述定义不同时间序列在任一时刻点的相似性,包括:若第一时间序列与第二 时间序列在所述t1至tn时刻中任一时刻点的数值位于同一数值区间,则判定所述第一时间 序列与第二时间序列在所述任一时刻点是相似的。 在上述方法实施例内容的基础上,本发明实施例中提供的检测时间序列中异常子 序列的方法,所述概率密度为: 所述概率为: 其中,x为任意时刻点;S为数值区间的个数;βi为第i个分裂点;i=0,…,S-1。 在上述方法实施例内容的基础上,本发明实施例中提供的检测时间序列中异常子 序列的方法,所述构造若干分裂点,包括: 其中,p'为p相对于时间的导数;G为构造函数,若G为零则判定βi为一分裂点,若G 不为零则判定βi不是分裂点。 在上述方法实施例内容的基础上,本发明实施例中提供的检测时间序列中异常子 序列的方法,所述根据所述概率和若干个数值区间构建区间表,相应地,所述区间表的元素 包括: 其中,j为第j个数值区间;ITable为区间表的元素。 在上述方法实施例内容的基础上,本发明实施例中提供的检测时间序列中异常子 序列的方法,所述对所有权重取平均值作为所述每个子序列的分数,包括: 其中,ti为第i个时刻点;score(ti)为时刻点ti的在所述扩展区间表中的权重; Score(P)为子序列的分数;w为权重;rj 1,i为时刻点ti在数值空间的位置与相邻上区间的紧 5 CN 111612082 A 说 明 书 3/11 页 凑系数;rj-1,i为时刻点ti在数值空间的位置与相邻下区间的紧凑系数。 第二方面,本发明的实施例提供了一种检测时间序列中异常子序列的装置,包括: 序列构建模块,用于采用单个数值与单个时刻点构成一元组,将若干元组构成时 间序列,定义不同时间序列在任一时刻点的相似性; 扩展区间表构建模块,用于构造若干分裂点将时间序列中的数值空间划分为若干 个数值区间,并获取时间序列的概率密度,根据所述概率密度获取时间序列中任意时刻点 落入任意数值区间的概率,根据所述概率和若干个数值区间构建区间表,根据所述区间表 构建扩展区间表; 异常判定模块,用于在所述扩展区间表中获取时间序列每个子序列的每个时刻点 的权重,对所有权重取平均值作为所述每个子序列的分数,若所述分数越小,则所述子序列 被确定为异常的可能性越低; 其中,所述数值空间由所述若干元组中的所有数值构成;任意数值点落入任意数 值区间的概率相同。 第三方面,本发明的实施例提供了一种电子设备,包括: 至少一个处理器;以及 与处理器通信连接的至少一个存储器,其中: 存储器存储有可被处理器执行的程序指令,处理器调用程序指令能够执行第一方 面的各种可能的实现方式中任一种可能的实现方式所提供的检测时间序列中异常子序列 的方法。 第四方面,本发明的实施例提供了一种非暂态计算机可读存储介质,非暂态计算 机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种可能的实现方 式中任一种可能的实现方式所提供的检测时间序列中异常子序列的方法。 本发明实施例提供的检测时间序列中异常子序列的方法及设备,通过对时间序列 及其相似性进行重新定义,并将数值空间划分为若干个数值区间,进一步得到时间序列的 概率密度及相应落入概率,在此基础上构建扩展区间表,根据扩展区间表中的权重对时间 序列的子序列进行评分,可以在保证时间序列在时间维度上信息完整的前提下,提高算法 检测效率,保证了对异常子序列的检测精度及可靠性。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图做一简单的介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。 图1为本发明实施例提供的检测时间序列中异常子序列的方法流程图; 图2为本发明实施例提供的心电数据的时刻点在数值空间中的位置示意图; 图3为本发明实施例提供的不同时间序列相同时刻点的数值点相似性示意图; 图4为本发明实施例提供的检测时间序列中异常子序列的装置结构示意图; 图5为本发明实施例提供的电子设备的实体结构示意图。 6 CN 111612082 A 说 明 书 4/11 页