ML 学习站
跳到正文

ARIMA 模型

ARIMA(p,d,q) 参数解读, auto_arima 自动选参, 季节性 SARIMA。

45 分钟2 / 41,154
加载中...

ARIMA(AutoRegressive Integrated Moving Average)是一种经典的时序建模方法,自1970年提出以来广泛应用于时间序列分析。其核心概念包括三个参数:AR(自回归)p、I(差分)d和MA(移动平均)q。AR(p)表示当前值是过去p个值的线性组合,I(d)表示对序列进行d次差分以使其平稳,MA(q)表示当前值是过去q个残差的线性组合。ARIMA模型适用于处理平稳且具有单一季节性的数据。读者学习后能够使用ARIMA模型进行时间序列预测,并通过残差诊断评估模型性能。此外,读者还将了解如何使用`auto_arima`自动选择最佳参数组合,以及在面对非线性趋势、多重季节性或缺失值时,考虑使用Prophet等更先进的工具。

ARIMA 模型

ARIMA (AutoRegressive Integrated Moving Average) 是时序建模的"经典 + 主力"模型,1970 年提出至今仍在用。理解 ARIMA = 理解时序建模的核心思路

ARIMA 拆解

ARIMA 有 3 个参数 (p, d, q):

  • AR (AutoRegressive) p: 当前值 = 过去 p 个值的线性组合
  • I (Integrated) d: 做了 d 次差分让它平稳
  • MA (Moving Average) q: 当前值 = 过去 q 个残差的线性组合

公式:

y(t) = c + phi(1) * y(t-1) + ... + phi(p) * y(t-p)
     + theta(1) * e(t-1) + ... + theta(q) * e(t-q) + e(t)

直观:

  • AR(p): 用历史值预测 (明天销量 ≈ 前 7 天销量的加权平均)
  • MA(q): 用预测误差修正 (今天卖得差是因为前天预测偏高)
  • I(d): 差分次数 (一般 d=0 或 1)

4 步建模流程

import pandas as pd
import numpy as np
from statsmodels.tsa.arima.model import ARIMA
import pmdarima as pm

auto_arima 会遍历 (p, d, q) 组合,选 AIC 最小的 (AIC 衡量"拟合好 + 参数少"的平衡)。

残差诊断:看模型是否充分

训完模型后, 必须看残差诊断。4 个子图:

  • 标准化残差时序 (应该像白噪声)
  • 直方图 (应该接近正态)
  • Q-Q 图 (应该沿红线)
  • ACF (应该无自相关)

替代方案:Prophet

ARIMA 对非线性趋势 + 多重季节性 + 缺失值 处理不好。下一章 Prophet 是 Facebook 2017 年开源的工具,工业界更常用。

小结

  • ARIMA(p, d, q) = 自回归 + 差分 + 移动平均
  • pmdarima.auto_arima 自动选参, 比手挑省事
  • SARIMA 加季节项, 参数 (p, d, q) × (P, D, Q, s)
  • 残差诊断 4 步: 时序图、直方图、Q-Q、ACF
  • ARIMA 适合"平稳 + 单一季节"的数据,复杂场景用 Prophet 或 LSTM

练习思考

  1. auto_arima 对气温数据建模, 输出的最佳 (p, d, q) 是多少?为什么?
  2. 对比 ARIMA 和 SARIMA 在有强季节性数据上的预测 MAPE, 差距有多大?
  3. 在 ARIMA 残差诊断中, 残差还有强自相关说明什么?应该怎么调?

章末小测验

检验你对《ARIMA 模型》的掌握程度。

1

ARIMA(p, d, q) 中的 d 代表什么?

2

用 pmdarima 的 auto_arima 有什么好处?

这门课在以下学习路径中

当前课程出现在 1 条系统化路径里, 你可以一键生成完整学习计划, 自动跳过已完成章节。

还有疑问? 问问 AI (v19.5)

基于全站 19 门课 68 章内容检索 + LLM 总结, 会引用具体章节作为出处

讨论区(0)

加载评论中...