如何在数据分析中应用时间序列分析?有哪些常用的时间序列模型?

时间序列分析在数据分析中的应用

一、什么是时间序列分析

时间序列分析是对按时间顺序排列的数据进行建模,以识别其内在规律(趋势、周期、季节性),并据此进行预测或异常检测。

与普通回归分析的关键区别:观测值之间存在时间依赖性,不满足独立同分布假设。


二、时间序列的核心组成

一个时间序列通常可分解为:

Y(t) = T(t) + S(t) + C(t) + I(t)
成分符号含义示例
趋势T(t)长期上升或下降方向GDP 逐年增长
季节性S(t)固定周期的规律性波动冰淇淋销量夏高冬低
周期性C(t)非固定周期的波动经济周期(2-10 年不等)
随机性I(t)无法预测的随机扰动突发事件影响

实际中周期性与季节性常合并讨论,简化为Y = T + S + R(加法模型)或Y = T × S × R(乘法模型)。


三、应用流程

1. 数据采集与预处理 ├─ 处理缺失值(插值/前向填充) ├─ 处理异常值 └─ 确保时间间隔均匀(重采样) 2. 探索性分析 ├─ 绘制时序图,观察趋势与季节性 ├─ 平稳性检验(ADF 检验、KPSS 检验) └─ 自相关/偏自相关分析(ACF/PACF 图) 3. 数据变换(如需要) ├─ 差分 → 消除趋势 ├─ 对数变换 → 稳定方差 └─ 季节差分 → 消除季节性 4. 模型选择与拟合 ├─ 根据数据特征选择模型 └─ 参数估计与拟合 5. 模型诊断 ├─ 残差是否白噪声(Ljung-Box 检验) ├─ AIC/BIC 比较模型 └─ 残差 ACF 图检查 6. 预测与评估 ├─ 样本外预测 └─ 评估指标:MAE / RMSE / MAPE

四、常用时间序列模型

1. 经典统计模型
模型全称适用条件核心思想
AR自回归模型平稳序列当前值 = 历史值的线性组合
MA滑动平均模型平稳序列当前值 = 历史误差的线性组合
ARMA自回归滑动平均平稳序列AR + MA 的组合
ARIMA差分自回归滑动平均非平稳(差分后平稳)先差分再 ARMA
SARIMA季节性 ARIMA含季节性的非平稳序列ARIMA + 季节差分 + 季节 ARMA 项
Holt-Winters三次指数平滑含趋势和季节性对水平、趋势、季节分别指数平滑

ARIMA(p, d, q) 参数含义:

p: 自回归阶数(AR 项,看 PACF 图截尾) d: 差分次数(使序列平稳所需的差分阶数) q: 滑动平均阶数(MA 项,看 ACF 图截尾)

SARIMA(p,d,q)(P,D,Q,s) 额外参数:

P,D,Q: 季节性 AR、差分、MA 阶数 s: 季节周期(如月度数据 s=12)
2. 现代机器学习/深度学习模型
模型特点适用场景
ProphetFacebook 开源,自动检测趋势变化点和季节性业务预测,含节假日效应
VAR向量自回归,多变量间动态关系多个时间序列互相影响
LSTM长短期记忆网络,捕捉长期依赖复杂非线性序列
GRULSTM 的简化版,训练更快类似 LSTM,计算资源有限时
Transformer 时序模型自注意力机制,并行计算长序列、多变量时序
XGBoost/LightGBM将时序转为监督学习特征工程特征丰富、非线性关系

五、典型应用场景

领域场景推荐模型
金融股价预测、波动率建模ARIMA-GARCH、LSTM
零售商品销量预测、库存优化SARIMA、Prophet
能源电力负荷预测Holt-Winters、LSTM
交通客流量预测、路况预测SARIMA、Transformer
运维服务器指标异常检测ARIMA 残差检测、Prophet
经济GDP/通胀预测VAR、ARIMA
医疗疫情传播趋势预测SIR 模型 + 时序修正

六、模型选择决策指南

时间序列数据 │ ├─ 单变量? │ ├─ 有明显季节性? ──是──→ SARIMA / Prophet / Holt-Winters │ ├─ 平稳且无季节性? ──是──→ ARMA │ ├─ 非平稳? ──→ 差分后用 ARIMA │ └─ 复杂非线性? ──→ LSTM / Transformer │ ├─ 多变量? │ ├─ 变量间互相影响? ──→ VAR │ └─ 特征丰富可工程化? ──→ XGBoost / LightGBM │ └─ 需要快速部署、自动调参? ──→ Prophet

七、实践要点

  1. 平稳性是前提— ARMA/ARIMA 要求序列平稳,非平稳需先差分;可用 ADF 检验判断
  2. ACF/PACF 是诊断利器— 帮助确定 p、q 阶数:
    • ACF 拖尾 + PACF 截尾 → AR§
    • ACF 截尾 + PACF 拖尾 → MA(q)
    • 两者都拖尾 → ARMA
  3. 避免信息泄露— 训练集与测试集必须按时间切分,不能随机划分
  4. 残差应为白噪声— 若残差仍有自相关,说明模型未充分提取信息
  5. 简单模型优先— ARIMA 常常已经足够好,深度学习需要更多数据和调参成本
  6. 预测区间比点预测更重要— 实际决策需要知道不确定性范围