一种基于HTM改进的时序异常检测算法制造技术

技术编号:31019861 阅读:15 留言:0更新日期:2021-11-30 03:06
本发明专利技术公开了一种基于HTM改进的时序异常检测算法,包括:时序数据同时进入HTM算法、第一种异常空间范围、第二种异常空间范围以及第三种空间异常判定方法中;如果时序数据的当前值同时超出第一种异常空间范围和第二种异常空间范围,会被判定为异常;如果第三种空间异常判定方法中的异常概率大于阈值,则时序数据的当前值也会被判定为异常。经过HTM算法计算后的异常概率大于阈值,则时序数据的当前值也会被判定为异常。本发明专利技术解决HTM算法无法检测出偶发性尖峰突变的异常点。本发明专利技术提出了三种空间异常判定方法,配合使用,使得准确率大幅提高。得准确率大幅提高。得准确率大幅提高。

【技术实现步骤摘要】
一种基于HTM改进的时序异常检测算法


[0001]本专利技术涉及时间序列数据异常检测领域,具体涉及一种基于HTM改进的时序异常检测算法。

技术介绍

[0002]时序异常检测:现实生活中很多数据都是不断变化的时间序列数据,比如发动机上温度传感器监测到的温度,则是随着时间变化的时序数据,以及家中每分钟消耗的用电量,使用电脑时CPU的使用率等。这些数据中常常包含了异常点,所谓异常点,即系统异常行为且与过去行为明显不同的时间点。不同系统中的异常点往往反馈出不同的重要信息,温度传感器数据突然上升到临界值,表示温度过高,提醒操作人员需要及时对发动机降温,新产品网页上的页面点击率突然上升到异常高,表示需求大,消费者对该新产品有很大的兴趣。当然时序数据的异常检测还有很多用例,包括预防性维护,防欺诈,故障检测和监控等。且在许多行业中都有实际和重要的应用,包括金融、IT、安全、能源等。
[0003]算法HTM:对于流式时序数据的异常检测,分层时间记忆算法HTM,在各方面都表现出了很好的效果。大多数异常检测算法,需要事先学习批量时序数据,再做检测,而HTM算法可以实现在线学习不断调整模型,以无监督的方式实时输出决策结果。且HTM算法无需手动调整参数。作者们还在NAB项目中测试了多个异常检测的算法,包括著名的EtsySkyline,Twitter ADVec等,HTM最终取得了最高的准确率。
[0004]但在生产实践中,发现HTM算法异常检测的效果仍然达不到要求,其在准确率上仍有很大的提升空间,因此本专利技术基于HTM算法提出了优化方案,并在实际生产环境中测试,优化后的算法准确率得到了很大的提升,减少了很多误报,并发现了很多原HTM未检测出的异常。
[0005]现有技术对于空间异常的判定比较简单,即用(历史最大值

历史最小值)*空间容忍系数(通常是10%)得到空间容忍度。然后用历史最大值+空间容忍度得到空间容忍范围上界,用历史最小值

空间容忍度得到空间容忍范围下界。最后用当前值和空间容忍范围上下界比较,如果当前值大于空间容忍范围上界或当前值小于空间容忍范围下界,则判定为异常。该方法没有考虑到时序数据自身的波动性对于空间异常判定的影响,通常,波动较大的数据,应该有更大的空间异常容忍范围,而对于比较稳定的数据,空间异常容忍范围应该更小。因此,本专利技术在该基础上添加了变异系数和激活函数,来平衡自身数据波动对空间异常范围的影响。

技术实现思路

