本发明涉及时序异常检测,具体是涉及一种基于diffusion模型的多变量时序异常检测方法及系统。
背景技术:
1、多变量时序异常检测在许多领域如金融、工业制造和网络安全等方面具有广泛的应用,其主要目标是识别时间序列数据中的异常模式,以便及早发现潜在问题并采取相应的措施。
2、现有技术中,用于多变量时序异常检测的方法包括统计学方法、机器学习方法和深度学习方式。其中,统计学方法会学习一个拟合给定数据集的生成模型,然后识别该模型低概率区域中的对象,把它们作为异常,比如基于多元正态分布的参数估计方法,基于直方图的异常值得分的非参数估计方法等;这类方法的局限性在于对前提假设依赖比较严重,难以处理多元时序数据。机器学习方法通常需要提取大量的特征,然后将这些特征输入到分类器中,比如基于树的随机森林,基于聚类的支持向量数据描述,基于距离的k近邻算法等;但机器学习方法由于过于简单的模型难以提取到高维复杂的特征,无法处理高维数据。而深度学习的方法是通过学习数据的正常模式来区分异常,但是,目前基于深度神经网络的多元时序异常检测方法虽然不需要对数据进行前提假设,而且用于特征工程和异常识别的深度监督模型也可以处理高维数据,但由于数据样本不均衡,很容易导致模型收敛到次优的问题;同时,深度监督模型需要人工从大量样本中找到少量异常样本进行标注,这将导致大量人力资源的损耗。
技术实现思路
1、为解决上述技术问题,提供一种基于diffusion模型的多变量时序异常检测方法及系统,本技术方案解决了上述背景技术中提出的由于数据样本不均衡,很容易导致模型收敛到次优的问题;同时,深度监督模型需要人工从大量样本中找到少量异常样本进行标注,这将导致大量人力资源的损耗的问题。
2、为达到以上目的,本发明采用的技术方案为:
3、一种基于diffusion模型的多变量时序异常检测方法,包括:
4、获取多元时序历史数据;
5、对多元时序历史数据进行数据处理,获取多元时序训练集和多元时序验证集;
6、构建diffusion模型;
7、根据多元时序训练集和多元时序验证集对diffusion模型进行训练和验证操作,获取多变量时序异常检测模型;
8、获取待检测的多变量时序数据;
9、对待检测的多变量时序数据进行数据预处理,获取预处理的多变量时序数据;
10、将预处理的多变量时序数据输入多变量时序异常检测模型中进行异常检测,输出数据异常值。
11、优选的,所述对多元时序历史数据进行数据处理,获取多元时序训练集和多元时序验证集具体包括如下步骤:
12、选择设定时间区间;
13、根据设定时间区间对多元时序历史数据进行提取处理,获取目标多元时序历史数据;
14、对目标多元时序历史数据进行数据预处理,获取正常多元时序历史数据;
15、对正常多元时序历史数据进行划分处理,获取多元时序训练集和多元时序验证集。
16、优选的,所述对目标多元时序历史数据进行数据预处理,获取正常多元时序历史数据具体包括如下步骤:
17、通过中值滤波法对目标多元时序历史数据进行去噪处理,获取平滑多元时序历史数据;
18、通过区间缩放法对平滑多元时序历史数据进行归一化处理,获取正常多元时序历史数据。
19、优选的,所述对正常多元时序历史数据进行划分处理,获取多元时序训练集和多元时序验证集具体包括如下步骤:
20、对正常多元时序历史数据进行分析处理,确定多元时序数据关联性;
21、根据多元时序数据关联性对正常多元时序历史数据进行划分处理,获取多元时序训练集和多元时序验证集。
22、优选的,所述根据多元时序训练集和多元时序验证集对diffusion模型进行训练和验证操作,获取多变量时序异常检测模型具体包括如下步骤:
23、选取u-net网络结构作为diffusion模型的去噪网络;
24、根据u-net网络结构的中间层插入具有动态掩码属性的自注意力机制;
25、将多元时序训练集输入u-net网络结构中进行计算处理,获取注意力矩阵,确定注意力分数;
26、根据注意力分数对多元时序训练集进行屏蔽处理,获取正常时序数据;
27、通过多元时序验证集和多元时序数据关联性对正常时序数据进行验证处理,获取注意力矩阵的异常确定准确系数;
28、对注意力矩阵的异常确定准确系数进行判断处理,获取检测注意力矩阵;
29、将检测注意力矩阵应用于u-net网络结构中,获取多变量时序异常检测模型。
30、优选的,所述根据注意力分数对多元时序训练集进行屏蔽处理,获取正常时序数据具体包括如下步骤:
31、确定多元时序训练集中每一个数据对应的注意力分数;
32、对每一个数据对应的注意力分数进行判断处理,获取异常数据;
33、若注意力分数大于或等于设定第一阈值,输出正常数据;
34、若注意力分数小于设定第一阈值,输出异常数据;
35、根据异常数据对多元时序训练集进行屏蔽处理,获取正常时序数据。
36、优选的,所述对注意力矩阵的异常确定准确系数进行判断处理,获取检测注意力矩阵具体包括如下步骤:
37、若异常确定准确系数大于或等于设定第二阈值,确定检测注意力矩阵;
38、若异常确定准确系数小于设定第二阈值,重新选取具有动态掩码属性的自注意力机制确定注意力矩阵,对注意力矩阵进行判断处理,获取检测注意力矩阵。
39、优选的,所述对待检测的多变量时序数据进行数据预处理与多元时序历史数据进行的数据预处理采用相同的算法进行数据预处理。
40、进一步的,提出一种基于diffusion模型的多变量时序异常检测系统,用于实现上述的多变量时序异常检测方法,包括:
41、数据存储模块,所述数据存储模块用于存储多元时序历史数据、多元时序训练集、多元时序验证集;
42、数据预处理模块,所述数据预处理模块用于对多元时序历史数据、待检测的多变量时序数据进行数据预处理,获取正常多元时序历史数据、预处理的多变量时序数据;
43、模型构建模块,所述模型构建模块用于构建diffusion模型;
44、模型训练模块,所述模型训练模块通过多元时序训练集和多元时序验证集对diffusion模型进行训练验证,获取多变量时序异常检测模型;
45、数据采集模块,所述数据采集模块用于采集待检测的多变量时序数据。
46、与现有技术相比,本发明提供了一种基于diffusion模型的多变量时序异常检测方法及系统,具备以下有益效果:
47、本发明通过对多元时序历史数据进行分析,获取多元时序训练集和多元时序验证集,通过多元时序训练集和多元时序验证集对diffusion模型进行训练验证,保证了diffusion模型异常数据检测的精准性,通过训练好的diffusion模型对待检测的多变量时序数据进行检测,筛选出异常数据,降低了人力资源的消耗。
1.一种基于diffusion模型的多变量时序异常检测方法,其特征在于,包括:
2.根据权利要求1所述的一种基于diffusion模型的多变量时序异常检测方法,其特征在于,所述对多元时序历史数据进行数据处理,获取多元时序训练集和多元时序验证集具体包括如下步骤:
3.根据权利要求2所述的一种基于diffusion模型的多变量时序异常检测方法,其特征在于,所述对目标多元时序历史数据进行数据预处理,获取正常多元时序历史数据具体包括如下步骤:
4.根据权利要求3所述的一种基于diffusion模型的多变量时序异常检测方法,其特征在于,所述对正常多元时序历史数据进行划分处理,获取多元时序训练集和多元时序验证集具体包括如下步骤:
5.根据权利要求4所述的一种基于diffusion模型的多变量时序异常检测方法,其特征在于,所述根据多元时序训练集和多元时序验证集对diffusion模型进行训练和验证操作,获取多变量时序异常检测模型具体包括如下步骤:
6.根据权利要求5所述的一种基于diffusion模型的多变量时序异常检测方法,其特征在于,所述根据注意力分数对多元时序训练集进行屏蔽处理,获取正常时序数据具体包括如下步骤:
7.根据权利要求5所述的一种基于diffusion模型的多变量时序异常检测方法,其特征在于,所述对注意力矩阵的异常确定准确系数进行判断处理,获取检测注意力矩阵具体包括如下步骤:
8.根据权利要求1所述的一种基于diffusion模型的多变量时序异常检测方法,其特征在于,所述对待检测的多变量时序数据进行数据预处理与多元时序历史数据进行的数据预处理采用相同的算法进行数据预处理。
9.一种基于diffusion模型的多变量时序异常检测系统,用于实现如权利要求1-8所述的多变量时序异常检测方法,其特征在于,包括: