一种时间序列数据的异常检测方法

团队介绍 

我们是光大科技有限公司智能云计算部智能化平台团队监控平台项目组,致力于光大银行监控运维工具和平台建设,全面支撑传统架构和容器云分布式架构下的监控管理,致力于边缘计算、大数据、AIOps在监控运维领域的应用和实践。我们团队在分布式、大数据、人工智能领域拥有多名经验丰富的技术专家,将不定期与大家分享原创技术文章和相关实践经验,期待与大家共同探讨和进步。 

<<<<

时间序列数据是在不同时间上收集的数据,反映某一事物、现象随时间变化的情况,我们经常接触的性能数据、日志等都属于时间序列数据。

异常检测作为时序数据分析最成熟的应用之一,广泛应用于网络安全检测、量化交易等领域。

本文为大家介绍一种时间序列数据的异常检测方法,该方法基于机器学习算法鲁棒主成分分析(Robust Principal Component Analysis,RPCA)以及动态模式分解(Dynamic Mode Decomposition,DMD),并基于这两种算法加以改进,以此提高时序数据的异常检测精度,下面简单回顾下相关知识点。

<<<<

秩与低秩?

为了从方程组中去掉多余的方程,引出了“矩阵的秩”,度量的是矩阵的行列之间的相关性。

为了求矩阵D的秩,先是通过矩阵初等变换把D化为阶梯型矩阵,若该阶梯型矩阵有r个非零行,那D的秩rank(D)就等于r。如果矩阵的各行或列是线性无关的,则矩阵就是满秩,也就是秩等于行数。

如果X是一个m行n列的数值矩阵,rank(X)是X的秩,且rank (X)远小于m和n,则我们称X是低秩矩阵。低秩矩阵每行或每列都可以用其他的行或列线性表出,可见它包含大量的冗余信息。利用这种冗余信息,可以对缺失数据进行恢复,也可以对数据进行特征提取。

<<<<

何为RPCA?

RPCA用以处理解决含有高幅度尖锐噪声的数据其基本假设是数据矩阵包含结构信息和噪声

这里我们假定时间序列数据为矩阵D,则RPCA将一个时序数据构成的数据矩阵分解为两个矩阵相加D=A+E的形式,如下公式所示:

一种时间序列数据的异常检测方法

A是低秩的(矩阵内部有一定的结构信息造成各行或列间是线性相关的)。

E是稀疏的(含有噪声呈稀疏特性)。

使用核范数以及L1范数对相关矩阵进行约束,进而优化求解以获取低秩及稀疏矩阵,此时的稀疏矩阵便可视为异常矩阵。

<<<<

矩阵范数?

L0范数

用以度量矩阵中非零元素的个数;

L1范数

矩阵中各元素绝对值之和,它是L0范数的最优凸近似,可近似表示稀疏;

核范数

矩阵奇异值的和,用于约束矩阵的低秩特性;

F范数

称为Frobenius范数,即矩阵元素绝对值的平方和再开平方。

<<<<

何为DMD?

动态模式分解(DMD)源于流体动力学,用来挖掘隐藏在复杂系统中的动态结构。作为一种常见的模态分解方法,也是在动力学系统中常被用来降维的方法。它的整体稳定性分析中的Koopman算子,可以用来有序地描述系统的动态。

在动态模式分解算法中,要想提取流体数据中隐含的动态特征,从实验或数值模拟中获得的数据要求满足以下形式:

一种时间序列数据的异常检测方法
一种时间序列数据的异常检测方法
一种时间序列数据的异常检测方法
一种时间序列数据的异常检测方法
一种时间序列数据的异常检测方法
一种时间序列数据的异常检测方法
一种时间序列数据的异常检测方法

引入DMD中的Koopman算子来描述从前一个快照矩阵到后一个快照矩阵的转换过程,则该运算符将满足以下关系:

一种时间序列数据的异常检测方法

充分考虑到时序数据中的动态信息,将其与RPCA算法进行整合便演变成了本文所要介绍的方法,该方法还考虑到了噪声对原始数据的影响。

首先将低秩数据、噪声及异常数据分别用

一种时间序列数据的异常检测方法

进行表示。

基于低秩表示模型RPCA,分解得到的低秩矩阵可以表示为D=Z+E+S。时间序列数据中的异常矩阵则通过解决一下问题进行求解:

一种时间序列数据的异常检测方法

该方法提出三个约束条件进行求解:

1)具有周期性的时间序列数据可以用低阶动力学近似建模,因此对Koopman算子进行低秩约束,这里使用核范数代替低秩约束(为解决NP-hard问题)。

2)对于存在周期性变化的时序数据,为了捕获相邻同周天相同时间段的数据差异值,引入时间约束,可以构造

一种时间序列数据的异常检测方法

则时变矩阵H(Z+E+S)应该是稀疏的,考虑到L1范数比L2范数更加具有鲁棒性,因此将L1范数用于约束时变矩阵。

3)由于多种不确定因素的影响,时序数据随机波动,这里假定了噪声E遵循高斯分布,并使用F范数来获取高斯噪声。

而对于异常来说,引发时序数据异常的事件并不经常发生,因此异常值保持稀疏特性,将稀疏约束L1范数应用于异常矩阵。

结合以上所述的所有约束条件,本文所介绍的异常检测模型表示如下:

一种时间序列数据的异常检测方法
一种时间序列数据的异常检测方法

求解过程可以参考以下文章,有兴趣的小伙伴可自行求解一下,点击

原创文章,作者:EBCloud,如若转载,请注明出处:https://www.sudun.com/ask/33548.html

(0)
EBCloud的头像EBCloud
上一篇 2024年4月2日 下午3:29
下一篇 2024年4月2日 下午3:29

相关推荐

  • 路由器dns异常会有什么影响,路由器dns影响网速吗

    4G路由器中的DNS污染问题在当今互联网行业备受关注。许多人可能对这个主题不太了解,但它会影响您的在线体验。那么什么是4G 路由器上的DNS 污染以及原因?如何检测我的4G路由器是…

    行业资讯 2024年5月16日
    0
  • seo云优化软件

    SEO云优化软件,这是一个在搜索引擎优化行业备受关注的话题。随着互联网的发展,越来越多的企业意识到SEO优化对于网站排名和流量的重要性。而SEO云优化软件作为一种新兴的工具,更是吸…

    行业资讯 2024年3月26日
    0
  • 如何申请免费cn域名

    想要拥有一个属于自己的网站,首先必须要有一个独特的域名。而.cn域名作为中国最具代表性的国家顶级域名,受到了越来越多网站主的青睐。但是,你知道如何申请免费的.cn域名吗?或许你会问…

    行业资讯 2024年4月1日
    0
  • 如何防止网站被拦截,网站怎么防止别人攻击

    当网站受到攻击时,往往是由于网络安全措施不足造成的。因此,加强网络安全措施是防止网站受到攻击的第一步。为了加强您的网络安全,您可以采取以下措施: 安装防火墙:防火墙监控并过滤进出您…

    行业资讯 2024年5月9日
    0

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注