问题定义
时序数据技术处理按时间顺序记录的数据序列。核心问题包括:趋势与季节性分解、缺失值处理、预测建模、异常检测、多变量时序分析、因果推断。
核心算法
ARIMA / SARIMA
自回归积分滑动平均模型,结合 AR(自回归)、I(差分)、MA(滑动平均)三个组件。
ARIMA(p,d,q): (1 - Σϕ_i L^i)(1 - L)^d y_t = (1 + Σθ_j L^j)ε_t
其中 L 为滞后算子,p/d/q 分别为 AR 阶数、差分阶数、MA 阶数
其中 L 为滞后算子,p/d/q 分别为 AR 阶数、差分阶数、MA 阶数
LSTM / GRU
长短期记忆网络通过门控机制解决 RNN 梯度消失问题,能够学习长序列的依赖关系。
LSTM 门控:f_t = σ(W_f · [h_{t-1}, x_t] + b_f)
i_t = σ(W_i · [h_{t-1}, x_t] + b_i)
C_t = f_t × C_{t-1} + i_t × tanh(W_C · [h_{t-1}, x_t] + b_C)
i_t = σ(W_i · [h_{t-1}, x_t] + b_i)
C_t = f_t × C_{t-1} + i_t × tanh(W_C · [h_{t-1}, x_t] + b_C)
Transformer for Time Series
Informer、Autoformer、Fedformer 等针对时序优化的 Transformer 架构,通过稀疏注意力机制高效处理长序列。
ProbSparse Attention: A(Q,K,V) = softmax( Q̄K̄^T / √d ) × V
其中 Q̄、K̄ 为稀疏采样的 Query 和 Key,显著降低计算复杂度
其中 Q̄、K̄ 为稀疏采样的 Query 和 Key,显著降低计算复杂度
时序异常检测
基于统计(IQR、Grubbs Test)、基于重建误差(Autoencoder)、基于预测误差三类方法。
异常分数:score_t = |y_t - ŷ_t| / σ
阈值判定:y_t 为异常 if score_t > threshold(通常取 3.0)
阈值判定:y_t 为异常 if score_t > threshold(通常取 3.0)
算法复杂度分析
| 算法 | 时间复杂度 | 空间复杂度 | 备注 |
|---|---|---|---|
| ARIMA | O(n × p² + p³) | O(p²) | p 为模型阶数,n 为样本数 |
| LSTM | O(seq_len × hidden²) | O(seq_len × hidden) | per time step,seq_len 为序列长度 |
| Vanilla Transformer | O(n² × d) | O(n²) | n 为序列长度,d 为隐层维度 |
| Informer (ProbSparse) | O(n × log n × d) | O(n × log n) | 稀疏注意力,降低到次线性复杂度 |
| Autoformer | O(n × log n × d) | O(n × d) | 使用自相关注意力代替 softmax 注意力 |
工程实践指南
数据预处理
- 缺失值处理:线性插值(前向/后向填充),复杂场景用季节性插值或 EM 算法
- 归一化:标准分数归一化(z-score)或 Min-Max 归一化,保持时序特征的统计特性
- 平稳性检验:ADF 检验、KPSS 检验;非平稳序列需要差分或变换(log、Box-Cox)
- 季节性检测:ACF/PACF 分析,季节性分解(STL),傅里叶变换检测周期
模型选择
- 短期预测:ARIMA(单变量)、Prophet(业务时序,有节假日需求)
- 长期预测:Transformer 系列(LSTM、Informer、Autoformer)
- 多变量预测:VAR、MTGNN、Graph Neural Networks
- 异常检测:Isolation Forest、Autoencoder、统计方法(IQR、Grubbs)
参数调优
- ARIMA:使用 AIC/BIC 准则选择 p,q;网格搜索或 auto-arima 自动定阶
- LSTM:隐层单元数 64~256,层数 2~4,dropout 0.1~0.3,序列长度根据预测窗口选择
- Transformer:学习率 1e-4 ~ 5e-5,warmup 策略,注意力头数 4~8
评估指标
- 回归指标:MAE、RMSE、MAPE、SMAPE
- 概率预测:CRPS(连续排名概率分数)、PI Coverage
- 异常检测:Precision、Recall、F1-Score、AUC-PR
开源项目
Prophet
Facebook 开源的时序预测工具,自动分解趋势-季节-节假日三组件,支持 Python/R,对缺失值和异常值鲁棒,适合业务时序分析。
statsmodels
Python 统计建模库,提供 ARIMA、SARIMAX、VAR、指数平滑(ETS)等经典时序模型,以及完整的统计检验和诊断工具。
Darts
统一的时序预测库,集成 ARIMA、Prophet、N-BEATS、Transformer、LSTM 等 30+ 模型,支持自动模型选择与集成。
Merlion
Salesforce 开源的时序智能库,集成时序预测与异常检测,提供标准化评估流程和多样化模型集成方案。
参考文献
- Forecasting: Principles and Practice (3rd ed). Hyndman & Athanasopoulos, 2021
- LSTM: A Search Space Odyssey. Greff et al., 2017
- Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting. Zhou et al., 2021
- Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting. Wu et al., 2021