[0006]本专利技术提供了一种基于HTM改进的时序异常检测算法,本专利技术解决HTM算法无法检测出偶发性尖峰突变的异常点。本专利技术解决HTM算法对于空间异常的判定过于简单,没有考虑到时序数据本身的波动性对异常判定的影响。本专利技术解决HTM算法有时误报较多,有时检测不出真正异常等准确率低的问题。
[0007]本专利技术主要提出三种空间异常判定方法。第一、第二种判定方法均使用了滑动历史最大值和滑动历史最小值,应用激活函数和变异系数,得到两个异常空间范围,并根据当前值是否同时超出两个异常空间范围来判定是否异常。第三种判定方法通过使用了滑动历史平均值和滑动历史标准差,对当前时间前10个点的平均值应用互补误差函数和对数,得到异常分,并根据异常分是否大于阈值来判定是否异常。
[0008]一种基于HTM改进的时序异常检测算法,包括以下步骤:1)时序数据同时进入HTM算法、第一种空间异常判定方法产生的第一种异常空间范围、第二种空间异常判定方法产生的第二种异常空间范围以及第三种空间异常判定方法中;2)如果时序数据的当前值同时超出第一种异常空间范围和第二种异常空间范围,会被判定为异常;如果第三种空间异常判定方法中的异常概率大于阈值,则时序数据的当前值也会被判定为异常,阈值的范围为[0.6,1),通常阈值设定为0.8;经过HTM算法计算后的异常概率大于阈值,则时序数据的当前值也会被判定为异常,阈值的范围为[0.6,1),通常阈值设定为0.8。
[0009]本专利技术提出第一种空间异常判定方法中,空间容忍度的系数为,由激活函数和变异系数线性组合而成,其中激活函数不限于使用tanh。
[0010]本专利技术提出第二种空间异常判定方法,其中滑动历史最大值和滑动历史最小值的系数为,由激活函数和变异系数线性组合而成,其中激活函数不限于使用tanh。
[0011]对于前两种空间异常判定方法,需要结合使用,只有当前值同时超出两种判定方法得到异常空间范围则判定为异常。
[0012]本专利技术提出第三种空间异常判定方法,利用高斯尾概率和公式得到异常概率,用和阈值进行比较,判定当前值是否异常。
[0013]步骤1)中,第一种空间异常判定方法、第二种空间异常判定方法和第三种空间异常判定方法中、、参数建立,具体包括: 对于一条时序数据,随着时间的变化,数据每隔一段时间都在不断产生新的数值,每隔点,计算出当前时间点前个点的滑动历史最大值和滑动历史最小值,不包括当前时间点。=5~100,为1000~10000,其中通常为8640;;
;其中,为当前时间点前个点的时序数据,不包括当前时间点;同时得到滑动历史均值和滑动历史标准差,其中函数是求最大值,函数是求最小值,函数是求和。
[0014]步骤1)中,第一种空间异常判定方法,具体包括:1.1.1)得到空间容忍度:;1.1.2)得到空间容忍范围上界:,其中,为双曲正切函数,cv为变异系数,,取0.1~10,取0 ~1,通常取2,取0.1;1.1.3)得到空间容忍范围下界:。
[0015]步骤1)中,第二种空间异常判定方法,具体包括:1.2.1)得到空间容忍范围上界:1.2.1)得到空间容忍范围上界:;1.2.2)得到空间容忍范围下界:1.2.2)得到空间容忍范围下界:,abs为取绝对值;其中,为双曲正切函数,cv为变异系数,,取0.1~10,取0~1,通常取0.5,取0.1。
[0016]步骤1)中,第三种空间异常判定方法,具体包括:1.3.1)将时序数据的原始数据分布建模为滚动正态分布,即均值和标准差不断更新,这里的均值和标准差采用的是上述计算得到的和;1.3.2)计算当前时间最近个点的平均值,=5~100,包括当前时间点:
;1.3.3)利用互补误差函数计算得到异常概率为:,其中,,x为该函数的积分下限,t为积分变量;1.3.4)通常的数值很小,不方便应用阈值判定异常,因此对该异常概率值取对数得到新的概率值:,其中为以自然常数为底的对数。
[0017]与现有技术相比,本专利技术具有如下优点。
[0018](1)准确率高:本专利技术提出了三种空间异常判定方法,配合使用,使得准确率大幅提高,在多个真实数据集样例上测试,平均准确率提高达20%以上。
[0019](2)适用范围广:本专利技术在前两种异常判定方法中,提出用激活函数tanh和变异系数组成的复合函数作为系数,使得该判定方法不仅能识别波动性大的时序数据中的异常点,同时对于波动性小的数据,以及由波动性大变化到波动性小的数据,由波动性小变化到波本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于HTM改进的时序异常检测算法,其特征在于,包括以下步骤:1)时序数据同时进入HTM算法、第一种空间异常判定方法产生的第一种异常空间范围、第二种空间异常判定方法产生的第二种异常空间范围以及第三种空间异常判定方法;2)如果时序数据的当前值同时超出第一种异常空间范围和第二种异常空间范围,会被判定为异常;如果第三种空间异常判定方法中的异常概率大于阈值,则时序数据的当前值也会被判定为异常;经过HTM算法计算后的异常概率大于阈值,则时序数据的当前值也会被判定为异常。2.根据权利要求1所述的基于HTM改进的时序异常检测算法,其特征在于,步骤1)中,第一种空间异常判定方法、第二种空间异常判定方法和第三种空间异常判定方法中、、和参数建立,具体包括:对于一条时序数据,随着时间的变化,数据每隔一段时间都在不断产生新的数值,每隔个点,计算出当前时间点前个点的滑动历史最大值和滑动历史最小值,不包括当前时间点;其中,为当前时间点前个点的时序数据,不包括当前时间点;同时得到滑动历史均值和滑动历史标准差,其中函数是求最大值,函数是求最小值,函数是求和。3.根据权利要求2所述的基于HTM改进的时序异常检测算法,其特征在于,步骤1)中,=5~100,为1000~10000。4.根据权利要求2所述的基于HTM改进的时序异常检测算法,其特征在于,步骤1)中,第一种空间异常判定方法,具体包括:1...

【专利技术属性】
技术研发人员:谢林涛
申请(专利权)人:杭州大乘智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1