时间序列数据的异常检测方法、装置及计算机存储介质与流程

文档序号:32389668发布日期:2022-11-30 07:42阅读:56来源:国知局
时间序列数据的异常检测方法、装置及计算机存储介质与流程

1.本技术属于大数据处理技术领域,尤其涉及一种时间序列数据的异常检测方法、装置及计算机存储介质。


背景技术:

2.随着互联网与人工智能的不断发展,世界正处在一个信息大爆炸的时代,大数据越来越受到人们的重视,在信息化的发展过程中,数据的挖掘与分析将有助于人们理解数据背后蕴含的价值与规律,因此,很多领域都在发展大数据、数据挖掘等信息技术,通过发掘数据背后隐藏的重要信息,促进相关领域的发展。
3.时间序列数据是各类大数据中的一类,时间序列广泛应用在各个领域,如医疗、金融、工业等领域,如何从中发掘出有价值和有规律的信息成为当前的研究热点。时间序列数据的异常检测包含于时间序列数据挖掘领域,其作用是将时间序列数据中不正常的数据识别出来,通过对异常数据的发现,来及时解决设备故障、医疗状况、网络安全的非法入侵等监控问题,随着业务系统的逐渐庞大,业务组合的愈加复杂化、时间序列数据的规模变得越来越大,其数据的数据量和数据维度也越来越大,单纯地依靠人力检测已经无法满足日益增长的监控需求。


技术实现要素:

4.有鉴于此,本技术提供一种时间序列数据的异常检测方法、装置及计算机存储介质,以高效、准确的实现对时间序列数据的异常检测,解决人工检测方式存在的费时、费力、易出错等问题。
5.具体方案如下:
6.一种时间序列数据的异常检测方法,包括:
7.获取时间序列监测数据;
8.提取所述时间序列监测数据的高频分量和低频分量;
9.利用第一预测模型基于所述高频分量进行预测处理,得到未来时序下数据的第一预测结果;
10.利用第二预测模型基于所述低频分量进行预测处理,得到所述未来时序下数据的第二预测结果;
11.对所述第一预测结果和所述第二预测结果进行叠加处理,得到所述未来时序下数据的目标预测结果;
12.根据所述目标预测结果,识别所述未来时序下真实数据中的异常点数据。
13.可选的,所述提取所述时间序列监测数据的高频分量和低频分量,包括:
14.通过使用小波分析理论对所述时间序列监测数据进行多尺度分解重构,提取所述时间序列监测数据的高频周期性分量、高频随机性分量和低频趋势性分量;
15.其中,所述高频分量包括所述高频周期性分量和所述高频随机性分量,所述低频
分量包括所述低频趋势性分量。
16.可选的,所述通过使用小波分析理论对所述时间序列监测数据进行多尺度分解重构,提取所述时间序列监测数据的高频周期性分量、高频随机性分量和低频趋势性分量,包括:
17.获取所述时间序列监测数据的变形实测数据,所述变形实测数据为对所述时间序列监测数据清洗异常值后所得的数据;
18.将所述变形实测数据作为当前待分解数据;
19.基于小波分解,将当前待分解数据分解为低频部分和高频部分,得到当前待分解数据对应的低频分量和高频分量;
20.确定当前待分解数据对应的低频分量包含的低频子序列是否具备预设的变化趋势特征;
21.若是,结束对数据的分解处理;
22.若否,将待分解数据更新为当前待分解数据对应的低频分量,并循环至所述将当前待分解数据分解为低频部分和高频部分的步骤,直至当前待分解数据对应的低频分量包含的低频子序列具备所述变化趋势特征时,结束对数据的分解处理;分解过程中每一层仅对低频分量进行分解,高频分量不处理;
23.将分解结果中最后一层的低频分量提取为所述低频趋势性分量,并从各个层的高频分量中提取高频周期性分量和高频随机性分量。
24.可选的,所述利用第一预测模型基于所述高频分量进行预测处理,得到未来时序下数据的第一预测结果,包括:
25.对所述高频随机性分量进行去噪处理;
26.将所述高频周期性分量和去噪处理后的高频随机性分量输入长短期记忆网络模型,由所述长短期记忆网络模型基于所述高频周期性分量和去噪处理后的高频随机性分量进行预测处理,得到未来时序下数据的第一预测结果。
27.可选的,所述对所述高频随机性分量进行去噪处理,包括:
28.基于预设的阈值,对所述高频随机性分量进行去噪处理;
29.其中,所述阈值为σ1=mad/0.6745,mad表示首层小波分解系数绝对值的中间值,0.6745为高斯噪声标准方差的调整系数,n1表示高频随机性分量信号的尺寸或者长度。
30.可选的,所述长短期记忆网络模型包括多个依次相连的记忆单元,所述记忆单元包括遗忘门、输入门和输出门;
31.其中,当前记忆单元通过对前一记忆单元传递的特征信息和当前记忆单元的高频分量输入数据进行融合处理得到当前记忆单元的产出信息,在进行融合处理时,当前记忆单元通过对输入的高频分量进行有选择的记忆和遗忘来处理前一记忆单元传递下来的特征信息;
32.经由依次相连的多个记忆单元分别对各自输入的高频分量及前一记忆单元传递的特征信息进行处理,实现在模型基于高频分量的预测处理;
33.前一记忆单元传递的特征信息包括所述前一记忆单元的状态值和输出值。
34.可选的,所述利用第二预测模型基于所述低频分量进行预测处理,得到在所述未
来时序下数据的第二预测结果,包括:
35.将所述低频趋势性分量输入差分整合移动平均自回归模型,由所述差分整合移动平均自回归模型基于低频趋势性分量进行预测处理,得到所述未来时序下数据的第二预测结果。
36.可选的,所述根据所述目标预测结果,识别所述未来时序下真实数据中的异常点数据,包括:
37.确定所述未来时序下的真实数据与所述未来时序下数据的目标预测结果之间的偏差信息;
38.根据所述偏差信息,识别所述未来时序下真实数据中的异常点数据。
39.一种时间序列数据的异常检测装置,包括:
40.获取模块,用于获取时间序列监测数据;
41.提取模块,用于提取所述时间序列监测数据的高频分量和低频分量;
42.第一预测处理模块,用于利用第一预测模型基于所述高频分量进行预测处理,得到未来时序下数据的第一预测结果;
43.第二预测处理模块,用于利用第二预测模型基于所述低频分量进行预测处理,得到所述未来时序下数据的第二预测结果;
44.叠加模块,用于对所述第一预测结果和所述第二预测结果进行叠加处理,得到所述未来时序下数据的目标预测结果;
45.异常点识别模块,用于根据所述目标预测结果,识别所述未来时序下真实数据中的异常点数据。
46.一种计算机可读介质,其上存储有计算机程序,所述计算机程序包含用于执行如上文任一项所述的时间序列数据的异常检测方法的程序代码。
47.一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,所述计算机程序包含用于执行如上文任一项所述的时间序列数据的异常检测方法的程序代码。
48.综上所述,本技术提供的时间序列数据的异常检测方法、装置及计算机存储介质,通过将时间序列监测数据分解并提取其中的高频分量和低频分量,分别根据高/低频分量的特点、采用对应的模型对高/低频分量进行分析、预测处理,并将高/低频分量对应的预测结果进行叠加得到未来时序下数据的预测值,进而以预测值为依据识别未来时序下真实数据中的异常点数据,可以实现对时间序列数据的实时检测,及时发现其中的异常点数据,以提醒维护人员尽早采取应对措施,避免造成无法弥补的损失。
附图说明
49.结合附图并参考以下具体实施方式,本技术各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
50.图1是本技术提供的时间序列数据的异常检测方法流程图;
51.图2是本技术提供的小波分解结构图;
52.图3是本技术提供的lstm模型的细胞结构图;
53.图4是本技术提供的基于wa-lstm-arima模型的时间序列数据异常检测流程图;
54.图5是本技术提供的模型训练所基于的原数据集及其数据分布示意图;
55.图6是本技术提供的真实值与预测值对应的一个示例性残差图;
56.图7是本技术提供的时间序列数据的异常检测装置的组成结构图。
具体实施方式
57.下面将参照附图更详细地描述本技术的实施例。虽然附图中显示了本技术的某些实施例,然而应当理解的是,本技术可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本技术。应当理解的是,本技术的附图及实施例仅用于示例性作用,并非用于限制本技术的保护范围。
58.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
59.需要注意,本技术中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
60.需要注意,本技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
61.时间序列数据是各类大数据中的一类,它被定义为按照时间的统计或者观测而成的数列。时间序列广泛应用在各个领域,如医疗、金融、工业等领域,目前时间序列数据的数据量和数据维度越来越大,如何从中发掘出有价值和有规律的信息成为当前的研究热点。时间序列异常检测是包含于时间序列数据挖掘领域的,其被定义为从正常的时间序列中识别不正常的事件或行为的过程,它的作用是将时间序列中不正常的数据识别出来。有时候异常数据本身有更重要的价值,能够提供很多有用的信息,有效的异常检测被广泛应用于现实世界的很多领域,例如量化交易,网络安全检测、自动驾驶汽车和大型工业设备的日常维护等,特别的,由于时间序列数据具有可视化成本低、含义明确、规律明显等特点,因此常常被应用在运维领域中,可以用时间序列数据监控某个系统的运行状态。
62.为了解决现有人工检测方式存在的费时、费力、易出错等问题,本技术提供一种时间序列数据的异常检测方法、装置、计算机存储介质及计算机程序产品,以高效、准确地分析与发现时间序列数据中不符合正常发展规律的数据,通过对异常数据的发现,及时发现设备故障,有效避免重大灾难事故,保证日常生产生活安全,减少不必要的人力财力损失。
63.参见图1所示的时间序列数据的异常检测方法流程图,本技术提供的时间序列数据的异常检测方法包括以下处理流程:
64.步骤101、获取时间序列监测数据。
65.本技术的方法可以应用到很多领域,比如网络安全的非法入侵检测、金融交易中的金融欺诈检测、工业生产中设备故障的检测以及医疗状况的检测等等。以工业领域为例,通过对设备动作数据的记录以及分析,当某一时刻数据发生异常时,提示设备可能因长时间连续工作或者磨损受到了损坏,需要及时检修,以避免因没有及时发现问题而造成更加严重的损失,这些异常数据比正常数据蕴含着更有价值的信息,及时有效地找到这些异常
数据,对于很多领域来讲是非常重要的。
66.本步骤中获取的时间序列监测数据,可以是但不限于网络安全监测、金融交易、设备状态监测、医疗状况监测等方面的时间序列数据,可视实际需求而定。
67.步骤102、提取所述时间序列监测数据的高频分量和低频分量。
68.本技术通过对时间序列监测数据(简称“时间序列数据”)进行多尺度分解重构,提取出其中的高频分量和低频分量,其中,高频分量包括高频周期性分量和高频随机性分量,低频分量包括低频趋势性分量。
69.进一步,可选的,利用wa技术对时间序列监测数据进行分解,wa是指小波变换,其继承和发展了短时傅里叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点。
70.相应的,本技术对时间序列监测数据运用小波分析理论进行多尺度分解重构,通过使用小波分析理论对时间序列监测数据的多尺度分解重构,提取其中的高频周期性分量、高频随机性分量和低频趋势性分量,该过程具体可实现为:
71.11)获取所述时间序列监测数据的变形实测数据,所述变形实测数据为对所述时间序列监测数据清洗异常值后所得的数据;
72.12)将所述变形实测数据作为当前待分解数据;
73.13)基于小波分解,将当前待分解数据分解为低频部分和高频部分,得到当前待分解数据对应的低频分量和高频分量;
74.14)确定当前待分解数据对应的低频分量包含的低频子序列是否具备预设的变化趋势特征;
75.可选的,预设的变化趋势特征可设定为:当前分解层对应的低频时序数据波形有明显波动变化,且无周期性变化。其中,所述的明显波动变化,可基于设定的波形变化阈值衡量,低频时序数据波形的波动达到该阈值,即可视为具有明显波动变化。
76.15)若是,结束对数据的分解处理;
77.16)若否,将待分解数据更新为当前待分解数据对应的低频分量,并循环至所述步骤13)中将当前待分解数据分解为低频部分和高频部分的步骤,直至当前待分解数据对应的低频分量包含的低频子序列具备所述变化趋势特征时,结束对数据的分解处理;
78.其中,分解过程中每一层仅对低频分量进行分解,高频分量不处理。
79.17)将分解结果中最后一层的低频分量提取为所述低频趋势性分量,并从各个层的高频分量中提取高频周期性分量和高频随机性分量。
80.为便于理解,以下进一步详细说明。
81.申请人研究发现,时间序列数据的数据序列中蕴含了环境及采集过程等对时间序列数据的影响信息,其中高频数据主要体现出高频率、周期性的特点,并可能伴随一些噪声,而低频数据则体现出较明显的低频率、趋势性特点,从而,基于wa技术对序列进行多尺度分解,来提取出高频周期性分量、低频趋势性分量和高频随机性分量。
82.考虑到采集数据的离散性,优选采用离散小波变换wf进行数据分析:
[0083][0084]
该式中,a0、b0均为实常数,j、k为整数,表示小波基函数的复共辄,f(t)表示变
形时间序列,t为时间。
[0085]
小波分解结构图见图2所示,图2中f0表示时间序列监测数据的变形实测数据,变形实测数据指根据实际需要从源数据即时间序列监测数据中选择/提取的检测所需数据,具体可以为对时间序列监测数据清洗异常值后所得的数据,使得在训练阶段或预测阶段,选用进行清洗异常值后的数据进行训练或预测;f1,f2,

