Skip to content

第七章 模型诊断 ​

残差是模型充分性的唯一判据。本章讲残差三性、Ljung-Box 的自由度陷阱、正态性与 ARCH 效应,以及诊断不通过时的处理路径。

7.1 残差要满足的三个条件 ​

模型充分性的最终判据是残差的行为。理想的残差应当满足:

  1. 零均值:E(eₜ) = 0;
  2. 无自相关:Cov(eₜ, eₜ₊ₖ) = 0,k ≠ 0;
  3. 同方差:Var(eₜ) = σ²,常数。

若还要做区间预测和显著性检验,再加一条:

  1. 正态性:eₜ ~ N(0, σ²)。

★ 残差不是误差。 真实误差 εₜ 不可观测;残差 eₜ 是"观测值减去模型拟合值",它同时包含了真实误差和模型误设的部分。因此残差检验只能发现"模型没有解释掉的结构",不能证明模型就是真的。

标准化残差:ẽₜ = eₜ / σ̂ₜ。当存在异方差时,用条件标准差标准化后的残差才可比较。

7.2 图形诊断 ​

跑检验之前,四张图必须看:

  1. 残差时序图:看有无趋势、有无水平跳变、有无波动聚集、有无异常点。
  2. 残差 ACF:看有无残留自相关。若有,说明阶数不足。
  3. 正态 Q-Q 图:点是否沿 45° 线分布。两端偏离说明厚尾,单侧偏离说明偏斜。
  4. 残差对拟合值散点图:看是否呈喇叭形(异方差)。

图形能发现检验发现不了的问题——例如单个异常点可能让 Ljung-Box 通过,但在时序图上一目了然。

7.3 Ljung-Box 检验 ​

检验残差前 m 阶是否联合为零自相关。统计量为

Q = n(n + 2) Σₖ₌₁^m ρ̂ₖ² / (n − k)

在原假设"前 m 阶自相关全为零"下,渐近服从

χ²(m − k*)

其中 k 是模型中已估计的参数个数*。

滞后阶数 m 的选择:常用 m = 12 或 24(月度数据);一般规则是 m ≈ min(10, n/5),或取季节周期的 2 倍。m 太小会漏掉高阶自相关,太大会稀释检验功效(把不显著的远距离滞后也纳入平均)。

★ 自由度必须扣除已估计的参数,这是最容易出错的地方。

  • ARIMA(p, d, q):扣 p + q;
  • 若模型含常数项或漂移项:再扣 1;
  • 若还含季节项:扣 P + Q。

举例:ARIMA(0,1,1) 加漂移,参数是 ma1 和 drift 共 2 个。滞后 12 阶时自由度应为 12 − 2 = 10,而不是 11。自由度算多了,p 值会偏大,导致本该拒绝的模型被误判为通过。

★ 解读的三条边界:

  1. 拒绝 = 有自相关,说明模型不充分,应升阶或换模型。
  2. 不拒绝 ≠ 独立。它只说明"没有足够证据反对无自相关",尤其在样本短、m 大时,功效很低。
  3. m 的选择会影响结论。报告时应写明用了哪些 m,以及是否都对结论一致。

Box-Pierce 检验是 Ljung-Box 的前身,统计量为 Q = n Σρ̂ₖ²,小样本下表现较差,已被 Ljung-Box 取代。

7.4 正态性检验 ​

Jarque-Bera 检验:

JB = (n/6) [ S² + (K − 3)² / 4 ] ~ χ²(2)

其中 S 是样本偏度(正态为 0),K 是样本峰度(正态为 3)。它同时检验偏度和超额峰度。

Q-Q 图更直观:若点沿 45° 线分布则近似正态;两端向上翘(右尾厚)、向下沉(左尾厚)说明厚尾;整体弯曲说明偏斜。

