时间序列异常数据检测学习笔记

最近开始学习数据科学,从数据清洗中的异常数据监测入手,读了几篇文献,现将一些理解和认识总结一下,当作笔记。其中方法的介绍可能不太详细,理解也可能不太准确,只为路过的各位提供一个参考。

异常数据检测的意义

数据存在重复、因传感器等测量仪器问题引起的数据错误、缺失等情况,若将这种数据也用于数据分析和预测,分析或预测的结果会出现一定偏差。
另一方面,当设备出现异常时,利用异常数据检测可能会检测出设备的异常,做到早发现、早处理。

对时序数据及其处理的理解与认识

1.时间序列数据中,“时间连续性”(temporal continuity)十分重要;

2.所有分析尽可能基于时间合理使用小窗口(此窗口若范围过大,则可能对异常值不敏感;范围过小则导致运算量骤增);

3.对不同类型的数据需要有针对性地提出分析检测的方法;

4.“时间”这一时序数据虽具备特性既可被利用,也带来了新的挑战:针对不同数据类型和应用场景需要不同的模型和方法,没有现成的模型可供使用;

5.数据量庞大,会实时更新等。

时序数据异常检测方法

一.较为简单易理解的方法:

1.恒定阈值检测:人工设置最大值和最小值,超出设置区间则标记为异常——灵活性低、不适用于非平稳数据。

2.分位数异常检测:基于统计的方法,将数据排序,等分为四部分,取上四分位,下四分位计算四分位距,由这三者确定正常数据的上界和下界。
3.K-Sigma异常检测:数据集满足正态分布,落在μ±3σ间(3σ原则)。

4.局部异常检测:滑动窗口机制,基于滑动窗口的中值滤波——hampel滤波,设置样本范围,中值、样本差,分段估计异常值的上下界,同时可结合分位数异常检测和K-Sigma异常检测。此方法灵活,但仍不适用于有突变特性的数据。

5.基于机器学习的数据异常检测特点:数据分布不均衡,异常数据占比小,正常数据占比大;产生的问题:少数集可能被忽视,模型更倾向于多数集,与我们的想法相违背。
解决方法:
下采样:从多数类样本中随机选取一些剔除掉。此法缺点是被剔除的样本可能包含着一些重要信息,造成信息丢失,使学习出的模型效果不好。
上采样:由少量异常数据再生成与正常数据数量相当的异常数据。缺点是数据集中会反复出现某些样本,导致训练出的模型过拟合。

二.论文Outlier Detection for Temporal Data: A Survey(Manish Gupta, Jing Gao)中提到的部分方法:

时序数据库中的异常检测:

思路有二:可直接计算;也可利用小窗口,计算重叠固定大小窗口的分数,然后将其聚合。

1.直接计算:利用数据库中的时间序列数据先训练一个模型,之后对每个序列相对于该模型的离群分数进行计算,超过某一值则认为其为异常数据,此过程即可为有监督,也可无监督。

(1)无监督的判别方法:
定义两个序列间的相似函数,根据这个函数对数据库中的序列进行聚类处理分为多个类,然后计算序列与最近类的质心距离相似度衡量:基于简单匹配计数的序列相似度(计算效率高),最长公共序列的归一化长度(动态规划,适应含有噪声的片段,但代价高)。

(2)无监督的参数化方法:
不指定异常数据,采用在数据集上建立一个总结模型(summary model)的方法,若测试序列在此模型中生成概率很低,则认为其为异常数据。

2.基于窗口的异常数据检测:将一个测试序列分为有重叠的小序列,即窗口,后根据每个窗口的异常分数计算整个序列的异常分数。这样可以更精确地定位异常值出现的位置。

(1)正常模式数据库方法:
把序列划分为固定长度的窗口,按频率存储在数据库中,取来一个测试序列,在其中获取与固定窗口长度相同的子序列,根据数据库中序列出现频率计算异常分数。另外,除固定长度窗口数据库外,还可利用前向方法构建数据库,即将序列长为1、2、3…k的子序列截取并存在数据库中供测试序列比对。

(2)负模式和混合模式的数据库方法:
与上一种方法建立的数据库相反,即所有不在上一种方法建立的数据库中的某固定长度的子序列被认为是负子序列或检测器。这个检测器可以随机生成,也可以通过某领域知识生成。若测试序列中存在负子序列(检测器),则认为其是异常序列。

给定时间序列的异常检测:

(1)预测模型(用于检测异常元素):通过之前的数据预测之后即将出现的数据,然后计算预测结果与实际结果的偏差,偏差超过一定值,则认为其是异常数据。

(2)剖面相似性(用于检测异常元素):确定一个正常的时序数据剖面,然后将一个新的时序数据点与此剖面比较,判断是否一致。

(3)根据异常值的特点(用于检测异常元素):若从时间序列中移除一个点,得到一个更简洁的序列,则此点为异常点。

(4)检测异常序列:考虑时间序列中固定长度的子序列,计算两个子序列间的距离,通常为欧氏距离,超过某一特定值则认为其为异常序列。 针对维度问题,对于高维数据可进行降维或多个低维空间检测再合并的处理。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值