,f
n1
为低频部分,d1,d2,

,d
n1
为高频部分。
[0086]
其中,在每一层中只对低频分量进行分解,高频分量不作处理,并判断每次分解后低频子序列的变化趋势,识别其是否满足预设的变化趋势特征,若具有明显的变化趋势,即当前分解层的低频时序数据波形有明显波动变化,且无周期性变化,则判定满足预设的变化趋势特征,停止分解,否则若趋势性不明显,则继续分解至呈现明显的趋势性。假设此时分解层数为n1,则得到n1个高频分量和1个低频分量,叠加后可得:
[0087]
f0=d1+d2+

+d
n1
+f
n1
[0088]
也就是说,将分解结果中最后一层的低频分量(f
n1
),提取为时间序列监测数据的低频趋势性分量,将各个层的高频分量(d1,d2,

,d
n1
),提取为时间序列监测数据的高频分量。申请人研究发现,高频数据主要体现出高频率、周期性的特点,且受工况、仪器误差等因素干扰,数据序列中往往含有噪声,相应可进一步从高频分量中提取出高频周期性分量和高频随机性分量。
[0089]
其中,高频周期性分量主要体现时间序列监测数据的高频数据部分信息,低频趋势性分量主要体现时间序列监测数据的低频数据部分信息,高频随机性分量则主要体现噪声的影响。
[0090]
步骤103、利用第一预测模型基于所述高频分量进行预测处理,得到未来时序下数据的第一预测结果。
[0091]
优选的,针对高频分量的特点,本技术实施例采用lstm(long short-term memory,长短期记忆网络)作为高频分量的分析与预测处理模型,也就是,第一预测模型为lstm模型。lstm是一种时间循环神经网络,是为了解决一般的循环神经网络存在的长期依赖问题而专门设计出来的。
[0092]
受工况、仪器误差等因素干扰,时间序列监测数据的数据序列中往往含有噪声,干扰预报的精度,故需要对监测数据序列进行去噪。本技术实施例中,由于主要通过高频随机性分量体现噪声的影响,相应具体可对提取的高频随机性分量进行去噪,其中去噪的关键在于确定阈值λ,阈值选取过大或过小都会影响去噪效果,本实施例优选采用以下计算式确定阈值λ的取值:
[0093][0094]
σ1=mad/0.6745
[0095]
其中,mad表示首层小波分解系数绝对值的中间值,0.6745为高斯噪声标准方差的调整系数,n1表示高频随机性分量信号的尺寸或者长度(也就是分解层数)。
[0096]
经验证,基于以上计算式确定出的阈值进行去噪,可对高频随机性分量达到较好的去噪效果。
[0097]
在对高频随机性分量进行去噪处理后,将其并入高频序列中统一处理。即,将去噪处理后的高频随机性分量与高频周期性分量一并输入lstm模型,由lstm模型基于去噪处理
后的高频随机性分量和高频周期性分量进行预测处理,得到未来时序下数据的第一预测结果。
[0098]
长短期记忆网络模型包括多个依次相连的记忆单元,所述记忆单元包括遗忘门、输入门和输出门。
[0099]
其中,当前记忆单元通过对前一记忆单元传递的特征信息和当前记忆单元的高频分量输入数据进行融合处理得到当前记忆单元的产出信息,在进行融合处理时,当前记忆单元通过对输入的高频分量进行有选择的记忆和遗忘来处理前一记忆单元传递下来的特征信息;
[0100]
经由依次相连的多个记忆单元分别对各自输入的高频分量及前一记忆单元传递的特征信息进行处理,实现在模型基于高频分量的预测处理;
[0101]
前一记忆单元传递的特征信息包括所述前一记忆单元的状态值和输出值以下进一步详细说明。
[0102]
lstm模型是rnn(recurrent neural network,循环神经网络)的一种特殊形式,传统rnn模型对于距离较远的信息会产生遗忘现象,难以存储过去较长时间序列的信息,仅凭就近的几步信息进行未来预测,一旦出现错误则很难恢复。而lstm模型通过输入门、遗忘门、输出门来控制信息的保留、舍去和更新,有效克服了前者的不足,大大提高了预测精度。
[0103]
lstm模型由若干个记忆单元组成,本实施例将其称之为细胞,模型的细胞s参与基于输入数据的预测处理,模型的细胞结构具体可参见图3所示,其中,f、i、o分别表示遗忘门、输入门、输出门,x
t
、h
t
分别表示输入和输出,σ表示sigmoid函数,c
t
表示t时刻的状态值,即在此时刻之前的细胞单元对输入高频分量进行有选择的记忆和遗忘来处理传递下来的特征信息,c
t
具体由前一细胞的状态值和输出值以及当前细胞的输入数据进行融合处理得到。
[0104]
结合参见图3,通过lstm模型对高频分量(高频周期性分量与去噪后的高频随机性分量)进行预测处理的过程如下:
[0105]
21)利用遗忘门控制由小波分解数据得到的高频分量信息的取舍,确定保留前一状态细胞旧信息的多少:
[0106]ft
=σ(w
hfht-1
+w
xf
x
t
+bf)
[0107]
式中,f
t
为遗忘门输出值,即0~1的某一数值;h
t-1
,w
hf
分别为前一时刻的输出和权重;x
t
,w
xf
分别为当前时刻的输入和权重;bf为偏置项。
[0108]
22)求解更新信息的候选值和更新信息的输出值i
t
,确定细胞需要更新的信息,即对前一细胞输出值和当前细胞输入值通过输入门运算进行选择记忆的数据信息:
[0109][0110]it
=σ(w
hiht-1
+w
xi
xi+bi)
[0111]
式中,w
hc
,w
xc
分别为求解时h
t-1
和x
t
对应的更新信息权重;w
hi
,w
xi
分别为求解i
t
时h
t-1
和xi对应的输入门权重;bc,bi为偏置项。
[0112]
23)将输出值f
t
与细胞前一状态c
t-1
相乘,将候选值和输出值i
t
相乘,并将两个乘积叠加,从而达到遗忘部分旧信息和记住部分新信息的目的,得到细胞新状态c
t