★ 非正态的后果分轻重:

  • 点预测基本不受影响。高斯拟似然估计(把正态似然当工具用)在非正态下仍是一致的,点预测仍可用。
  • 区间预测和显著性检验受影响。正态区间会失真,z 检验的实际水平偏离名义水平。
  • 厚尾的典型后果:区间过窄,覆盖率低于名义值;极端值出现频率被低估。

7.5 异方差与 ARCH 效应 ​

波动聚集(volatility clustering)指大幅波动倾向于聚集在一起,小幅波动也聚集在一起。图形上表现为"平静期"与"剧烈期"交替。

ARCH LM 检验:把残差平方对自身滞后回归

eₜ² = α₀ + α₁eₜ₋₁² + … + α_qeₜ₋q² + vₜ

检验统计量

LM = n R² ~ χ²(q)

原假设是"无 ARCH 效应"(即 α₁ = … = α_q = 0)。拒绝则说明存在条件异方差。

★ ARCH 效应存在时,常方差模型的两个后果:

  1. 参数标准误被低估,t 值虚高,可能把不显著的系数判为显著;
  2. 预测区间不随时期变化,在波动剧烈期过窄、在平静期过宽,覆盖率失真。

处理办法:GARCH(p, q)、EGARCH(捕捉杠杆效应)、TGARCH;或者用 bootstrap 重抽样构造经验区间;或者至少把区间明确标注为"常方差近似区间",限制其解释。

7.6 结构稳定性检验 ​

Chow 检验:把样本按某时点分成两段,比较分段估计与全样本估计的残差平方和,检验参数是否相同。需要事先知道断点位置。

Bai-Perron 检验:允许未知断点,同时估计断点位置与个数。

递归残差 / CUSUM 检验:逐个增加样本重新估计,看递归残差是否超出置信带,用于发现参数漂移。

7.7 诊断不通过时的处理路径 ​

按问题类型分:

诊断结果含义处理
Ljung-Box 拒绝残留自相关升阶;加季节项;考虑非线性
残差 ACF 在 s 处尖峰遗漏季节性加 SARIMA 项
残差 ACF 在滞后 1 大幅负值过度差分减少 d
JB 拒绝正态厚尾或偏斜对数变换;t 分布拟似然;bootstrap 区间;说明局限
ARCH LM 拒绝条件异方差GARCH 族;稳健标准误;bootstrap
残差时序图有跳变结构突变虚拟变量;分段建模
递归残差越界参数漂移滚动窗口估计;时变参数模型

★ 一个重要原则:诊断的目的不是"让检验通过",而是"知道模型在哪里不成立,并把结论限制在成立的范围内"。 把所有诊断都调到 p > 0.05 而不管模型是否合理,是另一种形式的数据操纵。

要点 ​

  1. 残差三性:零均值、无自相关、同方差;做区间还要加正态。
  2. Ljung-Box 的 Q = n(n+2)Σρ̂ₖ²/(n−k),自由度 = m − 已估参数个数(含常数/漂移)。
  3. 自由度算多了 p 值偏大,会把不充分的模型误判为通过。
  4. 不拒绝 ≠ 独立;非正态影响区间和检验,不影响点预测的一致性。
  5. ARCH 效应会使标准误低估、区间失真,应改条件异方差模型或 bootstrap。
  6. 诊断的目的是界定模型适用范围,不是让所有 p 值都变大。

自测 3 问 ​

Q1:好模型的残差要满足哪几条?要做预测区间还要加什么?

点开看答案

残差三性:零均值、无自相关、同方差。

要做区间预测,还要加上正态。

Q2:Ljung-Box 检验的自由度怎么算?算多了会怎样?

点开看答案

自由度 = m − 已估参数个数(m 是检验用的滞后数;参数个数要把常数项/漂移项算进去)。

自由度算多了 → p 值偏大 → 把不充分的模型误判为通过。

Q3:残差有 ARCH 效应会带来什么问题?怎么处理?

点开看答案

ARCH 效应(方差随时间聚集)会让标准误被低估、预测区间失真。

处理:改用条件异方差模型,或用 bootstrap 构造区间。