进阶篇 第 3 篇:经典永不落幕 - ARIMA 模型详解与实践

进阶篇 第 3 篇:经典永不落幕 - ARIMA 模型详解与实践

Classic Architecture Detail
(图片来源: Expect Best on Pexels)

在上一篇中,我们深入剖析了自相关函数 (ACF) 和偏自相关函数 (PACF) 图,掌握了如何利用它们来洞察平稳时间序列的内部“记忆”结构。这些知识为我们理解和应用时间序列领域最经典、最广泛的模型之一——ARIMA 模型——铺平了道路。

ARIMA,全称差分整合移动平均自回归模型 (Autoregressive Integrated Moving Average),是一个强大的统计模型,能够捕捉并预测许多类型时间序列数据中的复杂动态。它通过巧妙地组合三个核心构建块来实现这一点。

本篇,我们将一起:

  1. 解构 ARIMA(p,d,q): 深入理解 AR§, I(d), MA(q) 三个部分的含义与作用。
  2. 掌握核心流程: 学习经典的 Box-Jenkins 方法论,一步步构建有效的 ARIMA 模型。
  3. 实战演练: 使用 Python (statsmodels) 对真实数据进行 ARIMA 建模、诊断与预测。
  4. 超越视觉: 了解如何利用信息准则 (AIC/BIC) 辅助模型选择。

准备好驾驭这个时间序列建模的“老将”了吗?

解构 ARIMA(p,d,q) 模型

ARIMA(p,d,q) 模型由三个部分组成,每个部分由一个参数表示:

  1. AR§ - 自回归 (AutoRegressive) 部分:

    • 含义: 模型的当前值依赖于其自身的过去 p 个观测值
    • 公式形式 (简化): y'(t) = c + φ₁y'(t-1) + ... + φ<0xE1><0xB5><0xBD>y'(t-p) + ... (其中 y' 是差分后的序列)
    • 参数 p: 代表自回归项的阶数 (Order)
    • 识别线索 (回顾): 平稳序列的 PACF 图在 p 阶截尾
  2. I(d) - 差分整合 (Integrated) 部分:

    • 含义: 表示为了使原始时间序列变得平稳,需要进行**d 次差分**操作。
    • 参数 d: 代表需要进行的差分次数 (Order of Differencing)
    • 确定方法: 通常通过 ADF 等单位根检验来确定 d 的值(通常为 0, 1 或 2)。d=0 意味着序列本身就是平稳的 (此时模型变为 ARMA)。
  3. MA(q) - 移动平均 (Moving Average) 部分:

    • 含义: 模型的当前值依赖于过去 q 个预测误差项 (即白噪声的滞后项)。这里的“移动平均”与我们入门篇讲的“移动平均预测法”不同,它指的是模型中误差项的结构。
    • 公式形式 (简化): y'(t) = ... + ε(t) + θ₁ε(t-1) + ... + θ<0xE1><0xB5><0x97>ε(t-q)
    • 参数 q: 代表移动平均项的阶数 (Order)
    • 识别线索 (回顾): 平稳序列的 ACF 图在 q 阶截尾

组合起来: ARIMA(p,d,q) 模型本质上是对差分 d 次后的平稳序列 y' 建立一个 ARMA(p,q) 模型。它同时利用了序列过去的 (AR) 和过去的误差 (MA) 来进行建模和预测。

Box-Jenkins 方法论:ARIMA 建模标准流程

构建 ARIMA 模型通常遵循由 Box 和 Jenkins 提出的经典方法论,包含以下四个主要步骤,这是一个迭代的过程:

步骤 1:模型识别 (Identification)

  • 目标: 确定合适的差分次数 d,以及初步判断 AR 阶数 p 和 MA 阶数 q
  • 操作:
    • 检验平稳性与差分 (定 d):
      • 绘制原始序列图,进行 ADF 检验。
      • 如果非平稳,进行一阶差分 (d=1),再次检验。
      • 如果仍非平稳,尝试二阶差分 (d=2),但通常 d 不会超过 2。记录下你使用的差分次数 d
    • ACF/PACF 分析 (初定 p, q):
      • 绘制差分后的平稳序列的 ACF 和 PACF 图。
      • 根据上一篇学习的模式(截尾/拖尾)初步判断 pq 的可能值。
      • 注意: 真实数据模式可能模糊,可能需要考虑多个 (p, q) 候选组合(例如,如果 ACF 在 lag=1 截尾,PACF 拖尾,可能考虑 ARIMA(0,d,1);如果 PACF 在 lag=2 截尾,ACF 拖尾,可能考虑 ARIMA(2,d,0);如果都拖尾,可能考虑 ARIMA(1,d,1) 等)。

步骤 2:参数估计 (Estimation)

  • 目标: 对于选定的 (p, d, q) 组合,估计模型中的参数 (φ₁, …, φ<0xE1><0xB5><0xBD>, θ₁, …, θ<0xE1><0xB5><0x97>, c)。
  • 操作: 使用统计软件(如 Python statsmodels)提供的函数,通常采用最大似然估计 (Maximum Likelihood Estimation, MLE) 等方法来拟合模型,找到最优参数。

步骤 3:模型诊断 (Diagnostic Checking)

  • 目标: 检验拟合好的模型是否充分捕捉了数据中的信息。核心是检查模型的残差 (Residuals) 是否接近白噪声
  • 操作:
    • 残差序列图: 残差应该看起来像随机波动,没有明显的模式。
    • 残差 ACF/PACF 图: 残差的 ACF/PACF 图在所有滞后阶数上都不应显著(即都在置信区间内)。
    • 残差正态性检验 (QQ 图或 Jarque
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值