CN115766504A - 一种周期时间序列异常检测方法 - Google Patents

一种周期时间序列异常检测方法 Download PDF

Info

Publication number
CN115766504A
CN115766504A CN202211423138.3A CN202211423138A CN115766504A CN 115766504 A CN115766504 A CN 115766504A CN 202211423138 A CN202211423138 A CN 202211423138A CN 115766504 A CN115766504 A CN 115766504A
Authority
CN
China
Prior art keywords
sequence
time
reconstruction
reconstructed
decoder
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
Application number
CN202211423138.3A
Other languages
English (en)
Inventor
刘春山
廖世波
夏永祥
涂海程
赵楼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202211423138.3A priority Critical patent/CN115766504A/zh
Publication of CN115766504A publication Critical patent/CN115766504A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种周期时间序列异常检测方法,包括如下步骤:步骤S1:历史时间序列数据预处理;步骤S2:搭建基于GRU和自编码器网络的异常检测模型;步骤S3:以随机洗牌方式训练模型;步骤S4:根据训练数据确定异常检测阈值;步骤S5:执行异常检测。该方法的核心思想是将原始时间序列经过GRU‑AE模型得到重构序列,再计算原始时间序列和重构时间序列之间的重构误差,最后根据重构误差识别序列中的异常点。在本发明中,采用多时间节点输入方式,加快模型的训练速度,也更好地学习时间序列之间的规律,并且提出了一种新的模型训练方式,以减少过拟合现象。

Description