[0113][0114]
24)利用输出门确定新细胞需要输出的信息o
t
,并与新细胞c
t
经tanh层处理后的结果相乘得到最终输出结果h
t

[0115]ot
=σ(w
hoht-1
+w
xo
xi+bo)
[0116]ht
=o
t tanh(c
t
)
[0117]
式中,w
ho
,w
xo
分别为求解o
t
时h
t-1
和xi对应的输出门权重;bo为偏置项。
[0118]
步骤104、利用第二预测模型基于所述低频分量进行预测处理,得到所述未来时序下数据的第二预测结果。
[0119]
优选的,针对低频分量的特点,本技术实施例采用arima(autoregressive integrated moving average model)作为低频分量的分析与预测处理模型,也就是,第二预测模型为arima模型。arima是差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动),是时间序列预测分析方法之一。
[0120]
其中,arima模型将差分运算与自回归移动平均模型(arma)相结合,通过对非平稳序列进行差分处理,使其趋于平稳化,进而对该序列进行arma模型预测。arima的优势在于用数学模型来描述时效序列,并通过序列的过去值和现在值预测未来的走向。
[0121]
arima模型表示如下:
[0122][0123]
式中,p为自回归阶数;为自回归系数;l为滞后算子;d为差分阶数;y
t
为输入的时间序列;q为移动平均阶数;θi为移动平均系数;ε
t
为残差序列。
[0124]
本技术实施例中,arima模型的构建过程包括:
[0125]
31)对时间序列数据进行差分处理,当处理后的序列成为平稳序列时停止差分,并确定此时的差分阶数d,作为模型的差分阶数;
[0126]
32)在差分处理的基础上,通过sbc准则确定p、q值。
[0127]
sbc准则是最优模型的真实阶数的相合估计。其表达式如下:
[0128]
sbc=-2lnm
l
+lnn
·n[0129]
式中,m
l
l为模型极大似然函数值。
[0130]
该准则旨在将模型中需要拟合的未知参数个数的惩罚权重由固定值转换为与样本容量有关的动态值,使其能够适应时间序列长度的变化,判断结果更可靠。在实际应用该准则时,本实施例比较一定范围内p、q值的sbc指标,选取与sbc指标最小值对应的p、q值作为最优参数。
[0131]
步骤105、对所述第一预测结果和所述第二预测结果进行叠加处理,得到所述未来时序下数据的目标预测结果。
[0132]
之后,将第一预测模型、第二预测模型的预测结果进行叠加,得到未来时序下数据的最终预测结果,即目标预测结果。
[0133]
步骤106、根据所述目标预测结果,识别所述未来时序下真实数据中的异常点数据。
[0134]
在根据对不同模型预测结果的叠加处理得到未来时序下数据的最终预测结果即
目标预测结果后,具体可确定未来时序下的真实数据与所述未来时序下数据的目标预测结果之间的偏差信息,并根据偏差信息,识别未来时序下真实数据中的异常点数据。
[0135]
进一步,实际应用中,在将两模型的预测结果叠加得到最终的目标预测结果后,可进一步分析并绘制真实值与预测值之间的残差所对应的残差图,并基于残差图识别异常点,以基于异常点识别,来判断所属应用/系统是否出现故障/异常,如判断是否出现网络非法入侵、金融欺诈、设备故障或医疗事故状况等等。
[0136]
综上所述,本技术提供的时间序列数据的异常检测方法、装置及计算机存储介质,通过将时间序列监测数据分解并提取其中的高频分量和低频分量,分别根据高/低频分量的特点、采用对应的模型对高/低频分量进行分析、预测处理,并将高/低频分量对应的预测结果进行叠加得到未来时序下数据的预测值,进而以预测值为依据识别未来时序下真实数据中的异常点数据,可以实现对时间序列数据的实时检测,及时发现其中的异常点数据,以提醒维护人员尽早采取应对措施,避免造成无法弥补的损失。
[0137]
接下来继续提供本技术方法的一应用示例。
[0138]
该示例预先建立基于wa-lstm-arima的时间序列异常检测模型,并使用该模型,对时间序列数据运用小波分析理论进行多尺度分解重构,对于分解后提取的高频分量和低频分量,分别采用lstm模型和arima模型进行分析,然后将两模型的预测结果叠加得到最终的预测结果,最后基于两模型预测结果的叠加值识别异常点。
[0139]
该基于wa-lstm-arima的时间序列异常检测模型,对时间序列数据的详细异常检测流程如图4所示,包括:对时间序列数据运用小波分析理论进行多尺度分解重构,提取出高频周期性分量、低频趋势性分量和高频随机性分量;高频周期性分量主要体现了高频数据部分信息,采用lstm模型进行分析与预测处理;低频趋势性分量体现了低频数据部分信息,采用arima模型进行分析与预测处理;高频随机性分量主要体现噪声的影响,在对其进行去噪处理后并入高频序列中统一处理。将各模型的预测结果叠加,得到未来时序下数据的最终预测结果,并基于预测值结合未来时序下数据的真实值(观测值)分析绘制残差图,识别异常点。
[0140]
该示例预先选取数据集对模型进行训练与测试、评估。
[0141]
鉴于证券市场中股票的交易价格与交易量等数据会形成一个连续不断的时间序列,蕴含着与时间相关的有用信息,本示例采用股票交易方面的相关数据作为实验用数据集,数据集包括日期、开盘价等信息,原数据集及其数据分布如图5所示,由于要观察的是预测值在时间维度上的走势,因此取数据集中的data和volume(在股票中指成交量)这两列信息,其中,采用数据集中前60%的数据作为模型的学习数据,后40%的数据用来预测,并基于残差图将真实值与预测值之间最大偏差的前4%作为异常点,残差图如图6所示。
[0142]
在评估时间序列异常检测模型的性能时,本示例采用准确率(p)、召回率(r)和f1值等指标进行衡量,其中,准确率表示预测和实际都是异常的样本数占预测是异常的总数的比例,值越大,表示性能越好;召回率表示预测和实际都是异常的样本数占实际总异常数的比例,值越大,性能越好;f1值表示的是准确率和召回率的加权调和平均,值越大,性能越好。准确率、召回率以及f1值的计算公式分别如下所示:
[0143]
[0144][0145][0146]
其中,tp表示预测是异常实际也是异常的样本数,fp表示预测是异常实际是正常的样本数,fn表示预测是正常实际是异常的样本数。因此,tp+fp表示预测为异常的样本总数,tp+fn表示实际为异常的样本总数。
[0147]
由于本示例的模型是异常检测模型,因此这里的正例指的是异常的样本。本示例的试验所用的总样本数是730个,其中正负例样本数分布如表1所示。
[0148]
表1正负例样本数分布
[0149] 实际正例实际负例预测正例254预测负例3698
[0150]
根据表1可以计算出模型的准确率、召回率以及f1值,如表2所示:
[0151]
表2模型的准确率、召回率以及f1值
[0152]
准确率(p)0.862召回率(r)0.892f10.877
[0153]
本示例的模型基于学习某一系统的历史数据对后续数据进行预测,通过比较真实值与预测值之间的偏差来判断系统是否出现异常,可以实现对时间序列的实时检测,以准确、及时发现异常点数据,并提醒维护人员尽早采取应对措施,避免造成无法弥补的损失,可彻底解决以往人工检测方式存在的费时、费力、易出错等问题。
[0154]
对应于上述的时间序列数据的异常检测方法,本技术还提供一种时间序列数据的异常检测装置,该装置的组成结构如图7所示,包括:
[0155]
获取模块10,用于获取时间序列监测数据;
[0156]
提取模块20,用于提取所述时间序列监测数据的高频分量和低频分量;
[0157]
第一预测处理模块30,用于利用第一预测模型基于所述高频分量进行预测处理,得到未来时序下数据的第一预测结果;
[0158]
第二预测处理模块40,用于利用第二预测模型基于所述低频分量进行预测处理,得到所述未来时序下数据的第二预测结果;
[0159]
叠加模块50,用于对所述第一预测结果和所述第二预测结果进行叠加处理,得到所述未来时序下数据的目标预测结果;
[0160]
异常点识别模块60,用于根据所述目标预测结果,识别所述未来时序下真实数据中的异常点数据。
[0161]
在一实施方式中,提取模块20,具体用于:
[0162]
通过使用小波分析理论对所述时间序列监测数据进行多尺度分解重构,提取所述时间序列监测数据的高频周期性分量、高频随机性分量和低频趋势性分量;
[0163]
其中,所述高频分量包括所述高频周期性分量和所述高频随机性分量,所述低频分量包括所述低频趋势性分量。
[0164]
在一实施方式中,提取模块20,在通过使用小波分析理论对所述时间序列监测数据进行多尺度分解重构,提取所述时间序列监测数据的高频周期性分量、高频随机性分量和低频趋势性分量时,具体用于:
[0165]
获取所述时间序列监测数据的变形实测数据,所述变形实测数据为对所述时间序列监测数据清洗异常值后所得的数据;
[0166]
将所述变形实测数据作为当前待分解数据;
[0167]
基于小波分解,将当前待分解数据分解为低频部分和高频部分,得到当前待分解数据对应的低频分量和高频分量;
[0168]
确定当前待分解数据对应的低频分量包含的低频子序列是否具备预设的变化趋势特征;
[0169]
若是,结束对数据的分解处理;
[0170]
若否,将待分解数据更新为当前待分解数据对应的低频分量,并循环至所述将当前待分解数据分解为低频部分和高频部分的步骤,直至当前待分解数据对应的低频分量包含的低频子序列具备所述变化趋势特征时,结束对数据的分解处理;分解过程中每一层仅对低频分量进行分解,高频分量不处理;
[0171]
将分解结果中最后一层的低频分量提取为所述低频趋势性分量,并从各个层的高频分量中提取高频周期性分量和高频随机性分量。
[0172]
在一实施方式中,第一预测处理模块30,具体用于:
[0173]
对所述高频随机性分量进行去噪处理;
[0174]
将所述高频周期性分量和去噪处理后的高频随机性分量输入长短期记忆网络模型,由所述长短期记忆网络模型基于所述高频周期性分量和去噪处理后的高频随机性分量进行预测处理,得到未来时序下数据的第一预测结果。
[0175]
在一实施方式中,第一预测处理模块30,在对所述高频随机性分量进行去噪处理时,具体用于:
[0176]
基于预设的阈值,对所述高频随机性分量进行去噪处理;
[0177]
其中,所述阈值为σ1=mad/0.6745,mad表示首层小波分解系数绝对值的中间值,0.6745为高斯噪声标准方差的调整系数,n1表示高频随机性分量信号的尺寸或者长度。
[0178]
在一实施方式中,所述长短期记忆网络模型包括多个依次相连的记忆单元,所述记忆单元包括遗忘门、输入门和输出门;
[0179]
其中,当前记忆单元通过对前一记忆单元传递的特征信息和当前记忆单元的高频分量输入数据进行融合处理得到当前记忆单元的产出信息,在进行融合处理时,当前记忆单元通过对输入的高频分量进行有选择的记忆和遗忘来处理前一记忆单元传递下来的特征信息;
[0180]
经由依次相连的多个记忆单元分别对各自输入的高频分量及前一记忆单元传递的特征信息进行处理,实现在模型基于高频分量的预测处理;
[0181]
前一记忆单元传递的特征信息包括所述前一记忆单元的状态值和输出值。
[0182]
在一实施方式中,第二预测处理模块40,具体用于:
[0183]
将所述低频趋势性分量输入差分整合移动平均自回归模型,由所述差分整合移动
平均自回归模型基于低频趋势性分量进行预测处理,得到所述未来时序下数据的第二预测结果。
[0184]
在一实施方式中,异常点识别模块60,具体用于:
[0185]
确定所述未来时序下的真实数据与所述未来时序下数据的目标预测结果之间的偏差信息;
[0186]
根据所述偏差信息,识别所述未来时序下真实数据中的异常点数据。
[0187]
对于本技术实施例申请的时间序列数据的异常检测装置而言,由于其与上文方法实施例申请的时间序列数据的异常检测方法相对应,所以描述的比较简单,相关相似之处请参见上文方法实施例的说明即可,此处不再详述。
[0188]
本技术还提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序包含用于执行如上文方法实施例申请的时间序列数据的异常检测方法的程序代码。
[0189]
在本技术的上下文中,计算机可读介质(机器可读介质)可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0190]
需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0191]
上述计算机可读介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
[0192]
本技术还提供一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,所述计算机程序包含用于执行如上文方法实施例申请的时间序列数据的异常检测方法的程序代码。
[0193]
特别地,根据本技术的实施例,上文各参考流程图描述的过程可以被实现为计算机软件程序。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从rom被安装。在该计算机程序被处理装置执行时,执行本技术实施例的方法中限定的上述功能。
[0194]
综上所述,本技术提供的时间序列数据的异常检测方法、装置及计算机存储介质及计算机程序产品,至少具备以下技术优势:
[0195]
a)基于wa技术分解时间序列数据,可以将时间序列数据分解成低频和高频分量,有助于去除高频分量中的噪声,提高模型的预测精度;
[0196]
b)针对低频分量低频率、趋势性等特点,采用arima模型对其进行分析,使得可基于arima用数学模型来描述时效序列,并通过序列的过去值和现在值预测未来的走向;
[0197]
c)对于高频周期性分量,使用具有长时记忆功能的lstm模型对其进行分析,可以更精确的预测结果,lstm可以在更长的序列中有更好的表现。
[0198]
需要说明,尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
[0199]
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0200]
以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1