CN117313015A - 一种基于时序和多变量的时间序列异常检测方法及*** - Google Patents
一种基于时序和多变量的时间序列异常检测方法及*** Download PDFInfo
- Publication number
- CN117313015A CN117313015A CN202311594907.0A CN202311594907A CN117313015A CN 117313015 A CN117313015 A CN 117313015A CN 202311594907 A CN202311594907 A CN 202311594907A CN 117313015 A CN117313015 A CN 117313015A
- Authority
- CN
- China
- Prior art keywords
- model
- data
- time
- training
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 56
- 230000005856 abnormality Effects 0.000 title claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 96
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000006870 function Effects 0.000 claims abstract description 27
- 230000002159 abnormal effect Effects 0.000 claims abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000005457 optimization Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 38
- 239000013598 vector Substances 0.000 claims description 18
- 238000012937 correction Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 230000002123 temporal effect Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 5
- 238000005065 mining Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 239000000523 sample Substances 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 239000002355 dual-layer Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 206010000117 Abnormal behaviour Diseases 0.000 description 2
- 238000013256 Gubra-Amylin NASH model Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000000691 measurement method Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 239000002689 soil Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 206010042600 Supraventricular arrhythmias Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000008235 industrial water Substances 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2123/00—Data types
- G06F2123/02—Data types in the time domain, e.g. time-series data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明提出了一种基于时序和多变量的时间序列异常检测方法及***;属于数据检测技术领域,在模型训练前,获取含单变量和多变量的原始时间序列数据,采用改进的Transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常;发明方案采用多种新颖的深度学习方法,可以自动化地对时间序列数据进行较为精准的异常检测。
Description
技术领域
本发明属于数据检测技术领域,具体地,涉及一种基于时序和多变量的时间序列异常检测方法及***。
背景技术
时间序列数据具有事件相关性和时序特征,可以揭示数据的演变规律和潜在的异常行为,如工业设备、太空探测器、心电图数据等。特别地,当数据量特别大地时候通过专家人工评判方式已经不再适用,并且进行时间序列数据异常检测可以帮助企业和组织发现故障或者不正常的行为,对于确保安全和避免财务损失具有重要意义。因此利用模型自动地对时间序列数据进行异常检测显得尤为重要。
考虑到人工打标签会耗费大量的时间,时间序列异常检测方法通常是基于无监督训练的设置。现有的技术方案主要包括传统方案、机器学习方案、深度学习方案。
传统方法需要根据相关的评判标准(如距离、密度)对时间序列数据进行异常检测。基于距离的异常检测方法一般是建立在正常样本点靠近邻域点,而异常样本点远离邻域点的假设之上的,并且需要选择适当的距离度量方法来衡量时间序列之间的差异性或相似性,但是传统方法比较适用于通用的异常检测,都是基于一定的假设基础上进行的,但是在实际场景中数据是十分复杂的,并且是随着时间动态变化的。选择合适的距离度量方法是十分困难的。
机器学习方案是通过机器学习分类方法对时间序列数据进行特征抽取之后利用机器学习模型进行异常检测。经典的机器学习方法有孤立森林(Isolation Forest,IForest)、一类支持向量机(One-Class Support Vector Machine,OC-SVM)等,但是当数据面临维度灾难时,机器学习方案可能无法有效地处理高纬度数据和时间依赖关系,会大幅降低效果。
深度学习方案是利用深度神经网络模型对时间序列进行异常检测。深度神经网络模型在时间序列异常检测中主要可以分为基于预测和基于重构的方法,而在时间序列数据中,时间依赖性是非常重要的因素之一,该方案使用简单的拼接方式将时间和变量依赖结合起来,不能很好地同时捕捉到时间维度和变量维度的相互影响。
综上所述,传统方法比较适用于通用的异常检测,都是基于一定的假设基础上进行的,但是在实际场景中数据是十分复杂的,并且是随着时间动态变化的。不合理的假设会带来算法性能下降。机器学习方案在非线性拟合能力上没有深度学习方案优异,在数据高维度时容易造成性能下降。深度学习方案忽略了原始时序数据的内部特性,不能很好的同时捕捉时间和空间维度的相互影响。
发明内容
为解决上述问题,本发明提出了一种基于时序和多变量的时间序列异常检测方法及***,针对现有的时间序列异常检测方案一般只考虑时间依赖的关系,容易对异常样例进行漏报,对于无监督训练容易产生较高的漏报率等问题,本发明方案采用多种新颖的深度学习方法,可以自动化地对时间序列数据进行较为精准的异常检测。
本发明通过以下技术方案实现:
一种基于时序和多变量的时间序列异常检测方法:
所述方法具体包括以下步骤:
步骤1,数据预处理,在模型训练前,获取含单变量和多变量的原始时间序列数据,对时间序列异常检测进行形式化的数学定义;将用于模型训练的数据集划分为训练集和测试集;
步骤2,采用改进的Transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;
步骤3,在训练阶段,结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;
步骤4,通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常。
进一步地,在步骤1中,
假定有一系列的时间序列数据,如公式(1)所示:
根据数据的使用目的,对获取的时间序列数据进行数据处理,为了消除数据中不同特征之间量纲的差异,统一对原始数据进行标准化操作,如公式(2)所示;
式中,为时间序列数据,/>分别是数据集中的最小和最大向量,/>为一个小的常数向量,防止出现除以零的错误度,/>是第/>个时刻的观测数据;
公式(1)表示前个时刻的时间数据信息,其中对于第/>个时刻,;/>是第/>个时刻的观测数据,它是一个/>维的向量,其中/>代表着变量维度的个数,/>为实数域;若/>则公式(1)代表的是多变量时间序列数据;若/>,公式(1)代表的是单变量时间序列数据;
数据用于模型训练时,划分为训练集和测试集,由于异常检测任务的特殊性,训练集均是由正常例构成,测试集中含有正常例和异常例。
进一步地,在步骤2中,
步骤2.1,改进Transformer模型,使用变量时间嵌入模块对原始时间序列数据进行嵌入;考虑时间维度的特性和变量维度之间的相互影响;
步骤2.2,结合双层注意力模块同时捕捉时间维度和变量维度之间的时间依赖和变量影响;所述双层注意力模块分别为时间注意力层和变量间注意力层;
步骤2.3,通过统计特征模块对原始时间序列数据特征进行扩充和提取,挖掘时间依赖性,用于增强模型对正常序列和异常序列之间的区分能力。
进一步地,在步骤2.1中,
首先,考虑窗口序列数据,
其中,时间窗口/>的长度为/>;
需要对窗口中的每个变量进行分段操作,假设每个变量的一段时间序列长度为;具体过程如下:
进行上述分段处理之后,还需要对分段后的多变量时间序列数据进行嵌入,其中/>代表第/>个变量在时间维度的第/>段,该段里面有/>个数据点,/>,/>和/>数值相等;利用线性层对每一段进行嵌入:/>;其中/>是一个线性层,/>,/>是Transformer模型中的输入特征维度;
除此之外,还引入了一个位置嵌入;所以/>得到的最终嵌入为:
其中,和/>都是可学习的表示;因此,时间窗口/>嵌入后得到/>,其中
进一步地,在步骤2.2中,
假定窗口序列数据经过变量时间嵌入模块之后得到的表示是,其中/>是段的数量,/>是变量维度的个数,/>是Transformer模型中的输入特征维度;
在所述时间注意力层中:作为时间注意力层的输入,具体过程可以用数学公式表述如下:
是前馈神经网络,/>是多头自注意力机制,由/>个自注意力层构成;
其中,是三个学习矩阵,/>是/>矩阵的列数;/>是参数矩阵,
在所述变量间注意力层中,是时间注意力层的输出,同时也是变量间注意力层的输入,仍然采用注意力机制,具体过程和时间注意力层类似,唯一不同的是不是按时间进行Attention而是按变量进行Attention;用数学公式表述如下:
通过变量时间嵌入模块,将数据分为跨时间或者跨变量间进行注意力权重的学习,从而能够捕获多变量之间的时空关系。
进一步地,在步骤2.3中,
所述扩充和提取分为2个部分,二范数和范数差分数组的构造,相关统计量的计算;
所述范数特征数组捕获一个时间窗口中特征的大小,范数差分数组能够捕获两个连续窗口中特征大小的变化,挖掘时间依赖性;
根据窗口序列数据,计算出每个窗口中每个变量的二范数,公式如下:
其中,表示窗口序列数据/>都取第/>个变量的值;通过范数数组,接着构造范数差分数组,捕获窗口之间的依赖性,公式如下:
通过分位数信息帮助模型捕捉到不同时间点的异常值或者异常模式,
对上述得到的和/>,分别计算/>和/>的25%分位数(/>、/>),50%分数(/>、/>)和75%(/>、/>);
为了使每个窗口中等长,采用了补齐策略,通过上述方式可以从原始时间序列数据中得到下列的时间数据:
统计模块的Loss函数如公式17所示。其中表示统计特征模块;
进一步地,在步骤3中,
采用了对抗训练的框架,对抗训练的框架有两个Decoder,分别是Decoder1和Decoder2,可以分为两阶段;
第一个阶段损失函数如下:
其中,代表输入向量的第/>个变量的值,/>代表Decoder1的输出向量的第/>个变量的值,/>代表Decoder2的输出向量的第/>个变量的值;
第一个阶段训练为了让模型能够重构输入;第二个阶段训练模型让Decoder2能够区分来自真实输入和Decoder1输出的数据,并且在训练模型过程中让Decoder1尽可能地去生成出接近真实输入的数据;
用和/>分别表示Decoder1和Decoder2所在的模型;损失函数用公式表示如下:
其中,;第二阶段的损失函数如下:
此外,对抗训练的推理过程可以用公式描述如下:
其中是异常分数。
进一步地,在步骤4中,
采用点调整策略进行修正,如果当前数据点被判定为异常,之前的数据点也会被认为是异常,并进行相应的修正。
一种基于时序和多变量的时间序列异常检测***:
所述异常检测***包括:预处理子***、模型训练子***和异常修正子***;
所述预处理子***用于数据预处理,在模型训练前,获取含单变量和多变量的原始时间序列数据,对时间序列异常检测进行形式化的数学定义;将用于模型训练的数据集划分为训练集和测试集;
所述模型训练子***采用改进的Transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;在训练阶段,结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;
所述异常修正子***通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常。
一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明有益效果
本发明获取开源的时间序列数据,为消除数据中不同特征之间量纲的差异,经过带有缺失值处理的标准化方式对数据集进行标准化处理,并对划分好的训练集和测试集通过时间窗口的方式进行处理,用于模型训练和测试。
针对现有深度学习方案只考虑时间维度间的相互影响或通过简单拼接的方式考虑变量和时间维度间的影响的问题,本发明方案使用变量时间嵌入模块对时间窗口数据进行嵌入,之后结合双层注意力机制通过前面的变量时间嵌入模块能够同时捕捉时间维度和变量维度之间的时间依赖和变量影响。
针对现有方案只是简单的使用原始时间序列数据通过时间窗口的方式进行模型训练的问题,本发明方案使用统计特征模块对连续时间窗口的特征变化进行了分析,构造统计特征挖掘时间依赖,充分挖掘时间窗口之间的时间依赖性。
本发明方案在时间序列异常检测领域中采用多种深度学习方法,可以自动化地对时间序列数据进行较为精准地异常检测。使用变量时间嵌入模块结合双层注意力技术同时捕捉时间维度和变量维度之间的时间依赖和变量影响,使用统计特征模块对原始时序数据进行计算,充分挖掘时间窗口之间的时间依赖性,采用对抗训练框架,利用GAN模型的思想扩大模型对正常例和异常例的区分性。
附图说明
图1为本发明的***流程示意图;
图2为本发明的异常检测模型框架图;
图3为本发明的变量时间嵌入示意图,其中(a)为不同变量之间的偏移,(b)为每个变量的一段时间序列长度;
图4为本发明的双层注意力机制示意图;
图5为本发明的计算统计特征过程示意图;
图6为本发明的统计特征模块图;
图7为本发明的对抗训练框架图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图1至图7。
一种基于时序和多变量的时间序列异常检测方法:流程如图1所示。
所述方法具体包括以下步骤:
步骤1,数据预处理,根据要检测的数据集,在模型训练前,获取含单变量和多变量的原始时间序列数据,对时间序列异常检测进行形式化的数学定义;将用于模型训练的数据集划分为训练集和测试集;
本发明技术方案中主要使用了一些开源的时间序列异常检测数据集。主要有以下7个:
SWaT(Secure Water Treatment):是实际工业水处理厂生产过滤水的缩小版。用于模型训练的数据集包含正常操作和攻击场景下的数据。
SMD(Server Machine Dataset):来自大型互联网公司,为期五周,用于模型训练的数据集包含来自28台服务器的数据,每台服务器有33个监控指标。
SMAP(Soil Moisture Activate Passive):用于模型训练的数据集是美国宇航局使用火星探测器收集的土壤样本和遥测信息的数据集。
MSL(Mars Science Laboratory):是类似于SMAP的数据集,但用于模型训练的数据集对应于火星探测器本身的传感器和执行器数据。
MBA(MIT-BIH Supraventricular Arrhythmia Database):用于模型训练的数据集是四名患者的心电图记录的集合,包含两种不同异常的多个实例。
NAB:用于模型训练的数据集是多个真实真实世界数据跟踪的数据集,包括来自温度传感器的度数、云机器的CPU利用率、服务请求延迟和纽约市的出租车需求等。
UCR:用于模型训练的数据集是KDD 2021 Cup中使用的多个单变量时间序列的数据集,忽略了合成序列。
假定有一系列的时间序列数据,如公式(1)所示:
根据数据的使用目的,对获取的时间序列数据进行数据处理,为了消除数据中不同特征之间量纲的差异,增加模型的稳定性,统一对原始数据进行标准化操作,如公式(2)所示;
式中,为时间序列数据,/>分别是数据集中的最小和最大向量,/>为一个小的常数向量,防止出现除以零的错误度,/>是第/>个时刻的观测数据;
公式(1)表示前个时刻的时间数据信息,其中对于第/>个时刻,;/>是第/>个时刻的观测数据,它是一个/>维的向量,其中/>代表着变量维度的个数,/>为实数域;若/>则公式(1)代表的是多变量时间序列数据;若/>,公式(1)代表的是单变量时间序列数据;
数据用于模型训练时,划分为训练集和测试集,由于异常检测任务的特殊性,训练集均是由正常例构成,测试集中可能含有正常例和也可能含有异常例。
步骤2,采用改进的Transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;
本发明技术方案基于Encoder-Decoder架构,由于Transformer模型能够捕获长期的时间趋势,并且它允许使用位置编码对完整输入进行单次推理,能够实现几乎与序列长度无关的训练或者推理时间等特点,本发明方案采用改进的Transformer模型作为主干模型;
并且利用统计特征处理模块对原始时间序列数据进行统计特征处理,充分挖掘时间窗口间的时间依赖性,并将该模块作为枝干模型,和主干模型共同构成损失函数,对异常检测模型进行训练,旨在提升模型的检测效果。
其中异常检测模型的主干网络是基于传统的Transformer模型进行改进的,传统的Transformer模型利用自注意力和多头注意力机制对时间维度提取有效的时间依赖性,只考虑时间上的信息而忽略了变量之间的关联关系和相互影响。
通过变量时间嵌入模块结合双层注意力技术对输入数据进行非线性能力建模,使用双层注意力技术能够同时时间维度和变量维度之间的时间依赖和变量影响。并且本发明采用对抗训练框架,利用GAN模型的思想扩大模型对正常例和异常例的区分性。异常检测模型的框架图如图2所示。
步骤2.1,改进Transformer模型,使用变量时间嵌入模块对原始时间序列数据进行嵌入;本发明重点关注多变量时间序列数据,不仅需要考虑时间维度的特性,也要考虑变量维度之间的相互影响。并且不同变量之间的影响可能会发生偏移,示意图如图3中的(a)所示:
首先,考虑窗口序列数据,
其中,时间窗口/>的长度为/>;
需要对窗口中的每个变量进行分段操作,如图3中的(b)所示。假设每个变量的一段时间序列长度为/>;具体过程如下:
进行上述分段处理之后,还需要对分段后的多变量时间序列数据进行嵌入,其中/>代表第/>个变量在时间维度的第/>段,该段里面有/>个数据点,/>,/>和/>数值相等;利用线性层对每一段进行嵌入:/>;其中/>是一个线性层,/>,/>是Transformer模型中的输入特征维度;
除此之外,还引入了一个位置嵌入;所以/>得到的最终嵌入为:
其中,和/>都是可学习的表示;因此,时间窗口/>嵌入后得到/>,其中
步骤2.2,结合双层注意力模块同时捕捉时间维度和变量维度之间的时间依赖和变量影响;所述双层注意力模块分别为时间注意力层和变量间注意力层;
考虑到本发明关注的重点是多变量时间序列数据,不仅需要考虑时间维度的特性,也要考虑变量维度之间的相互影响。时间维度上提供了数据点之间的顺序关系,通过学习时间维度的依赖关系可以捕捉到数据在时间上的相关性和演化趋势,能够更好的发现数据中隐含的时间趋势;变量维度之间可能会在不同时间段产生影响,例如某个变量在某段时段可能会影响另一个变量在另外时段的数值。
因此,为了从多角度对多变量时间序列进行分析,使用了双层注意力机制技术利用变量时间嵌入模块分别从时间维度和变量维度之间去捕获时间的上下文信息以及变量之间的依赖影响关系。综上所述,使用双层注意力机制能够从多视角对时间序列数据进行观察和分析。
假定窗口序列数据经过变量时间嵌入模块之后得到的表示是,其中/>是段的数量,/>是变量维度的个数,/>是Transformer模型中的输入特征维度;
在所述时间注意力层中:作为时间注意力层的输入,具体过程可以用数学公式表述如下:
是前馈神经网络,/>是多头自注意力机制,由/>个自注意力层构成;
其中,是三个学习矩阵,/>是/>矩阵的列数;/>是参数矩阵,
在所述变量间注意力层中,是时间注意力层的输出,同时也是变量间注意力层的输入,仍然采用注意力机制,具体过程和时间注意力层类似,唯一不同的是不是按时间进行Attention而是按变量进行Attention;用数学公式表述如下:
通过变量时间嵌入模块,可以很好的将数据分为跨时间或者跨变量间进行注意力权重的学习,从而能够更好的捕获多变量之间的时空关系。
因为不同变量间会相互影响,并且这些影响可能并不是同一时刻的,通过变量间注意力层和变量时间嵌入模块能够比较好的解决这一问题。双层注意力机制如图4所示:
步骤2.3,通过统计特征模块对原始时间序列数据特征进行扩充和提取,进一步挖掘时间依赖性,用于增强模型对正常序列和异常序列之间的区分能力。
所述扩充和提取分为2个部分,二范数和范数差分数组的构造,相关统计量的计算;
所述范数特征数组可以捕获一个时间窗口中特征的大小,范数差分数组能够捕获两个连续窗口中特征大小的变化,挖掘时间依赖性等;
根据前面的窗口序列数据,计算出每个窗口中每个变量的二范数,公式如下:
其中,表示窗口序列数据/>都取第/>个变量的值;通过范数数组,接着构造范数差分数组,捕获窗口之间的依赖性,公式如下:
此外,由于分位数是统计中常用的一种度量,用于描述数据分布的位置和离散程度,通过分位数信息帮助模型捕捉到不同时间点的异常值或者异常模式,帮助模型更好的理解数据的分布和变化情况等。
对上述得到的和/>,分别计算/>和/>的25%分位数(/>、/>),50%分数(/>、/>)和75%(/>、/>);
为了使每个窗口中等长,采用了和前边类似的补齐策略,通过上述方式可以从原始时间序列数据中得到下列的时间数据:
计算统计特征过程的示意图如图5所示。此外,统计特征模块图如图6所示,其主要采用Encoder-Decoder架构,通过这个结构去学习统计特征,并将统计特征模块作为枝干模型。
统计模块的Loss函数如公式17所示。其中表示统计特征模块;
步骤3,在训练阶段,结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;
采用了对抗训练的框架,具体可以根据实际情况选择是否采用对抗训练。对抗训练的框架主要有两个Decoder,分别是Decoder1和Decoder2,可以分为两阶段;
第一个阶段损失函数如下:
其中,代表输入向量的第/>个变量的值,/>代表Decoder1的输出向量的第/>个变量的值,/>代表Decoder2的输出向量的第/>个变量的值;
第一个阶段训练主要是为了让模型能够很好的重构输入;第二个阶段是对抗训练的核心所在,目标是训练模型让Decoder2能够区分来自真实输入和Decoder1输出的数据,并且在训练模型过程中让Decoder1尽可能地去生成出接近真实输入的数据;
用和/>分别表示Decoder1和Decoder2所在的模型;损失函数用公式表示如下:
其中,;第二阶段的损失函数如下:
此外,对抗训练的推理过程可以用公式描述如下:
其中是异常分数。抗训练框架的模块图如图7:
步骤4,通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常。
采用点调整策略进行修正,如果当前数据点被判定为异常,之前的数据点也会被认为是异常,并进行相应的修正。旨在保持数据的一致性,确保异常的修正在整个数据序列中连续进行。
一种基于时序和多变量的时间序列异常检测***:
所述异常检测***包括:预处理子***、模型训练子***和异常修正子***;
所述预处理子***用于数据预处理,在模型训练前,获取含单变量和多变量的原始时间序列数据,对时间序列异常检测进行形式化的数学定义;将用于模型训练的数据集划分为训练集和测试集;
所述模型训练子***采用改进的Transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;在训练阶段,结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;
所述异常修正子***通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常。
一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器read only memory,ROM、可编程只读存储器programmable ROM,PROM、可擦除可编程只读存储器erasablePROM,EPROM、电可擦除可编程只读存储器electrically EPROM,EEPROM或闪存。易失性存储器可以是随机存取存储器random access memory,RAM,其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM 可用,例如静态随机存取存储器static RAM,SRAM、动态随机存取存储器dynamic RAM,DRAM、同步动态随机存取存储器synchronous DRAM,SDRAM、双倍数据速率同步动态随机存取存储器double data rate SDRAM,DDR SDRAM、增强型同步动态随机存取存储器enhanced SDRAM,ESDRAM、同步连接动态随机存取存储器synchlink DRAM,SLDRAM和直接内存总线随机存取存储器direct rambus RAM,DR RAM。应注意,本发明描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
以上对本发明所提出的一种基于时序和多变量的时间序列异常检测方法及***,进行了详细介绍,对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于时序和多变量的时间序列异常检测方法,其特征在于:
所述方法具体包括以下步骤:
步骤1,数据预处理,在模型训练前,获取含单变量和多变量的原始时间序列数据,对时间序列异常检测进行形式化的数学定义;将用于模型训练的数据集划分为训练集和测试集;
步骤2,采用改进的Transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;
步骤3,在训练阶段,结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;
步骤4,通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常。
2.根据权利要求1所述异常检测方法,其特征在于:在步骤1中,
假定有一系列的时间序列数据,如公式(1)所示:
根据数据的使用目的,对获取的时间序列数据进行数据处理,为了消除数据中不同特征之间量纲的差异,统一对原始数据进行标准化操作,如公式(2)所示;
式中,为时间序列数据,/>分别是数据集中的最小和最大向量,/>为一个小的常数向量,防止出现除以零的错误度,/>是第/>个时刻的观测数据;
公式(1)表示前个时刻的时间数据信息,其中对于第/>个时刻,/>;是第/>个时刻的观测数据,它是一个/>维的向量,其中/>代表着变量维度的个数,/>为实数域;若/>则公式(1)代表的是多变量时间序列数据;若/>,公式(1)代表的是单变量时间序列数据;
数据用于模型训练时,划分为训练集和测试集,由于异常检测任务的特殊性,训练集均是由正常例构成,测试集中含有正常例和异常例。
3.根据权利要求2所述异常检测方法,其特征在于:在步骤2中,
步骤2.1,改进Transformer模型,使用变量时间嵌入模块对原始时间序列数据进行嵌入;考虑时间维度的特性和变量维度之间的相互影响;
步骤2.2,结合双层注意力模块同时捕捉时间维度和变量维度之间的时间依赖和变量影响;所述双层注意力模块分别为时间注意力层和变量间注意力层;
步骤2.3,通过统计特征模块对原始时间序列数据特征进行扩充和提取,挖掘时间依赖性,用于增强模型对正常序列和异常序列之间的区分能力。
4.根据权利要求3所述异常检测方法,其特征在于:在步骤2.1中,
首先,考虑窗口序列数据,
其中,时间窗口/>的长度为/>;
需要对窗口中的每个变量进行分段操作,假设每个变量的一段时间序列长度为/>;具体过程如下:
进行上述分段处理之后,还需要对分段后的多变量时间序列数据进行嵌入,其中代表第/>个变量在时间维度的第/>段,该段里面有/>个数据点,/>,/>和/>数值相等;利用线性层对每一段进行嵌入:/>;其中/>是一个线性层,/>,/>是Transformer模型中的输入特征维度;
除此之外,还引入了一个位置嵌入;所以/>得到的最终嵌入为:
其中,和/>都是可学习的表示;因此,时间窗口/>嵌入后得到/>,其中
。
5.根据权利要求4所述异常检测方法,其特征在于:在步骤2.2中,
假定窗口序列数据经过变量时间嵌入模块之后得到的表示是,其中是段的数量,/>是变量维度的个数,/>是Transformer模型中的输入特征维度;
在所述时间注意力层中:作为时间注意力层的输入,具体过程可以用数学公式表述如下:
是前馈神经网络,/>是多头自注意力机制,由/>个自注意力层构成;
其中,是三个学习矩阵,/>是/>矩阵的列数;/>是参数矩阵,
在所述变量间注意力层中,是时间注意力层的输出,同时也是变量间注意力层的输入,仍然采用注意力机制,具体过程和时间注意力层类似,唯一不同的是不是按时间进行Attention而是按变量进行Attention;用数学公式表述如下:
通过变量时间嵌入模块,将数据分为跨时间或者跨变量间进行注意力权重的学习,从而能够捕获多变量之间的时空关系。
6.根据权利要求5所述异常检测方法,其特征在于:在步骤2.3中,
所述扩充和提取分为2个部分,二范数和范数差分数组的构造,相关统计量的计算;
范数特征数组捕获一个时间窗口中特征的大小,范数差分数组能够捕获两个连续窗口中特征大小的变化,挖掘时间依赖性;
根据窗口序列数据,计算出每个窗口中每个变量的二范数,公式如下:
其中,表示窗口序列数据/>都取第/>个变量的值;通过范数数组,接着构造范数差分数组,捕获窗口之间的依赖性,公式如下:
通过分位数信息帮助模型捕捉到不同时间点的异常值或者异常模式,
对上述得到的和/>,分别计算/>和/>的25%分位数(、/>),50%分数(/>、/>)和75%(/>、/>);
为了使每个窗口中等长,采用了补齐策略,通过此步骤的方式可以从原始时间序列数据中得到下列的时间数据:
统计模块的Loss函数如公式17所示,其中表示统计特征模块;
。
7.根据权利要求6所述异常检测方法,其特征在于:在步骤3中,
采用了对抗训练的框架,对抗训练的框架有两个Decoder,分别是Decoder1和Decoder2,可以分为两阶段;
第一个阶段损失函数如下:
其中,代表输入向量的第/>个变量的值,/>代表Decoder1的输出向量的第/>个变量的值,/>代表Decoder2的输出向量的第/>个变量的值;
第一个阶段训练为了让模型能够重构输入;第二个阶段训练模型让Decoder2能够区分来自真实输入和Decoder1输出的数据,并且在训练模型过程中让Decoder1尽可能地去生成出接近真实输入的数据;
用和/>分别表示Decoder1和Decoder2所在的模型;损失函数用公式表示如下:
其中,;第二阶段的损失函数如下:
此外,对抗训练的推理过程可以用公式描述如下:
其中是异常分数。
8.根据权利要求7所述异常检测方法,其特征在于:在步骤4中,
采用点调整策略进行修正,如果当前数据点被判定为异常,之前的数据点也会被认为是异常,并进行相应的修正。
9.一种基于时序和多变量的时间序列异常检测***,其特征在于:
所述异常检测***包括:预处理子***、模型训练子***和异常修正子***;
所述预处理子***用于数据预处理,在模型训练前,获取含单变量和多变量的原始时间序列数据,对时间序列异常检测进行形式化的数学定义;将用于模型训练的数据集划分为训练集和测试集;
所述模型训练子***采用改进的Transformer模型作为主干模型,统计特征处理模块作为枝干模型,结合构成损失函数,训练异常检测模型;在训练阶段,结合对抗训练框架,将每个变量维度真实值和预测值的均方误差作为损失函数优化网络的参数,经过多次迭代训练模型,同时将训练好的模型进行保存;
所述异常修正子***通过异常分数计算得到阈值,然后将测试集输入到训练好的模型中,根据模型的输出结果结合阈值并通过点调整策略,判断是否异常。
10.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311594907.0A CN117313015A (zh) | 2023-11-28 | 2023-11-28 | 一种基于时序和多变量的时间序列异常检测方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311594907.0A CN117313015A (zh) | 2023-11-28 | 2023-11-28 | 一种基于时序和多变量的时间序列异常检测方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117313015A true CN117313015A (zh) | 2023-12-29 |
Family
ID=89273920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311594907.0A Pending CN117313015A (zh) | 2023-11-28 | 2023-11-28 | 一种基于时序和多变量的时间序列异常检测方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117313015A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117851920A (zh) * | 2024-03-07 | 2024-04-09 | 国网山东省电力公司信息通信公司 | 电力物联数据异常检测方法及*** |
CN118278290A (zh) * | 2024-05-31 | 2024-07-02 | 浙江大学 | 面向一体化铝合金结构件铸造的模具温度缺失值填补方法 |
-
2023
- 2023-11-28 CN CN202311594907.0A patent/CN117313015A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117851920A (zh) * | 2024-03-07 | 2024-04-09 | 国网山东省电力公司信息通信公司 | 电力物联数据异常检测方法及*** |
CN118278290A (zh) * | 2024-05-31 | 2024-07-02 | 浙江大学 | 面向一体化铝合金结构件铸造的模具温度缺失值填补方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429837B2 (en) | Sparse neural network based anomaly detection in multi-dimensional time series | |
Yu et al. | MoniNet with concurrent analytics of temporal and spatial information for fault detection in industrial processes | |
JP2022500745A (ja) | 異常検出および/または予知保全のためのコンピュータ実装方法、コンピュータプログラム製品およびシステム | |
CN105279365B (zh) | 用于学习异常检测的样本的方法 | |
CN117313015A (zh) | 一种基于时序和多变量的时间序列异常检测方法及*** | |
Baraldi et al. | Reconstruction of missing data in multidimensional time series by fuzzy similarity | |
Gugulothu et al. | Sparse neural networks for anomaly detection in high-dimensional time series | |
CN117290800B (zh) | 一种基于超图注意力网络的时序异常检测方法及*** | |
Yuan et al. | Learning latent interactions for event classification via graph neural networks and PMU data | |
Fu et al. | MCA-DTCN: A novel dual-task temporal convolutional network with multi-channel attention for first prediction time detection and remaining useful life prediction | |
Zhu et al. | A coupled model for dam foundation seepage behavior monitoring and forecasting based on variational mode decomposition and improved temporal convolutional network | |
Wagner et al. | Timesead: Benchmarking deep multivariate time-series anomaly detection | |
Kumar et al. | An adaptive transformer model for anomaly detection in wireless sensor networks in real-time | |
CN113110961B (zh) | 设备异常检测方法、装置、计算机设备及可读存储介质 | |
CN115438897A (zh) | 一种基于blstm神经网络的工业过程产品质量预测方法 | |
Zhang et al. | An effective transformation-encoding-attention framework for multivariate time series anomaly detection in iot environment | |
Yang et al. | A semi-supervised feature contrast convolutional neural network for processes fault diagnosis | |
CN117596191A (zh) | 一种电力物联网异常检测方法、装置及存储介质 | |
KR102366787B1 (ko) | 슬라이딩 윈도우 기법을 이용한 제조설비의 실시간 다변량 이상감지 시스템 | |
Bond et al. | A hybrid learning approach to prognostics and health management applied to military ground vehicles using time-series and maintenance event data | |
Ning et al. | MST-GNN: A multi-scale temporal-enhanced graph neural network for anomaly detection in multivariate time series | |
Li et al. | Multi-node knowledge graph assisted distributed fault detection for large-scale industrial processes based on graph attention network and bidirectional LSTMs | |
CN117647725B (zh) | Pcba的老化测试方法及*** | |
CN117951489A (zh) | 水轮机组故障发生度测度方法、装置和计算机设备 | |
Wu et al. | VAE-TCN hybrid model for KPI Anomaly Detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |