假设你是一位大厨,每天负责煲一锅汤。今天这锅汤好不好喝,其实取决于三件事:第一,锅底稳不稳——汤面是不是像开了锅一样翻滚(那是“趋势”在捣乱);第二,你记不记得自己前几天的味道——昨天咸了今天就会少放盐(那是“自回归”);第三,你能不能从最近几次调味失误里吸取教训,适当回调(那是“移动平均”)。ARIMA 这个老牌时序预测模型,本质上就是把这三板斧——差分、自回归、移动平均——写成同一张“菜谱”:先撇掉趋势的浮沫,再让序列用自己的历史值和历史失误来预测未来。它不炫技,却极其可靠,至今仍是销量、经济指标等单变量预测的标准基线。

岗位关联

掌握 ARIMA,是你时序预测生涯的第一块地基:面试常考、业务常用,更重要的是它为你后来理解 Prophet、LSTM 等一切更复杂的时序模型提供了对照的“参照系”。

目录
  1. 可视化演示
  2. 三件套构成:认识 ARIMA 的统一菜谱
  3. 差分平稳化:撇掉趋势这层“浮沫”
  4. 自回归记忆:参考自己的老味道
  5. 移动平均纠偏:记住调味失误的教训
  6. 建模流程:定阶五步,从备料到尝渣
  7. 预测与评价:端出成品与置信区间
  8. 局限与替代:这锅汤不是万能的
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示ARIMA模型的差分平稳化过程和预测置信区间,直观理解p/d/q三参数的作用。

本节配有交互动效(进入视口后自动加载,约 3KB)。

ARIMA(p,d,q)分解过程 原始序列:含趋势+季节+噪声,非平稳 差分d次:去除趋势,化为平稳序列 AR(p)+MA(q):建模自回归与移动平均 ARIMA(p,d,q): Δᵈyₜ = AR(p) + MA(q) 差分使序列平稳,AR/MA捕捉时序依赖

三件套构成:认识 ARIMA 的统一菜谱

老练的大厨每天煲汤靠的是什么?无非三句话:锅底必须稳,火候要有记忆,失误要能纠偏。这三句话,恰好对应 ARIMA 的三个字母:A 是自回归(AR),I 是差分整合(I),MA 是移动平均——一页纸,三味料,合成一张统一菜谱。

在时序预测里,我们面对的大多数业务数据——日销量、股价、访问量——并不安分:它们要么带着整体上升的天花板(趋势),要么围绕平均值忽高忽低。ARIMA 的思路是:先差分把趋势去掉,得到一个平稳的新序列;然后用“自己的历史值”(自回归)和“历史预测误差”(移动平均)共同解释它。这就是“差分整合移动平均自回归”这个拗口名字的全部含义。

把三个组件写进同一行方程,就得到 ARIMA(p,d,q) 的模型结构:

可见 ARIMA 并不神秘:它不过是用一张公式把“撇浮沫、用老配方、记失误”三件事缝在了一起。接下来每一节,就是把这三件事逐个拆开看。

yt′=c+∑i=1pϕiyt−i′+∑j=1qθjεt−j+εt,yt′=(1−B)dyt\displaystyle y'_t = c + \sum_{i=1}^{p}\phi_i y'_{t-i} + \sum_{j=1}^{q}\theta_j \varepsilon_{t-j} + \varepsilon_t, \qquad y'_t = (1-B)^d y_t
通俗理解:这行公式像一份菜谱——先焯水(差分 d),再按老配方的克数抓料(AR 的 p 项),最后按前几勺的偏差补盐(MA 的 q 项),今天的随机扰动则像撒进去的一撮葱花。
  1. 差分因子 y′_t方程先对原始序列做 d 次差分,得到平稳的中间序列 y′_t,相当于先把汤底的浮沫撇掉。
    yt′=(1−B)dyt\displaystyle y'_t = (1-B)^d y_t
  2. 自回归求和项把前 i 天的自身取值乘上系数 φ_i,再对 i=1 到 p 求和,就是“昨天咸了今天少盐”的记忆调味。
    ∑i=1pϕiyt−i′\displaystyle \sum_{i=1}^{p}\phi_i y'_{t-i}
  3. 移动平均求和项把前 j 天的预测误差 ε 乘上系数 θ_j 求和,相当于按最近的调味失误做回调。
    ∑j=1qθjεt−j\displaystyle \sum_{j=1}^{q}\theta_j \varepsilon_{t-j}
  4. 常数与白噪声c 是汤底的基准味,ε_t 是今天的独立随机扰动,服从均值为 0、方差固定的白噪声分布。
    c+εt,εt∼WN(0,σ2)\displaystyle c + \varepsilon_t, \quad \varepsilon_t \sim WN(0,\sigma^2)

差分平稳化:撇掉趋势这层“浮沫”

一锅汤滚得越猛,汤面翻得越高——你可以把“趋势”想象成火太旺造成的浮沫:它让汤面(均值)不断抬升,无法稳定。此时下任何料都判断不准咸淡。所以第一板斧,就是“撇浮沫”,统计学里叫“差分”。

差分操作朴素得惊人:用今天的值减去昨天的值,就把“每天固定上涨的那一截”削掉了。如果你观察到的上涨速度本身还在变化(比如销量的增速在加快),那就再差一次,做二阶差分。数学上,一阶差分用符号 Δ 表示:

怎么知道浮沫撇干净了?用 ADF 检验:它的原假设是“这条序列仍然不平稳”,当 p 值小于 0.05 时拒绝原假设,我们才敢说汤底稳了。实践中 d 一般只取 0、1、2,绝不是越多越好——撇过头,汤的营养(真实信息)也被倒掉了。

Δyt=yt−yt−1,Δ2yt=yt−2yt−1+yt−2\displaystyle \Delta y_t = y_t - y_{t-1}, \qquad \Delta^2 y_t = y_t - 2y_{t-1} + y_{t-2}
通俗理解:一阶差分是“今天比昨天多赚了多少”,二阶差分是“今天这个差值比昨天那个差值又变了多少”——把趋势和趋势的变化都撇掉,汤底就平静了。
  1. 差分号 Δ表示“今天减昨天”的取差运算,一阶差分写成 Δy_t,是差分整合(Integrated)的最小动作。
    Δyt=yt−yt−1\displaystyle \Delta y_t = y_t - y_{t-1}
  2. 二阶差分展开对一阶差分再差一次,展开后得到 y_t − 2y_{t−1} + y_{t−2},用于处理“趋势本身还在加速”的序列。
    Δ2yt=Δyt−Δyt−1=yt−2yt−1+yt−2\displaystyle \Delta^2 y_t = \Delta y_t - \Delta y_{t-1} = y_t - 2y_{t-1} + y_{t-2}

自回归记忆:参考自己的老味道

汤底稳了之后,大厨靠什么判断今天放多少盐?答案是记忆——回想昨天、前天、大前天的味道。这就是第二板斧“自回归”:今天的值,是若干个过去自身的值的加权和。它和普通线性回归很像,唯一的区别是“自变量”换成了自己的滞后值,所以叫“自回归”。

AR(p) 模型假设今天的 y_t 与最近 p 天的历史值存在线性关系。和线性回归一样,我们需要估计系数:

那 p 到底取几?看 PACF(偏自相关图):它衡量“去掉中间几天的干扰后,昨天对今天还有多大的净相关”。当 p 阶之后 PACF 突然跌进虚线区间(截尾),就取这个 p。这就像试菜:闻到第 p 天之后的老味道已经没有新信息,就不必再往前回忆了。

yt=c+ϕ1yt−1+ϕ2yt−2+⋯+ϕpyt−p+εt\displaystyle y_t = c + \phi_1 y_{t-1} + \phi_2 y_{t-2} + \cdots + \phi_p y_{t-p} + \varepsilon_t
通俗理解:就像大厨在心里默念“昨天的汤放了 3 克盐、前天的放了 2 克”,然后按加权平均决定今天放多少——φ 就是每段记忆的权重。
  1. 滞后项 y_{t−i}表示 i 天前的自己,i 越大记忆越久远。
    yt−1,yt−2,…,yt−p\displaystyle y_{t-1}, y_{t-2}, \ldots, y_{t-p}
  2. 回归系数 φ_i每段历史对今天的权重,可正可负,解释为“昨天的味道对今天的影响程度”。
    ϕ1,ϕ2,…,ϕp\displaystyle \phi_1, \phi_2, \ldots, \phi_p
  3. 常数与扰动c 是基准水平,ε_t 是白噪声扰动。
    c+εt\displaystyle c + \varepsilon_t

移动平均纠偏:记住调味失误的教训

第三板斧属于“错题本”型大厨。比起记自己的值,他更擅长记自己的失误:昨天汤咸了 0.2 克盐,今天就要回调 0.05——这才是移动平均的真实含义。注意,MA 记忆的是“预测误差 ε”,而不是序列值本身。

有些序列的当前值,主要受过去若干次“意外扰动”的延续影响,比如工厂突然后到一批货,会接连影响未来几天的库存。MA(q) 正是描述这种“误差的惯性”:

定 q 看 ACF(自相关图):当 q 阶之后 ACF 截尾,就取 q。AR 与 MA 的分工像“记性好的”和“善反思的”:前者追自己的历史,后者纠自己的错误,两者相加构成 ARMA,再叠上差分就是完整的 ARIMA。

yt=μ+εt+θ1εt−1+⋯+θqεt−q\displaystyle y_t = \mu + \varepsilon_t + \theta_1 \varepsilon_{t-1} + \cdots + \theta_q \varepsilon_{t-q}
通俗理解:汤的味道 = 基准水平 μ + 今天的随机扰动 + 前 q 次失误按 θ_j 权重的“涟漪”。失误越大、越近,回调力度就越大。
  1. 基准均值 μ序列围绕的平均水平,相当于“一贯咸度”。
    μ\displaystyle \mu
  2. 前期误差 ε_{t−j}前 j 天的扰动实际值,即模型当时的“偏差量”。
    εt−1,…,εt−q\displaystyle \varepsilon_{t-1}, \ldots, \varepsilon_{t-q}
  3. 误差权重 θ_j每段失误记忆的权重,决定回调力度。
    θ1,…,θq\displaystyle \theta_1, \ldots, \theta_q

建模流程:定阶五步,从备料到尝渣

有了三件套,大厨的完整流程是什么?真实项目里,ARIMA 建模有一套标准动作:备料(数据预处理)→ 撇浮沫(平稳化)→ 试料(定阶)→ 尝渣(白噪声检验)→ 出锅(估计与诊断)。每一步都有明确的目的。

备料阶段处理缺失值、离群点和时间对齐;平稳化阶段反复差分直到 ADF 通过;定阶阶段先用 ACF/PACF 圈定候选 (p,q),再用 AIC/BIC 做网格搜索定最终阶数;拟合之后最重要的一步是“尝渣”——检验残差是否还剩信息。如果残差仍存在自相关,说明锅底还有渣(信息没榨干),模型需要加参数。Ljung-Box 检验给出量化判断:

至于 AIC/BIC,它们相当于“菜谱复杂度罚款”:参数越多、信息量越大,但也要扣复杂度分——选分数最低的那份菜谱,就是定阶的终点。整个流程走完,模型才敢端上桌。

Q=n(n+2)∑k=1hρ^k2n−k\displaystyle Q = n(n+2)\sum_{k=1}^{h}\frac{\hat{\rho}_k^2}{n-k}
通俗理解:Q 统计量像“滤网上的残留量总和”。残差里若还有明显相关,Q 会很大、p 值很小;反之 Q 小、p 值大(>0.05),说明残差只剩随机噪音,渣已清干净。
  1. 样本量 n建模使用的观测数,是修正公式里的基础。
    n\displaystyle n
  2. 残差自相关 ρ̂_k残差序列相隔 k 阶的样本自相关系数,衡量“相隔 k 天还剩多少相关”。
    ρ^k\displaystyle \hat{\rho}_k
  3. 检验滞后 h需要考察的最大滞后阶数,一般取 10~20。
    h\displaystyle h
  4. 修正因子 n(n+2)/(n−k)小样本下让统计量更准确的加权修正。
    n(n+2)n−k\displaystyle \frac{n(n+2)}{n-k}
  5. 判断规则Q 大于卡方分布的临界值(p<0.05)→ 残差非白噪声 → 回到定阶重新加料。
    Q>χα2(h)\displaystyle Q > \chi^2_{\alpha}(h)

预测与评价:端出成品与置信区间

模型训练完毕,终于到了“端汤”环节。但合格的大厨不会只说“汤好喝”,他还要告诉你:口味大致在什么范围波动。ARIMA 的预测同样分两部分:点预测(最可能的期望值)和区间预测(围绕点预测的置信区间)。

做 h 步预测时,差分过的序列要先“还原”回原尺度——把撇掉的趋势浮沫重新加回去。同时,预测误差会随步长累积:明天还能较准,一个月后就只能给个很宽的范围。数学上,h 步预测的置信区间写成:

模型的诊断与评价同样重要:看残差是否白噪声,用 RMSE/MAE 和朴素基线(比如“用昨天的值当预测”)对比。如果 ARIMA 连基线都打不赢,那这锅汤就该倒掉重熬——这是所有时序建模者的基本素养。

y^T+h±zα/2 σ^1+∑i=1h−1ψ^i2\displaystyle \hat{y}_{T+h} \pm z_{\alpha/2}\,\hat{\sigma}\sqrt{1+\sum_{i=1}^{h-1}\hat{\psi}_i^2}
通俗理解:区间宽度像扇面:h=1 时只有一步误差,扇面很窄;步数越多,历史误差的“涟漪”全部叠进来,扇面越张越大。
  1. 点预测 ŷ_{T+h}以 T 期为起点、向前 h 步的条件期望预测值。
    y^T+h\displaystyle \hat{y}_{T+h}
  2. 分位数 z_{α/2}正态分布双侧分位数,95% 置信时约取 1.96。
    zα/2≈1.96\displaystyle z_{\alpha/2} \approx 1.96
  3. 单步误差尺度 σ̂残差标准差,衡量“一步预测”的典型偏差。
    σ^\displaystyle \hat{\sigma}
  4. 误差传播系数 ψ_iMA(∞) 展开中第 i 步扰动对当前的影响权重,负责把历史误差“传导”到 h 步之后。
    ψ^i\displaystyle \hat{\psi}_i

局限与替代:这锅汤不是万能的

再好的汤也有短板。ARIMA 是一锅“自我参照”的汤:它只盯着自己的历史,看不见外面的世界。当市场突然换了水源(原油暴涨、突发促销、疫情冲击),基于老味道的记忆会瞬间失灵,误差的记忆反而变成包袱。

具体而言,ARIMA 的局限有三:第一,它本质是线性模型,抓不住复杂的非线性关系;第二,它只用单变量自身历史,无法纳入价格、节日、竞品等外生变量;第三,长期预测的误差方差会随步长不断累积,预测越远越“没谱”,对结构性突变极其敏感。

但这不意味着它该被淘汰。在样本量小、需要可解释性的场景里,ARIMA 始终是最稳的基线;当数据量大、特征丰富时,再升级到 SARIMA(加季节项)、Prophet、LightGBM 或时序深度学习模型。聪明的团队总是先用 ARIMA 把“底线”摸清,再决定要不要换更贵的锅。

所以请记住:ARIMA 是大厨的入门基本功,不是万能神器。会用它、也懂它的边界,你才算真正入了时序预测的门。

AI 应用场景

电商日销量基线预测

阶段:数据准备与基线建模

解决的问题:运营每天要报次日、下周的销量预测来指导补货;传统做法是拍脑袋或简单均值,误差大且不可解释。ARIMA 通过差分消除促销后的销量爬坡,用 AR 记忆近期购买惯性,用 MA 吸收突发流量造成的误差,输出带置信区间的基线预测。

具体案例:某电商团队对 300 个核心 SKU 的日销量分别拟合 ARIMA(p,1,q),用 ADF 自动判断是否差一次,用 AIC 网格定阶,每天滚动刷新未来 7 天预测;残差白噪声检验通过后,结果直接作为补货系统的最低安全库存依据。

宏观经济指标季度预测

阶段:模型选择与效果评估

解决的问题:分析师要预判下季度 CPI、工业增加值。传统专家判断受主观影响大,且难以给出量化区间。ARIMA 擅长从单变量历史中提炼趋势与惯性,在几秒内给出点预测和置信区间。

具体案例:某券商研究所用 20 年 CPI 月度数据拟合 ARIMA(2,1,2),预测未来 3 个月的同比增速,并将置信区间写进宏观月报的风险提示段落,供基金经理参考。

服务器负载异常筛查

阶段:模型诊断与异常检测

解决的问题:监控告警常被“正常波动”淹没,固定阈值不是误报就是漏报。ARIMA 先拟合正常模式,再用残差较大的时间点标为异常——相当于“汤的味道突变”检测。

具体案例:SRE 团队对每台网关的每分钟请求量拟合 ARIMA(1,1,1),实时计算标准化残差,超过 3σ 即触发告警,误报率比固定阈值降低一半。

Python 演示

python41 行
import numpy as npfrom statsmodels.tsa.stattools import adfullerfrom statsmodels.tsa.arima.model import ARIMAfrom sklearn.metrics import mean_squared_error # 1) 模拟一份带趋势和自相关的销量数据(真实项目里换成自己的时序表)np.random.seed(42)n = 220y = np.zeros(n)noise = np.random.normal(0, 0.8, n)for t in range(1, n):    y[t] = 0.6 * y[t - 1] + 0.04 + noise[t]   # 带漂移的AR(1)y = y + 0.03 * np.arange(n)                   # 再叠加线性趋势制造不平稳 def is_stationary(series):    return adfuller(series)[1] < 0.05         # ADF p值小于0.05才算平稳 print('原序列 ADF p 值:', round(adfuller(y)[1], 3))d = 0s = y.copy()while not is_stationary(s) and d < 2:    d += 1    s = np.diff(s)print('选定差分阶数 d =', d) # 2) 用AIC网格搜索定 p 和 qbest_aic, best_order = float('inf'), Nonefor p in range(4):    for q in range(4):        model = ARIMA(y, order=(p, d, q)).fit()        if model.aic < best_aic:            best_aic = model.aic            best_order = (p, d, q)print('AIC最优阶数:', best_order, 'AIC =', round(best_aic, 2)) # 3) 训练 + 12步外推预测 + RMSE评估train, test = y[:-12], y[-12:]model = ARIMA(train, order=best_order).fit()forecast = model.forecast(steps=12)rmse = mean_squared_error(test, forecast) ** 0.5print('12步预测 RMSE:', round(rmse, 3))
目的:用 ADF 自动定 d,用 AIC 网格搜索定 p、q,最后拟合 ARIMA 并做 12 步外推预测,输出 RMSE 评估。
  1. from statsmodels.tsa.stattools import adfuller引入“浮沫检测器”ADF 检验。
  2. y[t] = 0.6 * y[t - 1] + 0.04 + noise[t]生成一锅带自相关记忆和漂移的汤,模仿真实销量。
  3. return adfuller(series)[1] < 0.05取 ADF 的 p 值,小于 0.05 判定平稳,浮沫已撇净。
  4. while not is_stationary(s) and d < 2:不平稳就继续差分,但最多差两次,防止撇掉营养。
  5. model = ARIMA(y, order=(p, d, q)).fit()网格试料:每个 (p, d, q) 组合都煮一锅,记录 AIC。
  6. if model.aic < best_aic:挑 AIC 最小的菜谱,参数不多不少正合适。
  7. model.forecast(steps=12)从训练集末尾出发外推未来 12 步。
  8. rmse = mean_squared_error(test, forecast) ** 0.5预测值与真值比差距,越小说明汤越正宗。

常见误区

误区为了让序列平稳,我多差几次没关系,d 越大说明我处理得越彻底,预测自然更准。

正解差分本质是“撇浮沫”,但撇过头会把汤的营养(长期记忆)一起倒掉。过度差分会让序列丢失真实的长期关系,甚至引入新的伪相关。实践中有以 ADF 检验通过为准,d 一般不超过 2,还要结合业务趋势判断——比如销量本就有增长趋势,差到平稳即可,不必追求绝对平稳。

为何常见:“平稳”听起来像终极目标,初学者容易把检验当成可以反复刷分的任务,而忽略了“信息保留”的代价。

误区我只要看 ACF/PACF 图的截尾点,就能 100% 确定 p 和 q,根本不用其他工具。

正解真实业务数据通常混合拖尾、多峰,图形只是“圈定候选范围”的第一印象;标准做法是在候选范围内用 AIC/BIC 网格搜索,再结合残差诊断确认。就像大厨闻味道只是初步判断,最终咸淡要上秤(数值指标)验证。

为何常见:教材为了清晰常画理想截尾图,误导学习者以为真实数据也这么干净。

误区建模前先做白噪声检验,如果原始序列不是白噪声,就说明有规律可挖,能开始预测了。

正解白噪声检验的正确位置在“建模之后、针对残差”——残差是白噪声才说明信息已榨干、模型有效;而原始序列如果是白噪声(纯随机、无自相关),恰恰说明“无规律可挖”,根本不适合 ARIMA。顺序搞反,就像还没煲汤就急着尝渣。

为何常见:白噪声与平稳是两个概念,初学者常把“不是白噪声”误解为“可预测”,把检验用错了位置。

误区现在都深度学习了,ARIMA 这种线性老古董没必要学,直接把数据丢给 LSTM 就行。

正解小样本、短历史、强可解释场景里,LSTM 很容易过拟合,而 ARIMA 几行代码就能给出稳定的基线。工业界几乎所有时序项目都会先跑 ARIMA 作为基线,后续模型必须打败它才有意义。深度学习是升级方案,不是替代品——先会用好“三板斧”,才知道何时换“新菜刀”。

为何常见:AI 热词让人误以为“新模型碾压老模型”是普遍规律,忽略了数据量、可解释性和基线对比的价值。

面试题

Q1. ARIMA 中字母 I 指的是哪一部分?

单选题 · easy

  • A.自回归
  • B.差分整合← 正确答案
  • C.移动平均
  • D.指数平滑

答案:B。I 是 Integrated(差分整合)的缩写,代表对不平稳序列做 d 次差分以平稳化,相当于大厨“撇浮沫”的动作。AR 用自身历史值,MA 用历史预测误差,都不是 I 的含义。

Q2. 一阶差分 Δy_t 的定义是?

单选题 · easy

  • A.y_t ÷ y_{t−1}
  • B.y_t − y_{t−1}← 正确答案
  • C.y_t + y_{t−1}
  • D.y_{t−1} − y_t

答案:B。一阶差分是“今天减昨天”,目的是消掉相邻两天共有的趋势部分。A 是变化率,C 是求和,D 虽然也是减法但方向反了,会让趋势符号颠倒。

Q3. AR 与 MA 的核心区别是?

单选题 · easy

  • A.AR 用过去观测值,MA 用过去预测误差← 正确答案
  • B.两者没有任何区别
  • C.AR 用过去误差,MA 用过去观测值
  • D.两者都依赖未来数据

答案:A。AR 像“记性好的大厨”,回顾自己过去几天的味道(历史观测值);MA 像“善反思的大厨”,回顾最近几次调味失误(历史误差)。两者原料不同,说反的 C 和混为一谈的 B 都不对。

Q4. 确定 AR 阶数 p 时,最常参考的图是?

单选题 · mid

  • A.ACF 图
  • B.PACF 图← 正确答案
  • C.直方图
  • D.QQ 图

答案:B。PACF 在 p 阶后截尾是 AR(p) 的典型信号——它衡量剔除中间滞后影响后,昨天对今天的净相关。ACF 通常用于定 MA 的 q;直方图和 QQ 图与定阶无关。

Q5. 确定 MA 阶数 q 时,最常参考的图是?

单选题 · mid

  • A.PACF 图
  • B.ACF 图← 正确答案
  • C.饼图
  • D.箱线图

答案:B。MA(q) 的 ACF 在 q 阶后截尾,因为误差的影响只延续 q 期;PACF 截尾对应 AR 阶数,饼图和箱线图与建模定阶无关。

Q6. 判断原始序列是否平稳,最常用的检验是?

单选题 · mid

  • A.ADF 检验← 正确答案
  • B.Ljung-Box 检验
  • C.t 检验
  • D.卡方拟合优度检验

答案:A。ADF 是单位根检验,原假设为“序列不平稳”,p<0.05 则拒绝并认为平稳,像“浮沫检测器”。Ljung-Box 用于建模后检验残差是否为白噪声,作用时段不同。

Q7. 下列哪些方法可用于确定 ARIMA 的阶数?

多选题 · mid

  • A.ACF/PACF 截尾规律← 正确答案
  • B.AIC/BIC 网格搜索← 正确答案
  • C.残差白噪声检验
  • D.固定使用 p=1,q=1

答案:AB。ACF/PACF 给出候选阶数,AIC/BIC 在候选内精挑细选,都是定阶常用方法。白噪声检验属于模型诊断,是在定阶之后的验证;D 属于拍脑袋,毫无依据。

Q8. 对拟合后的 ARIMA 残差做 Ljung-Box 检验,p>0.05 说明什么?

单选题 · hard

  • A.残差还有明显自相关,需要增加阶数
  • B.残差近似白噪声,可用信息已提取充分← 正确答案
  • C.残差方差为零
  • D.序列一定不平稳

答案:B。p>0.05 意味着不能拒绝“残差是白噪声”的原假设,就像滤网里只剩清水没有渣,模型已经把可用的自相关信息榨干。A 是 p<0.05 时的结论。

Q9. 下列哪些属于 ARIMA 的已知局限?

多选题 · hard

  • A.本质是线性模型,难以捕捉非线性关系← 正确答案
  • B.只用自身历史,无法纳入外生变量← 正确答案
  • C.对结构突变完全不敏感
  • D.长期预测误差方差不断累积← 正确答案

答案:ABD。ARIMA 是线性单变量模型,外部冲击(促销、政策)会迅速让它“翻车”,所以 C 说反了——它恰恰对结构突变极其敏感。其余三项都是公认的短板。

Q10. 对带漂移的 ARIMA(1,1,0),随着预测步长 h→∞,预测置信区间宽度的变化趋势是?

单选题 · extreme

  • A.收敛到 0
  • B.收敛到一个常数
  • C.随步长近似线性增长← 正确答案
  • D.周期性振荡

答案:C。因为存在一阶差分(单位根),扰动会永久累积,h 步预测误差方差随 h 近似线性增长,区间越来越宽;只有平稳 ARMA 的预测方差才会收敛到一个常数。就像汤里的涟漪不会自行消失,远处的“扇面”只会越张越大。