[发明专利]基于变分自编码时序分解的时间序列异常检测方法和设备在审
申请号: | 202210290945.6 | 申请日: | 2022-03-23 |
公开(公告)号: | CN114626479A | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 李文中;王品皓;陆桑璐 | 申请(专利权)人: | 南京大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 南京泉为知识产权代理事务所(特殊普通合伙) 32408 | 代理人: | 许丹丹 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 编码 时序 分解 时间 序列 异常 检测 方法 设备 | ||
本发明公开了一种基于变分自编码时序分解的时间序列异常检测方法和设备,所述方法基于时间序列分解方法、循环神经网络、长短记忆网络、变分自编码器,利用循环变分自编码器模型对分解后的时间序列进行重构,实现了多变量时间序列异常检测。本发明具有较好的时间序列异常检测效果,有效减弱了时间序列中的非异常因素导致的数据波动,更好地获取了时间序列中的时序依赖性信息,从而提升整体异常检测性能。
技术领域
本发明涉及时间序列异常检测,具体涉及一种基于变分自编码时序分解的时间序列异常检测方法和设备。
背景技术
异常检测是对与大部分数据有明显差别或不符合正常模式的数据进行识别,而多变量时间序列异常检测是针对多变量时间序列数据进行的异常检测。时间序列异常检测在实际中有较多的应用场景,例如传感器实时地输出设备状态信息,这些数据可构成时间序列数据,对时间序列数据的异常检测可以进一步实时判断传感器设备是否异常。时序依赖性是时间序列数据的重要特性,在异常检测中,某一时刻目标数据是否异常,与其时序信息、上下文信息以及数据自身的数值信息有关。时间序列的特性和异常检测问题本身的特性使得时间序列异常检测问题具有一定的特殊性和困难性,而这些性质引导研究人员提出合适的模型算法进行时间序列异常检测。时间序列中包含时序依赖性信息,因此针对离散点的异常检测算法通常不能有效地识别出时序数据中的异常。用于处理序列数据的神经网络,例如LSTM、GRU被研究人员应用到时间序列的异常检测中。正常数据和异常数据严重不平衡是异常检测问题的重要特征,这一特征使得异常检测问题区别于常规的分类问题。现有基于神经网络的生成模型虽然具有很强的表达能力,可以通过无监督学习的方式学得时间序列的正常模式,但在训练数据不充足的情况下,模型不能很好地检测异常数据。此外,在非异常因素的影响下时间序列数据会产生一些难以预测的波动,例如某些时间序列会受到季节性因素和周期性因素影响,因此现有的基于时间序列预测的异常检测方法难以取得满意的效果。
发明内容
发明目的:为提升多变量时间序列异常检测算法的性能,本发明提出了基于变分自编码时序分解的时间序列异常检测方法,减弱非异常因素(如时序数据的季节性变化)造成的时间序列数据波动对异常检测的影响,更好地获取时间序列的时序依赖性信息,提升异常检测性能。
技术方案:为了对多变量时间序列进行异常检测,并提升异常检测的性能,根据本发明的第一方面,提出一种基于变分自编码时序分解的时间序列异常检测方法,包括以下步骤:
S1、对时间序列进行分解,保留时间序列中与异常检测相关的部分;
S2、将分解后的时间序列划分为一组定长的子时间序列;
S3、利用训练集数据进行异常检测模型训练,所述异常检测模型为循环变分自编码器模型,模型的编码器部分和解码器部分的第一层神经网络处理层均为LSTM层,模型生成隐变量分布参数的处理层为RNN层,所述训练集为每个时刻的数据均为正常数据的子时间序列;
S4、利用异常检测模型对训练集中子时间序列进行重构,计算子时间序列中最后时刻数据的重构误差,并将其作为异常分数,保存训练集对应的异常分数,利用基于密度的异常阈值选择算法计算异常阈值;
S5、将待检测时间序列分解并划分为子时间序列,输入异常检测模型进行重构,计算异常分数,若异常分数大于异常阈值,则判断当前输入的子时间序列中的最后时刻数据存在异常。
进一步地,所述步骤S3中的循环变分自编码器模型的目标函数如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210290945.6/2.html,转载请声明来源钻瓜专利网。