一种周期时间序列异常检测方法
技术领域
本发明涉及时间序列分析技术领域,具体指一种周期时间序列异常检测方法,尤其是一种基于GRU-AutoEncoder时间序列异常检测方法。
背景技术
时间序列异常检测的目标是识别出与正常时间序列预期不匹配的点,这些异常点可能会对数据分析产生不利影响,因此数据分析人员希望异常发生时能够被及时地检测出来。由于人类活动驱动的潜在力量,时间序列(比如无线通信网络负载、海量交通流量数据、电网数据等)通常展现出强烈的周期性,对该类具有一定规律的序列进行异常检测,一直是数据挖掘领域的重点。
通常时间序列的异常可分为三类,分别为点异常、上下文异常和集体异常。其中点异常是不符合整个时间序列正常行为的单个异常数据点(例如,非常大/非常小的异常值)。上下文异常是指其数值在正常范围但不符合数据变化规律的异常点。集体异常是指前后序列呈现明显不同规律的一类异常的集合。
在现有的时间序列异常检测技术中,基于深度学习的方法备受研究人员的关注。由于异常发生频率很低,研究人员很难获得足够多的异常标签以有监督学习方式训练神经网络,基于这一点,以无监督学习的AutoEncoder(AE)成为了周期时间序列异常检测的主流。然而现有的AutoEncoder仍存在训练周期长,且易发生过拟合的问题。
发明内容
针对以上方法的缺点,本发明旨在提供一种无监督学习方式训练GRU-AutoEncoder(GRU-AE)的时间序列异常检测方法,该方法的核心思想是将原始时间序列经过GRU-AE模型得到重构序列,再计算原始时间序列和重构时间序列之间的重构误差,最后根据重构误差识别序列中的异常点。在本发明中,采用多时间节点输入方式,加快模型的训练速度,也更好地学习时间序列之间的规律,并且提出了一种新的模型训练方式,以减少过拟合现象。
为实现上述发明目的,本发明采取下述的技术方案:
步骤S1:历史时间序列数据预处理。
步骤S2:搭建基于GRU和自编码器网络的异常检测模型。
步骤S3:以随机洗牌方式训练模型。
步骤S4:根据训练数据确定异常检测阈值。
步骤S5:执行异常检测。
优选的,步骤S1数据预处理包括以下步骤:
进行历史时间序列预处理之前,优先采用线性插值的方法对历史时间序列进行缺失值填充。令原始时间序列为t={t1,t2,...tn},其中n为序列长度,ti为序列在i时刻的值,i∈{1,2,3…,n}。MIN-MAX归一化方法可以定义为:
Figure BDA0003943524410000021
其中max(t)为时间序列t中最大的值,min(t)为时间序列t中最小的值,时间序列t经过归一化后的结果为t′={t′1,t′2,...t′n},且所有的值都控制在[0,1]。
优选的,步骤S2异常检测模型的搭建如下:
整体采用AutoEncoder模型,AutoEncoder的编码器和解码器都采用GRU单元,并且为了提高模型的效率,在编码器和解码器之间加入了自注意力机制(Attention)。整个模型用于重构输入序列。
(1)AutoEncoder由编码器和解码器构成,假设编码器的输入为x={x1,x2,...xn},编码器将n维向量x压缩为m维向量H={h1,h2,...hm}(通常m<n),解码器再将m维向量H解压为n维向量x′={x′1,x′2,...x′n},自编码器的目标是最小化损失函数floss=|x-x′|2
(2)GRU是循环神经网络的一种变体。GRU单元含有两个门,更新门和遗忘门,遗忘门决定了被遗忘的信息量,更新门定义了前面记忆保存到当前时间步的量。GRU单元通常用于时间序列建模,GRU-AutoEncoder模型的编码器和解码器就采用GRU单元,更好地学习时间序列之间的规律。
(3)Attention机制,是为了提高AutoEncoder的编码器和解码器训练的效率,注意力机制让解码器在每个时间步,给予编码器的每个输出不同程度的关注。
优选的,步骤S3随机洗牌方式训练模型步骤如下:
对于一个顺序输入的时间序列x,传统训练GRU-AutoEncoder模型的方法是按照顺序重构输入序列x′,计算输入序列和重构序列之间的损失函数floss,更新GRU-AutoEncoder模型参数,以最小化误差函数floss。随机洗牌的训练方式是有一定几率让GRU-AutoEncoder在重构时打乱重构顺序,防止过拟合现象。
优选的,步骤S4根据训练数据确定异常检测阈值步骤如下:
在训练完GRU-AutoEncoder模型后,统计训练集最后的分布,通过绘制CDF图确定重构误差上阈值Rup和重构误差下阈值Rlow(Rup>Rlow)。
优选的,步骤S5执行异常检测步骤如下:
执行异常检测包括待检测数据预处理、待检测数据重构、检测异常三个步骤。
(1)待检测数据预处理
待检测数据预处理与历史数据预处理步骤一样,不在赘述。
(2)待检测数据重构
令待检测时间序列为x={x1,x2,...xn},经过GRU-AutoEncoder模型重构得到x′={x′1,x′2,...x′n}。
(3)检测异常
计算时间序列x和重构序列x′的重构误差Rerror={r1,r2,...rn},其中ri=xi-x′i为i时刻的重构误差,i∈{1,2,…n},根据得到的重构误差ri与步骤S4得到的阈值进行比较,对异常值进行筛选。所述异常值筛选的方法为:
Figure BDA0003943524410000041
本发明具有以下的特点和有益效果:
采用上述技术方案,选通递归单元(GRU)和自编码器为网络框架的异常检测算法,与其他AutoEncoder异常检测模型相比,在输入方式上,采用多时间节点输入,且以随机洗牌的方式训练模型,检测异常的能力也更加灵敏,且不需要对原始数据进行过多的处理,因此更具便捷性和实用性。本发明适用领域广,适合周期型数据的异常检测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例整体异常检测框架。
图2为本发明实施例GRU-AutoEncoder模型。
图3为本发明实施例GRU结构图。
图4为本发明实施例的上下文异常检测示例图。
图5为本发明实施例的集体异常检测示例图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明所采用的数据是某通信基站收集到的网络流量数据,该类数据记录某个市区不同地点的基站负载,数据的时间粒度为1小时,且数据跨度是从2018年1月15日到2018年7月8日。通过前期对数据的预分析发现,由于数据受人类活动影响,数据表现出以天或以周的规律,并且在以周为规律的数据中,工作日和周末存在明显差异,异常包含三种类型:点异常、上下文异常、集体异常。
实施例1
本实施例中提供了一种周期时间序列异常检测方法,具体如下:
步骤S1:历史时间序列数据预处理。
令历史时间序列为t={t1,t2,...tn},经过缺失值填充以及数据归一化后,得到序列t′={t′1,t′2,...t′n}。
接着将归一化后的序列t′处理成时间跨度为24小时的序列,相邻两个输入序列步长也为24小时,第i个输入序列用xdi={ti*24′,ti*24+1′,…,ti*24+23′}表示,该时间跨度下,单个输入序列只包含单天数据信息,因此只能检测出点异常和上下文异常。
步骤S2:异常检测模型的搭建。
由AutoEncoder、GRU、Attention机制组成的GRU-AutoEncoder模块用于对三种不同时间跨度的序列进行重构,并计算原时间序列和重构序列之间的重构误差,GRU-AutoEncoder模型如图2所示。
进一步的所述的GRU-AutoEncoder模块:
AutoEncoder由编码器和解码器构成,对于一个n维时间序列x={x1,x2,...xn},编码器将其压缩成m维的序列(通常m<n),解码器将压缩后的m维序列解压回n维,得到重构序列x′={x′1,x′2,...x′n}。GRU-AutoEncoder的编码器和解码器都使用了GRU单元,GRU的结构图如图3所示,编码器的数据流如下,假设输入为x={x1,x2,...xn},首先x1进入第一个GRU单元,得到当前时刻的状态
Figure BDA0003943524410000061
当前的状态
Figure BDA0003943524410000062
和下一时刻的x2一起送到下一个GRU单元得到下一时刻的状态
Figure BDA0003943524410000063
重复该步骤直至输出最后的状态
Figure BDA0003943524410000064
因此整个编码器的输出
Figure BDA0003943524410000065
同时将编码器的最后一个状态
Figure BDA0003943524410000066
传到解码器的第一个GRU单元,作为解码器的初始状态;
解码器GRU单元的输入,是将解码器当前的状态
Figure BDA0003943524410000067
送到Attention机制中,与每个编码器的输出进行运算,得到注意力得分αjt,注意力得分αjt再经过softmax函数,得到权重系数α′jt,Attention机制就是对编码器的输出Nen进行重新权重分配,因此第j个解码器的输入可以表示为
Figure BDA0003943524410000068
其中
Figure BDA0003943524410000069
Attention机制的核心,就是让解码器在每个时间步,对编码器的每个隐藏状态给予不同程度的关注,同时加入Attention机制还能加快模型的训练速度,Attention机制也是一个需要学习的参数,在解码器中,以相反的顺序执行解码,即优先重构出x′n,最后重构出x′1,调整序列顺序,得到解码器输出x′={x′1,x′2,...x′n},重构误差可以表示为Rerror=x′-x。
预处理后得到的时间尺度为24小时的输入序列对应的GRU-AutoEncoder模型记为M1
步骤S3:训练模型。
由步骤1得到时间尺度为24小时的历史时间序列输入到步骤2搭建好的GRU-AutoEncoder训练M1模型。结合图例2讲解训练过程,对于一个n维输入序列x={x1,x2,...xn},传统训练方式下,按照倒序的方式依次将输入重构,例如优先重构出xn,其次重构出xn-1,最后重构出x1,调整重构后序列的顺序,得到重构序列x′={x′1,x′2,...x′n}。计算输入序列x和重构序列x′之间的损失函数floss,更新GRU-AutoEncoder模型参数。
随机洗牌的训练方式,模型有一定概率打乱重构的顺序,且打乱的顺序是随机的,在该情况下,优先重构谁也是不确定的。当概率不发生时,仍然按照传统方式重构输入序列。最后都是根据输入序列和重构序列计算损失函数更新GRU-AutoEncoder模型参数。该种方法只运用在更新M10、M6模型参数。
步骤S4:根据训练数据确定异常检测阈值。
在步骤S3训练好了M1模型,统计对应模型下的历史数据的重构误差,绘制CDF图后,选取对应的模型下的重构误差的上阈值和下阈值。
步骤S5:执行异常检测。
执行异常检测包括待检测数据预处理、待检测数据重构、检测异常三个步骤。
1)待检测数据预处理
待检测数据预处理与历史数据预处理步骤一样,同样也将待检测数据处理为三种不同的时间尺度,xdi={ti*24′,ti*24+1′,…,ti*24+23′},上述步骤与步骤1一致,不在赘述。
2)待检测数据重构
经过待检测数据预处理后,得到时间尺度为24小时的输入序列xdi送到M1、中得到重构序列xdi′。
3)检测异常
计算该时间尺度的输入序列与重构序列之间的重构误差,当时间尺度为24小时,
Figure BDA0003943524410000071
其中rj为j时刻的重构误差,j∈{i*24,i*24+1,…i*24+23}。根据重构误差rj与步骤S4在时间尺度为24小时得到的阈值比较,进行异常值筛选。
当时间尺度为10天,只计算最后一个时间步的重构误差
Rw=w9-w9′={r(i+9)*24,r(i+9)*24+1,…,r(i+9)*24+23},由于在该时间尺度下,输入序列的时间步长为24小时,可以对所有时刻计算重构误差。再将重构误差与步骤S4在时间尺度为10天得到的阈值比较,进行异常值筛选。时间尺度为6天处理与10天类似。
实施例2
本实施例与实施例1的区别在于,时间跨度为10天,相邻两个输入序列的步长也为24小时,第i个输入序列用xwi={wi*24,wi*24+1,…,wi*24+239}表示,在该时间跨度下,单个输入序列包含10天工作日的数据信息,模型能够结合前后工作日的状态,主要用来检测工作日的集体异常,在该工作尺度下,GRU-AutoEncoder需要较长时间周期来捕获序列的周期变化,如果按传统方法将序列按照一个时间点一个时间点输入网络,由于时间跨度较长,不仅训练起来麻烦,而且模型很难捕获到序列之间的季节变化,基于这一点,将输入序列一天整和为一个向量作为一个时间步送入GRU-AutoEncoder模型中,即xwi={w0,w1,…,w9},其中wk={w(i+k)*24,w(i+k)*24+1,…,w(i+k)*24+23},经此操作,不仅解决了模型训练周期长的问题,同时也能捕获到序列之间的季节性变化。
具体如下:
步骤S1:历史时间序列数据预处理。
令历史时间序列为t={t1,t2,...tn},经过缺失值填充以及数据归一化后,得到序列t′={t′1,t′2,...t′n}。
接着将归一化后的序列t′处理成时间跨度为10天的序列,相邻两个输入序列步长也为24小时,第i个输入序列用xwi={wi*24,wi*24+1,…,wi*24+239}表示,单个输入序列包含10天工作日的数据信息,模型能够结合前后工作日的状态,主要用来检测工作日的集体异常,在该工作尺度下,GRU-AutoEncoder需要较长时间周期来捕获序列的周期变化,如果按传统方法将序列按照一个时间点一个时间点输入网络,由于时间跨度较长,不仅训练起来麻烦,而且模型很难捕获到序列之间的季节变化,基于这一点,将输入序列一天整和为一个向量作为一个时间步送入GRU-AutoEncoder模型中,,即xwi={w0,w1,…,w9},其中wk={w(i+k)*24,w(i+k)*24+1,…,w(i+k)*24+23},经此操作,不仅解决了模型训练周期长的问题,同时也能捕获到序列之间的季节性变化。
步骤S2:异常检测模型的搭建。
由AutoEncoder、GRU、Attention机制组成的GRU-AutoEncoder模块用于对三种不同时间跨度的序列进行重构,并计算原时间序列和重构序列之间的重构误差,GRU-AutoEncoder模型。
进一步的所述的GRU-AutoEncoder模块:
AutoEncoder由编码器和解码器构成,对于一个n维时间序列x={x1,x2,...xn},编码器将其压缩成m维的序列(通常m<n),解码器将压缩后的m维序列解压回n维,得到重构序列x′={x′1,x′2,...x′n}。GRU-AutoEncoder的编码器和解码器都使用了GRU单元,GRU的结构图,编码器的数据流如下,假设输入为x={x1,x2,...xn},首先x1进入第一个GRU单元,得到当前时刻的状态
Figure BDA0003943524410000091
当前的状态
Figure BDA0003943524410000092
和下一时刻的x2一起送到下一个GRU单元得到下一时刻的状态
Figure BDA0003943524410000093
重复该步骤直至输出最后的状态
Figure BDA0003943524410000094
因此整个编码器的输出
Figure BDA0003943524410000095
同时将编码器的最后一个状态
Figure BDA0003943524410000096
传到解码器的第一个GRU单元,作为解码器的初始状态;
解码器GRU单元的输入,是将解码器当前的状态
Figure BDA0003943524410000097
送到Attention机制中,与每个编码器的输出进行运算,得到注意力得分αjt,注意力得分αjt再经过softmax函数,得到权重系数α′jt,Attention机制就是对编码器的输出Nen进行重新权重分配,因此第j个解码器的输入可以表示为
Figure BDA0003943524410000098
其中
Figure BDA0003943524410000099
Attention机制的核心,就是让解码器在每个时间步,对编码器的每个隐藏状态给予不同程度的关注,同时加入Attention机制还能加快模型的训练速度,Attention机制也是一个需要学习的参数,在解码器中,以相反的顺序执行解码,即优先重构出x′n,最后重构出x′1,调整序列顺序,得到解码器输出x′={x′1,x′2,...x′n},重构误差可以表示为Rerror=x′-x。
预处理后得到的时间尺度为10天的输入序列对应的GRU-AutoEncoder模型记为M10
步骤S3:训练模型。
由步骤1得到时间尺度为10天的历史时间序列输入到步骤2搭建好的GRU-AutoEncoder训练M10模型。随机洗牌的训练方式,模型有一定概率打乱重构的顺序,且打乱的顺序是随机的,在该情况下,优先重构谁也是不确定的。当概率不发生时,仍然按照实施例1中传统方式重构输入序列。最后都是根据输入序列和重构序列计算损失函数更新GRU-AutoEncoder模型参数。该种方法只运用在更新M10模型参数。
步骤S4:根据训练数据确定异常检测阈值。
在步骤S3训练好了M10模型,统计对应模型下的历史数据的重构误差,绘制CDF图后,选取对应的模型下的重构误差的上阈值和下阈值。
步骤S5:执行异常检测。
执行异常检测包括待检测数据预处理、待检测数据重构、检测异常三个步骤。
1)待检测数据预处理
待检测数据预处理与历史数据预处理步骤一样,同样也将待检测数据处理为三种不同的时间尺度,xwi={w0,w1,…,w9},其中wk={w(i+k)*24,w(i+k)*24+1,…,w(i+k)*24+23},上述步骤与步骤1一致,不在赘述。
2)待检测数据重构
经过待检测数据预处理后,得到时间尺度为10天的输入序列xwi送到M10中得到重构序列xwi′。
3)检测异常
计算该时间尺度的输入序列与重构序列之间的重构误差,当时间尺度为10天,只计算最后一个时间步的重构误差Rw=w9-w9′={r(i+9)*24,r(i+9)*24+1,…,r(i+9)*24+23},由于在该时间尺度下,输入序列的时间步长为24小时,可以对所有时刻计算重构误差。再将重构误差与步骤S4在时间尺度为10天得到的阈值比较,进行异常值筛选。
实施例3
本实施例与实施例2的区别在于,时间跨度为6天,相邻两个输入序列的步长也为24小时,第i个输入序列用xoi={oi*24,oi*24+1,…,oi*24+143}表示,主要用来检测周末的集体异常,输入方式上也和时间跨度为10天一样,不再赘述输入序列可以描述为xoi={o0,o1,…,o5},其中ok={o(i+k)*24,o(i+k)*24+1,…,o(i+k)*24+23}。
本实施例中其他技术特征与实施例2相同,本实施例中不进行具体的撰述。
进一步结合实施例1、2和3的试验结果进行说明:
表1-给出了三种不同时间尺度下GRU-Autoencoder模型的参数,且图4、图5分别展示了上下文异常和集体异常的检测示例图。
表1:GRU-Autoencoder模型参数的设计
Figure BDA0003943524410000111
其中k表示Attention机制的维度,l表示模型GRU-AutoEncoder中GRU的维度,ξ表示随机概率。
表2:重构误差阈值的选取
Figure BDA0003943524410000112
由于异常在数据只占少部分,仅采用准确率
Figure BDA0003943524410000121
不足以描述模型的性能,还加入召回率
Figure BDA0003943524410000122
Figure BDA0003943524410000123
对模型进行评估。其中TP为真阳性,FP为假阳性,FN为假阴性。经过统计对准确率、召回率和F-score的值依次为94.5%、92.4%和93.4%。
本发明提出的一种以随机洗牌为训练方式,选通递归单元(GRU)和自编码器为网络框架的异常检测算法,主要贡献如下:
1、在时间跨度为多天的工作模式下,模型GRU-AutoEncoder不采用传统的时间粒度作为步长输入,而将整天堆叠为一个向量,作为一个时间步输入到GRU-AutoEncoder网络中,不仅减少GRU的时间步,减少模型的训练时长,而且更容易捕获到序列的季节性变化。
2、在模型的训练方式上,增加了随机洗牌算法,有效地防止模型的过拟合现象。
使用M1、M10、M6三种模型检测三种异常。M1模型下,时间跨度较小,模型没有结合天与天之间的信息,主要为了检测出点异常和上下文异常。M10和M6模型下,时间跨度较长,模型能够结合工作日(周末)天与天之间的关系,主要检测集体异常。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式包括部件进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

