System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于时序和多变量的时间序列异常检测方法及系统技术方案_技高网

一种基于时序和多变量的时间序列异常检测方法及系统技术方案

技术编号:40004262 阅读:16 留言:0更新日期:2024-01-09 04:33
本发明专利技术提出了一种基于时序和多变量的时间序列异常检测方法及系统;属于数据检测技术领域,在模型训练前,获取含单变量和多变量的原始时间序列数据,采用改进的Transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常;发明专利技术方案采用多种新颖的深度学习方法,可以自动化地对时间序列数据进行较为精准的异常检测。

【技术实现步骤摘要】

本专利技术属于数据检测,具体地,涉及一种基于时序和多变量的时间序列异常检测方法及系统


技术介绍

1、时间序列数据具有事件相关性和时序特征,可以揭示数据的演变规律和潜在的异常行为,如工业设备、太空探测器、心电图数据等。特别地,当数据量特别大地时候通过专家人工评判方式已经不再适用,并且进行时间序列数据异常检测可以帮助企业和组织发现故障或者不正常的行为,对于确保安全和避免财务损失具有重要意义。因此利用模型自动地对时间序列数据进行异常检测显得尤为重要。

2、考虑到人工打标签会耗费大量的时间,时间序列异常检测方法通常是基于无监督训练的设置。现有的技术方案主要包括传统方案、机器学习方案、深度学习方案。

3、传统方法需要根据相关的评判标准(如距离、密度)对时间序列数据进行异常检测。基于距离的异常检测方法一般是建立在正常样本点靠近邻域点,而异常样本点远离邻域点的假设之上的,并且需要选择适当的距离度量方法来衡量时间序列之间的差异性或相似性,但是传统方法比较适用于通用的异常检测,都是基于一定的假设基础上进行的,但是在实际场景中数据是十分复杂的,并且是随着时间动态变化的。选择合适的距离度量方法是十分困难的。

4、机器学习方案是通过机器学习分类方法对时间序列数据进行特征抽取之后利用机器学习模型进行异常检测。经典的机器学习方法有孤立森林(isolation forest,iforest)、一类支持向量机(one-class support vector machine,oc-svm)等,但是当数据面临维度灾难时,机器学习方案可能无法有效地处理高纬度数据和时间依赖关系,会大幅降低效果。

5、深度学习方案是利用深度神经网络模型对时间序列进行异常检测。深度神经网络模型在时间序列异常检测中主要可以分为基于预测和基于重构的方法,而在时间序列数据中,时间依赖性是非常重要的因素之一,该方案使用简单的拼接方式将时间和变量依赖结合起来,不能很好地同时捕捉到时间维度和变量维度的相互影响。

6、综上所述,传统方法比较适用于通用的异常检测,都是基于一定的假设基础上进行的,但是在实际场景中数据是十分复杂的,并且是随着时间动态变化的。不合理的假设会带来算法性能下降。机器学习方案在非线性拟合能力上没有深度学习方案优异,在数据高维度时容易造成性能下降。深度学习方案忽略了原始时序数据的内部特性,不能很好的同时捕捉时间和空间维度的相互影响。


技术实现思路

1、为解决上述问题,本专利技术提出了一种基于时序和多变量的时间序列异常检测方法及系统,针对现有的时间序列异常检测方案一般只考虑时间依赖的关系,容易对异常样例进行漏报,对于无监督训练容易产生较高的漏报率等问题,本专利技术方案采用多种新颖的深度学习方法,可以自动化地对时间序列数据进行较为精准的异常检测。

2、本专利技术通过以下技术方案实现:

3、一种基于时序和多变量的时间序列异常检测方法:

4、所述方法具体包括以下步骤:

5、步骤1,数据预处理,在模型训练前,获取含单变量和多变量的原始时间序列数据,对时间序列异常检测进行形式化的数学定义;将用于模型训练的数据集划分为训练集和测试集;

6、步骤2,采用改进的transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;

7、步骤3,在训练阶段,结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;

8、步骤4,通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常。

9、进一步地,在步骤1中,

10、假定有一系列的时间序列数据,如公式(1)所示:

11、

12、根据数据的使用目的,对获取的时间序列数据进行数据处理,为了消除数据中不同特征之间量纲的差异,统一对原始数据进行标准化操作,如公式(2)所示;

