Contextual and Seasonal LSTMs for Time Series Anomaly Detection¶
会议: ICLR 2026
arXiv: 2602.09690
代码: https://github.com/NESA-Lab/Contextual-and-Seasonal-LSTMs-for-TSAD
领域: AI Safety / 时间序列异常检测
关键词: time series anomaly detection, LSTM, frequency domain, noise decomposition, univariate time series
一句话总结¶
针对单变量时间序列中现有方法难以检测的"小幅点异常"和"缓慢上升异常",提出 CS-LSTMs 双分支架构——S-LSTM 在频域建模周期性演化、C-LSTM 在时域捕捉局部趋势,结合小波噪声分解策略,在四个基准上全面超越 SOTA 且推理速度提升 40%。
研究背景与动机¶
领域现状:单变量时间序列(UTS)异常检测是云服务、IoT 和系统监控的核心任务。主流方法分为基于重构(如 VAE)和基于预测(如 Transformer/LSTM)两类。
现有痛点:通过对 FCVAE、KAN-AD、TFAD 等 SOTA 的复现,发现两类异常难以检测——(1) 小幅点异常:短时小尖峰在较长窗口下看似正常;(2) 缓慢上升异常:渐变偏离周期模式的段异常。
核心矛盾:异常判定依赖局部上下文而非绝对值,同一幅度的变化在不同上下文中可能是正常或异常。现有方法要么只关注频率成分(忽略局部依赖),要么只用时序信息(忽略周期演化)。
本文目标 三个挑战:(1) 捕捉局部趋势而非绝对值;(2) 建模周期性的动态演化而非静态周期;(3) 在包含异常和噪声的数据中学习正常模式。
切入角度:结合时域和频域表示,用双分支 LSTM 分别处理周期性演化和局部趋势变化。
核心 idea:通过时频双域双分支 LSTM 联合建模周期演化和局部趋势,配合小波噪声分解,实现对微妙异常的精准检测。
方法详解¶
整体框架¶
CS-LSTMs 要解决的是单变量时间序列里那些"看绝对值很正常、看上下文才露馅"的微妙异常。它把检测拆成两条互补的预测分支:拿到原始序列 \(x_{0:t}\) 后,先做小波噪声分解得到去噪信号 \(\hat{x}\),再把历史送进两条分支——S-LSTM 站在频域,把历史切成窗口逐个做 FFT,学周期模式怎么随时间演化;C-LSTM 站在时域,用重叠窗口盯住最近一小段的局部趋势。两条分支各自输出对未来值的均值 \(\mu\) 和方差 \(\sigma^2\),用 NLL 损失联合训练。推理时拿预测分布和实际观测比对,偏差大的点判为异常。整套设计的核心立场是:异常不是"幅度超过某个绝对阈值",而是"偏离了当前上下文该有的样子"。
关键设计¶
1. 小波噪声分解:训练前先把噪声和异常点滤掉,但只去噪、不拆趋势周期
预测式方法有个隐患——如果训练数据里混着噪声和异常,模型会把它们也当成"正常模式"学进去。这里用小波变换把信号分解为一个近似系数 \(c_A\) 和各层细节系数 \(c_D^{(i)}\),噪声主要藏在细节系数里。关键是噪声水平用 MAD(中位数绝对偏差)来估而不是均值/标准差:\(\sigma_i = \frac{\text{median}(|c_D^{(i)}|)}{\Phi^{-1}(0.75)}\)——因为异常值会拉偏均值,却动不了中位数,这样估出来的噪声水平对异常点本身鲁棒。据此算出通用阈值 \(\lambda_i = \sigma_i \sqrt{2\log n}\),对细节系数做软阈值收缩后重构回 \(\hat{x}\)。和 DLinear 的 pooling 分解相比它更精细,和 STL 分解相比它更高效;更重要的是它刻意只做去噪,把完整的趋势+周期信号原样留给后面两条分支去建模,而不是提前把信号拆散。
2. S-LSTM(Seasonal 分支):在频域建模周期模式的动态演化,而不是假设周期一成不变
真实序列的周期不是静态的——周期长度和频率本身会随时间漂移,只对比相邻两个周期不足以发现"缓慢上升异常"这类渐变偏离。S-LSTM 的做法是把检测点之前的历史划成等长、不重叠的窗口,每个窗口单独做 FFT 得到频域表示,堆成 \(z_s \in \mathbb{R}^{n \times w_s}\),再把对应的时域原始值作为协变量拼上去一起喂进单层 LSTM。这样 LSTM 看到的是"一串频域快照随时间怎么变",从而学出跨多个周期的演化趋势并预测未来的周期模式。消融里它的贡献最大(去掉后 Yahoo 掉 16.8%),正说明对周期性强的数据,动态周期建模是检测微妙异常的主力。
3. C-LSTM(Contextual 分支):用重叠窗口把"点级"学习变成"段级"学习,补单变量信息稀缺的短板
单变量序列每个时间步只有一个标量值,信息太稀,单看一个点很难判断局部趋势变没变。C-LSTM 针对检测点前的一小段短历史,划成重叠窗口(窗口 \(w_c\) 较小),每个窗口同样做 FFT 后拼成 \(z_c \in \mathbb{R}^{n \times w_c}\) 送入单层 LSTM 预测未来值。重叠窗口的意义在于:相邻窗口共享大量样本,等于把孤立的"点级预测"转成有上下文支撑的"段级预测",对"小幅点异常"这种短时小尖峰更敏感——它在长窗口里被淹没,但在贴身的局部窗口里会显出趋势上的违和。
损失函数 / 训练策略¶
两条分支都用带噪声分解的负对数似然(NLL)损失,同时回归均值 \(\mu\) 和方差 \(\sigma^2\):
这里的 mask 是把去噪策略缝进损失的关键:正常区域用原始值 \(x\) 当回归目标,被判为异常的区域改用去噪值 \(\hat{x}\),避免模型去拟合异常点本身。预测方差 \(\sigma^2\) 让模型对不确定的区段自动放松约束。两分支损失相加得到总损失 \(L = L_s + L_c\) 联合优化。
实验关键数据¶
主实验¶
| 数据集 | 指标 | CS-LSTMs | FCVAE (之前SOTA) | 提升 |
|---|---|---|---|---|
| Yahoo | Best F1 | 0.885 | 0.854 | +3.1% |
| KPI | Best F1 | 0.936 | 0.924 | +1.2% |
| WSD | Best F1 | 0.910 | 0.805 | +10.5% |
| NAB | Best F1 | 0.996 | 0.972 | +0.6% |
| Yahoo | Delay F1 | 0.878 | 0.839 | +3.9% |
| KPI | Delay F1 | 0.879 | 0.851 | +2.8% |
| WSD | Delay F1 | 0.857 | 0.696 | +16.1% |
消融实验¶
| 配置 | Yahoo Best F1 | KPI Best F1 | WSD Best F1 | 说明 |
|---|---|---|---|---|
| Full CS-LSTMs | 0.885 | 0.936 | 0.910 | 完整模型 |
| w/o C-LSTM | 0.864 | 0.923 | 0.856 | 去掉局部分支掉 5.4% (WSD) |
| w/o S-LSTM | 0.717 | 0.904 | 0.762 | 去掉周期分支掉 16.8% (Yahoo) |
| w/o Covariate | 0.826 | 0.925 | 0.840 | 去掉协变量掉 7.0% (WSD) |
| w/o Noise Decomp | 0.868 | 0.913 | 0.858 | 去掉去噪掉 5.2% (WSD) |
关键发现¶
- S-LSTM 贡献最大:去掉 S-LSTM 后 Yahoo 下降 16.8%,说明周期演化建模对周期性强的数据集至关重要
- WSD 提升最显著(+10.5%/+16.1%):WSD 数据包含大量缓慢变化的段异常,恰好是 CS-LSTMs 针对优化的目标
- 效率优势明显:仅 600K 参数(SOTA 的 1.4M 的一半不到),推理时间 4.62ms(GPU)降低约 40%
- 迁移能力强:Yahoo→KPI/WSD 跨域测试中 F1 达 0.929/0.883,大幅优于其他方法
亮点与洞察¶
- 时频双域互补设计很巧妙:频域捕周期性,时域捕局部趋势,两个 LSTM 分支各司其职又互补,简单有效。这种双视角理念可迁移到其他时序任务。
- 噪声分解用 MAD 而非均值/标准差:对异常值的鲁棒性更好,因为异常值不会影响中位数。这个 trick 在任何需要鲁棒统计估计的场景都可以复用。
- 重叠窗口缓解 UTS 信息稀缺:把"点级"问题转为"段级"问题,是处理单变量数据的通用技巧。
局限与展望¶
- 仅针对 UTS:多变量时序场景下需要建模变量间依赖,当前架构未涉及
- 窗口大小需要手动调参:\(w_s\) 和 \(w_c\) 的选择对结果有影响,自适应窗口大小可能更好
- LSTM 而非 Transformer:虽然参数更少更快,但对超长序列的建模能力可能受限
- 评估协议争议:point adjustment 策略(检测到段中任一点即算正确)可能高估了实际部署的检测精度
相关工作与启发¶
- vs FCVAE: FCVAE 侧重频域重构但忽略局部依赖,CS-LSTMs 用双分支弥补了这一缺陷
- vs Anomaly-Transformer: Anomaly-Transformer 用 minimax 策略增强鲁棒性,但参数多推理慢;CS-LSTMs 以更小代价获得更好效果
- vs KAN-AD: KAN-AD 用时序信息做预测但忽略频域细节,本文恰好互补
评分¶
- 新颖性: ⭐⭐⭐ 双分支时频联合建模不算全新概念,但具体设计和噪声分解策略有新意
- 实验充分度: ⭐⭐⭐⭐ 四个数据集、十个baseline、消融/迁移/效率实验完整
- 写作质量: ⭐⭐⭐⭐ 动机分析清晰,方法描述系统
- 价值: ⭐⭐⭐⭐ 实用性强,轻量高效适合工业部署