Claims (10)

1.一种周期时间序列异常检测方法,其特征在于,包括如下步骤:
步骤S1、历史时间序列数据预处理;
步骤S2、搭建异常检测模型
整体采用AutoEncoder模型,AutoEncoder的编码器和解码器都采用GRU单元,并在编码器和解码器之间加入了自注意力机制;
步骤S3、训练异常检测模型;
步骤S4、根据训练数据确定异常检测阈值;
步骤S5、执行异常检测。
2.根据权利要求1所述的周期时间序列异常检测方法,其特征在于,所述步骤1包括如下子步骤:
S1-1、采用线性插值的方法对历史时间序列进行缺失值填充,其中历史时间序列为t={t1,t2,...tn},其中n为序列长度,ti为序列在i时刻的值,i∈{1,2,3…,n};
S1-2、对进行缺失值填充后的历史时间序列进行MIN-MAX归一化处理,得到t′={t′1,t′2,...t′n}。
3.根据权利要求2所述的周期时间序列异常检测方法,其特征在于,所述MIN-MAX归一化处理方法为,定义:
Figure FDA0003943524400000011
其中max(t)为时间序列t中最大的值,min(t)为时间序列t中最小的值,时间序列t经过归一化后的结果为t′={t′1,t′2,...t′n},且所有的值都控制在[0,1]。
4.根据权利要求1所述的周期时间序列异常检测方法,其特征在于,所述异常检测模型的运行方法为:
编码器GRU单元的数据流如下,假设输入为x={x1,x2,...xn},首先x1进入第一个GRU单元,得到当前时刻的状态
Figure FDA0003943524400000012
当前的状态
Figure FDA0003943524400000013
和下一时刻的x2一起送到下一个GRU单元得到下一时刻的状态
Figure FDA0003943524400000014
重复该步骤直至输出最后的状态
Figure FDA0003943524400000021
因此整个编码器的输出
Figure FDA0003943524400000022
同时将编码器的最后一个状态
Figure FDA0003943524400000023
传到解码器的第一个GRU单元,作为解码器的初始状态;
解码器GRU单元的输入,是将解码器当前的状态
Figure FDA0003943524400000024
送到Attention机制中,与每个编码器的输出进行运算,得到注意力得分αjt,注意力得分αjt再经过softmax函数,得到权重系数α′jt,Attention机制就是对编码器的输出Nen进行重新权重分配,因此第j个解码器的输入可以表示为
Figure FDA0003943524400000025
其中
Figure FDA0003943524400000026
Attention机制的核心,就是让解码器在每个时间步,对编码器的每个隐藏状态给予不同程度的关注,同时加入Attention机制还能加快模型的训练速度,Attention机制也是一个需要学习的参数,在解码器中,以相反的顺序执行解码,即优先重构出x′n,最后重构出x′1,调整序列顺序,得到解码器输出x′={x′1,x′2,...x′n},重构误差可以表示为Rerror=x′-x。
5.根据权利要求4所述的周期时间序列异常检测方法,其特征在于,所述步骤S3中训练方法为:随机洗牌训练方法,具体如下:
对输入的n维序列x={x1,x2,...xn}随机打乱重构顺序,最后根据输入序列和重构序列均方误差损失函数更新异常检测模型的参数。
6.根据权利要求5所述的周期时间序列异常检测方法,其特征在于,所述步骤S3中打乱重构顺序时,若未打乱顺序的按照倒序的方式依次将输入重构,例如优先重构出xn,其次重构出xn-1,最后重构出x1,调整重构后序列的顺序,得到重构序列x′={x′1,x′2,...x′n},计算输入序列x和重构序列x′之间的最小化损失函数floss,更新异常检测模型的参数。
7.根据权利要求6所述的周期时间序列异常检测方法,其特征在于,所述最小化损失函数floss的表达式如下:
floss=|x-x′|2
8.根据权利要求1所述的周期时间序列异常检测方法,其特征在于,所述步骤S4中异常检测阈值的确定方法:统计历史数据的重构误差,绘制CDF图后,根据异常值为小概率事件的原理,结合重构误差的统计分析,选取上阈值和下阈值。
9.根据权利要求8所述的周期时间序列异常检测方法,其特征在于,所述步骤S5中执行检测异常的方法为:
S5-1、通过步骤S1对待检测时间序列进行预处理;
S5-2、令预处理后的待检测时间序列为x={x1,x2,...xn},经过异常检测模型重构得到重构序列x′={x′1,x′2,...x′n};
S5-3、计算时间序列x和重构序列x′的重构误差Rerror={r1,r2,...rn},其中ri=xi-x′i为i时刻的重构误差,i∈{1,2,…n},根据得到的重构误差ri与步骤S4得到的阈值进行比较,对异常值进行筛选。
10.根据权利要求9所述的周期时间序列异常检测方法,其特征在于,所述异常值筛选的方法为:
Figure FDA0003943524400000031
其中,Rup重构误差的上阈值,Rlow重构误差的下阈值。
CN202211423138.3A 2022-11-15 2022-11-15 一种周期时间序列异常检测方法 Pending CN115766504A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211423138.3A CN115766504A (zh) 2022-11-15 2022-11-15 一种周期时间序列异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211423138.3A CN115766504A (zh) 2022-11-15 2022-11-15 一种周期时间序列异常检测方法