13、

14、式中,为时间序列数据,分别是数据集中的最小和最大向量,为一个小的常数向量,防止出现除以零的错误度,是第个时刻的观测数据;

15、公式(1)表示前个时刻的时间数据信息,其中对于第个时刻,;是第个时刻的观测数据,它是一个维的向量,其中代表着变量维度的个数,为实数域;若则公式(1)代表的是多变量时间序列数据;若,公式(1)代表的是单变量时间序列数据;

16、数据用于模型训练时,划分为训练集和测试集,由于异常检测任务的特殊性,训练集均是由正常例构成,测试集中含有正常例和异常例。

17、进一步地,在步骤2中,

18、步骤2.1,改进transformer模型,使用变量时间嵌入模块对原始时间序列数据进行嵌入;考虑时间维度的特性和变量维度之间的相互影响;

19、步骤2.2,结合双层注意力模块同时捕捉时间维度和变量维度之间的时间依赖和变量影响;所述双层注意力模块分别为时间注意力层和变量间注意力层;

20、步骤2.3,通过统计特征模块对原始时间序列数据特征进行扩充和提取,挖掘时间依赖性,用于增强模型对正常序列和异常序列之间的区分能力。

21、进一步地,在步骤2.1中,

22、首先,考虑窗口序列数据,

23、其中,时间窗口的长度为;

24、需要对窗口中的每个变量进行分段操作,假设每个变量的一段时间序列长度为;具体过程如下:

25、

26、

27、进行上述分段处理之后,还需要对分段后的多变量时间序列数据进行嵌入,其中代表第个变量在时间维度的第段,该段里面有个数据点,,和数值相等;利用线性层对每一段进行嵌入:;其中是一个线性层,,是transformer模型中的输入特征维度;

28、除此之外,还引入了一个位置嵌入;所以得到的最终嵌入为:

29、

30、其中,和都是可学习的表示;因此,时间窗口嵌入后得到,其中

31、

32、进一步地,在步骤2.2中,

33、假定窗口序列数据经过变量时间嵌入模块之后得到的表示是,其中是段的数量,是变量维度的个数,是transformer模型中的输入特征维度;

34、在所述时间注意力层中:作为时间注意力层的输入,具体过程可以用数学公式表述如下:

35、

36、

37、是前馈神经网络,是多头自注意力机制,由个自注意力层构成;

38、

39、

40、

41、其中,是三个学习矩阵,是矩阵的列数;是参数矩阵,

42、在所述变量间注意力层中,是时间注意力层的输出,同时也是变量间注意力层的输入,仍然采用注意力机制,具体过程和时间注意力层类似,唯一不同的是不是按时间本文档来自技高网...

【技术保护点】

1.一种基于时序和多变量的时间序列异常检测方法,其特征在于:

2.根据权利要求1所述异常检测方法,其特征在于:在步骤1中,

3.根据权利要求2所述异常检测方法,其特征在于:在步骤2中,

4.根据权利要求3所述异常检测方法,其特征在于:在步骤2.1中,

5.根据权利要求4所述异常检测方法,其特征在于:在步骤2.2中,

6.根据权利要求5所述异常检测方法,其特征在于:在步骤2.3中,

7.根据权利要求6所述异常检测方法,其特征在于:在步骤3中,

8.根据权利要求7所述异常检测方法,其特征在于:在步骤4中,

9.一种基于时序和多变量的时间序列异常检测系统,其特征在于:

10.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任意一项所述方法的步骤。

【技术特征摘要】

1.一种基于时序和多变量的时间序列异常检测方法,其特征在于:

2.根据权利要求1所述异常检测方法,其特征在于:在步骤1中,

3.根据权利要求2所述异常检测方法,其特征在于:在步骤2中,

4.根据权利要求3所述异常检测方法,其特征在于:在步骤2.1中,

5.根据权利要求4所述异常检测方法,其特征在于:在步骤2.2中,

6.根据权利要求5所述异常检测方法,其...

【专利技术属性】
技术研发人员:叶允明林清泉李旭涛
申请(专利权)人:哈尔滨工业大学深圳哈尔滨工业大学深圳科技创新研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1