1-Long Short Term Memory Networks for Anomaly Detection in Time Series(LSTM-AD)

该文提出了一种基于LSTM的异常检测方法,通过堆叠LSTM网络学习时间序列的正常行为,无需预先指定的上下文窗口或数据预处理。模型预测误差分布并用多元高斯函数建模,以检测异常。实验表明,这种方法在多个真实世界数据集上表现良好,尤其是在捕捉短期和长期依赖性方面优于传统的RNN-AD。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.abstruct

本文的主要贡献在于使用了正常的数据训练,然后通过若干时序进行预测。使用多元高斯函数作为错误检测函数。

因为传统的方法主要是通过时间窗口内的累积和(CUSUM)和指数加权移动平均(EWMA)来检测底层分布的变化。LSTM 通过使用 ‘memory cells‘ 克服了RNN的梯度消失的问题,不需要对数据预处理 等很多优点

基于LSTM 本文贡献在于:

我们证明了通过堆叠LSTM网络建模一个时间序列的正常行为,我们可以准确地检测偏离正常行为,而不需要任何预先指定的上下文窗口或预处理。

1. 为了确保网络可以捕捉到时间序列的信息,所以会预测接下来几步的信息,因此一个点在之前也会多个不同的预测值,利用错误的概率分布来预测测试集的数据

2. 同时可以通过控制变量法来预测部分自变量 这迫使网络通过控制变量和传感器因变量的预测误差的联合分布来学习,可以让明显错误的输入也被检测到

 

2.LSMT-AD 的实现

一个时间序列 X={X(1),X(2),......,X(n)}  ( 就是一系列的输入向量)  X(t) 包括m维的时间序列         {X(t)1,X(t)2,......,X(t)m}   这就是一个m维的具体的向量      我们的模型会预测 接下来的 L 个值  

序列分为四组:正常训练集(sN)、正常验证集-1(vN1)、正常验证集-2(vN2)和正常测试集(tN)。异常序列分为两组:异常验证集(vA)和异常测试集(tA)。

1. 我们首先学习一个使用叠加LSTM网络的预测模型,然后计算预测误差分布,用以检测异常:

在输入层为每个m维取一个单位,在输出层取d×l单位的输出 隐藏层中的LSTM单元通过循环连接完全连接

2.基于预测误差分布的异常检测

当预测长度为 L 时,对于 L < t ≤ n − L,x(t)∈X所选择的d维,每一个都被预测L次。我们计算点x(t)的误差向量e(t),即e(t)=[e(t)11,......,e(t)1l,......,e(t)d1,......,e(t)dl],其中e(t)ij是x(t)i与其在时间t−j预测的值之间的差。

将误差向量建模为多元高斯分布

结论

i)堆叠的LSTM网络能够在没有模式持续时间的先验知识的情况下学习更高层次的时间模式,因此(ii)堆叠的LSTM网络可能是一种可行的技术来模拟正常的时间序列行为,然后可以用来检测异常。我们的LSTM-AD方法在四个真实世界的数据集上产生了有希望的结果,这些数据集涉及对短期和长期时间依赖性的建模。与RNN-AD相比,LSTM-AD给出了更好或相似的结果,这表明基于LSTM的预测模型可能比基于RNN的模型更稳健,特别是当我们事先不知道正常行为是否涉及长期依赖时。

ref

https://www.cnblogs.com/wupiao/articles/13462140.html

 

### 无监督短长期掩码表示方法 #### 方法概述 Imputed Diffusion Models (IDM) 是一种专门针对多变量时间序列异常检测设计的方法[^1]。该方法通过引入短长期掩码机制,能够有效捕捉时间序列中的复杂依赖关系,并识别潜在的异常模式。 #### 数据预处理 为了实现有效的异常检测,首先需要对原始时间序列数据进行标准化处理。具体来说,对于每个时间步 $t$ 和特征维度 $i$,计算均值 $\mu_i$ 和标准差 $\sigma_i$: $$ \mu_i = \frac{1}{T} \sum_{t=1}^{T} X_t[i],\quad \sigma_i = \sqrt{\frac{1}{T}\sum_{t=1}^{T}(X_t[i]-\mu_i)^2 } $$ 其中 $X_t[i]$ 表示第 $t$ 时间步下第 $i$ 维度的数据值。接着应用如下变换: ```python def normalize(X, mu, sigma): return (X - mu) / sigma ``` #### 掩码生成策略 在 IDM 中,采用了两种类型的掩码:短期掩码(short-term mask)和长期掩码(long-term mask)。这两种掩码分别用于模拟局部上下文信息以及全局趋势变化。 - **短期掩码**:主要用于捕获相邻时间段内的相关性。通常设置较小的时间窗口大小 $w_s$ 来构建短期掩码矩阵。 - **长期掩码**:旨在反映更广泛的历史影响因素。因此会选择较大的时间跨度 $w_l > w_s$ 构建相应的长期掩码矩阵。 这些掩码会被应用于输入张量的不同位置,从而形成带有缺失值标记的新版本时间序列作为模型训练的基础。 #### 模型架构与训练过程 整个框架由编码器-解码器结构组成,其核心在于如何合理地融合来自不同尺度的信息流。当给定一组带噪观测 ${\hat{x}_t}$ 后,先将其映射至隐空间得到低维表征向量;随后再经由反卷积层恢复回原尺寸的空间分布形式。在此过程中,损失函数被定义为重构误差加上正则项约束: $$ L(\theta)=E_q[\log p_\theta(x|z)]-\beta D_{KL}[q(z|x)||p(z)] $$ 这里 $D_{KL}$ 表达的是两个概率分布之间的差异程度,而超参 $\beta$ 则控制着两者之间权衡比例的关系。 #### 异常评分计算 一旦完成了模型训练阶段的工作,则可以通过比较实际观察到的结果同预期输出间的差距来评估样本是否存在异常情况。一般而言,会选取绝对偏差或者平方距离等形式来进行量化描述: $$ s_t=\left|\hat{x}_{t}-r_t\right|^p,\; r_t=f({x_1,...,x_T}) $$ 此处 $s_t$ 即代表了时刻 $t$ 的异常得分,$\hat{x}_t$ 对应于真实测量值得到的估计值,$f()$ 函数指代所选用的具体预测手段。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值