Publications (1)

Publication Number Publication Date
CN115766504A true CN115766504A (zh) 2023-03-07

Family

ID=85370996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211423138.3A Pending CN115766504A (zh) 2022-11-15 2022-11-15 一种周期时间序列异常检测方法

Country Status (1)

Country Link
CN (1) CN115766504A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235462A (zh) * 2023-11-09 2023-12-15 海门市知行包装制品有限公司 基于时序数据分析的袋式包装机故障智能预测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235462A (zh) * 2023-11-09 2023-12-15 海门市知行包装制品有限公司 基于时序数据分析的袋式包装机故障智能预测方法
CN117235462B (zh) * 2023-11-09 2024-02-13 海门市知行包装制品有限公司 基于时序数据分析的袋式包装机故障智能预测方法

Similar Documents

Publication Publication Date Title
CN114422381B (zh) 通信网络流量预测方法、系统、存储介质及计算机设备
CN113554466B (zh) 一种短期用电量预测模型构建方法、预测方法和装置
CN112232604B (zh) 基于Prophet模型提取网络流量的预测方法
WO2020143253A1 (zh) 一种基于Sparse Autoencoder的电力系统运行方式聚类方法
CN112785066B (zh) 基于卷积-递归神经网络的全球野火次季节时空预测方法
CN116307212B (zh) 一种空气质量预测方法及系统
CN114218872B (zh) 基于dbn-lstm半监督联合模型的剩余使用寿命预测方法
CN113449919B (zh) 一种基于特征和趋势感知的用电量预测方法及系统
CN115766504A (zh) 一种周期时间序列异常检测方法
CN115034485A (zh) 一种基于数据空间的风电功率区间预测方法及装置
CN115146842A (zh) 基于深度学习的多元时间序列趋势预测方法和系统
CN114781744A (zh) 基于编码解码器的深度学习多步长辐照度预测方法
CN116258269A (zh) 一种基于负荷特征分解的超短期负荷动态预测方法
CN113469013B (zh) 一种基于迁移学习和时间序列的电机故障预测方法及系统
CN115883424B (zh) 一种高速骨干网间流量数据预测方法及系统
CN112767692A (zh) 基于SARIMA-GA-Elman组合模型的短时交通流量预测系统
CN116485015A (zh) 一种基于Conv-LSTM-RA网络的空气质量指数预测方法
CN115713044A (zh) 一种多工况切换下的机电设备剩余寿命分析方法和装置
CN114997475A (zh) 一种基于Kmeans的融合模型光伏发电短期预测方法
Shayeghi et al. Intelligent neural network based STLF
CN117591942B (zh) 一种用电负荷数据异常检测方法、系统、介质及设备
CN117878928B (zh) 一种基于深度学习的风电功率预测方法及装置
CN117633456B (zh) 基于自适应焦点损失的海上风电天气事件辨识方法和装置
Qin et al. Cnn-gru-attention based short-term load forecasting of distribution networks
Lin et al. Data Augmentation for Industrial Multivariate Time Series via a Spatial and Frequency Domain Knowledge GAN

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