研究背景
某产品连续 120 期的销量从 104 增长到 752,呈明显的上升趋势。运营团队希望预测未来 12 期的销量以便安排产能。直接对原始序列做回归或 ARMA 拟合会产生「伪回归」——序列的均值随时间变化,不满足平稳性假设,参数估计与显著性检验都不可靠。
研究问题
该序列需要几阶差分才能平稳?AR 与 MA 的阶数如何选?拟合后的残差是否已经是白噪声?未来 12 期的预测区间有多宽?
数据说明
120 个按时间先后排列的数值(单行或单列均可,不需要时间戳列)。序列长度 120 属于中等规模,足以支持 (p, d, q) 各阶不超过 2 的模型。
示例数据
104.4,109.4,118.0,127.0,133.6,141.9,152.5,156.9,161.6,167.5,168.7,169.8,175.7,179.2,185.1,189.8,198.5,205.0,211.0,215.6,217.6,217.4,229.2,236.0,244.7,248.1,254.6,261.1,263.9,274.7,285.3,291.3,300.5,310.2,318.4,326.2,332.7,338.4,339.6,342.7,348.5,352.7,360.8,366.6,369.5,370.5,371.8,375.6,379.3,375.6,380.2,389.2,392.5,398.8,401.7,410.2,413.4,417.7,426.9,435.4,440.5,449.6,457.5,466.7,477.5,489.1,493.4,496.6,503.0,507.4,502.9,508.9,509.6,512.6,514.7,517.8,523.9,523.4,526.3,525.8,528.4,533.1,540.5,545.1,557.6,566.9,577.0,585.9,591.5,595.8,598.2,602.8,598.4,600.0,603.4,603.3,603.7,608.4,614.6,620.5,618.9,628.2,632.8,646.9,653.7,661.4,666.0,673.2,683.9,691.8,700.9,709.2,710.4,717.0,720.2,726.4,728.5,737.0,740.9,752.2
auto
分析步骤
步骤 1:看原序列的 ACF 与 PACF 判断平稳性
切到「手动定阶」模式可查看 ACF / PACF 图。本例原序列的 ACF 在滞后 1 处为 0.973,之后按 0.946、0.919、0.893 缓慢衰减,远超白噪声界 ±1.96/√120 = ±0.179——这是非平稳序列的典型特征。PACF 在滞后 1 后截尾(滞后 2、3 分别为 −0.007、−0.013,都在界内),提示一阶差分后适合 ARMA 结构。
提示:ACF 缓慢衰减 = 需要差分;PACF 在滞后 p 后截尾 = AR(p);ACF 在滞后 q 后截尾 = MA(q)。
步骤 2:用 AIC 确定差分阶 d
「自动定阶」模式会分别在 d = 0 与 d = 1(可配置到 2)下搜索最优 (p, q),并报告每个 d 的最小 AIC。本例 d = 0 的最优 AIC 为 754.33(ARIMA(1,0,1) 含常数项),d = 1 的最优 AIC 为 641.88(ARIMA(1,1,1) 无常数项),相差 112.45,远大于经验阈值 2,因此取 d = 1。
步骤 3:在同一 d 内比较 AIC 选出 (p, q)
自动定阶共比较了 8 个候选模型,最终选中 ARIMA(1,1,1)、不含常数项:AIC = 641.88, BIC = 650.22,对数似然 −317.94,σ² = 12.0698,有效观测 119(差分损失 1 期)。估计得到 ar.L1 = 0.980(SE 0.019)、ma.L1 = −0.647(SE 0.088),模型同时满足平稳性与可逆性。
提示:AIC 相差小于 2 的模型难以区分,此时应优先选阶数更低的那个(简约原则)。
步骤 4:做残差白噪声检验(Ljung-Box)
模型合格的标志是残差不再有自相关。本例 Ljung-Box Q(10) = 14.39, df = 8, p = .072;Q(5) = 4.00, df = 3, p = .262。注意 df = 滞后阶数 − 已估计的 p + q,这里的原假设是「残差为白噪声」,所以 p 值大才是好结果,方向与常规显著性检验相反。
步骤 5:查看预测值与区间宽度
切到「自动定阶」模式可得到 12 期预测。第 1 期预测 759.09(SE 3.47, 95% CI [752.28, 765.90]),第 4 期 778.96(SE 10.68, 95% CI [758.03, 799.90]),第 12 期 826.54(SE 35.04, 95% CI [757.87, 895.21])。区间半宽从 ±6.8 扩张到 ±68.7,说明长期预测的不确定性迅速累积。
结果解读
结论
自动定阶在 8 个候选模型中选中 ARIMA(1,1,1)(无常数项),AIC = 641.88, BIC = 650.22,明显优于 d = 0 下的最优模型(AIC = 754.33),因此序列需要一阶差分。参数估计为 ar.L1 = 0.980(SE 0.019)、ma.L1 = −0.647(SE 0.088),残差方差 σ² = 12.07(单期标准误约 3.47),模型满足平稳性与可逆性,迭代收敛且无警告。残差 Ljung-Box 检验 Q(10) = 14.39, df = 8, p = .072,Q(5) = 4.00, df = 3, p = .262,在 α = 0.05 下均未拒绝「残差为白噪声」的原假设,说明序列中可预测的结构已被模型充分提取。未来 12 期点预测从 759.09 递增到 826.54,95% 预测区间由 [752.28, 765.90] 扩张到 [757.87, 895.21]。
为什么这样解读?
第一,Ljung-Box 的 p 值方向与常规检验相反:这里 p = .072 是「好消息」,代表残差已无显著自相关、模型充分;如果 p < .05 反而说明残差里还有未被建模的结构,需要提高阶数。把它读成「模型显著」是最常见的误读。第二,AIC 只在同一差分阶 d 下可以直接比较,跨 d 比较需谨慎,因为差分改变了被建模的变量本身;本例 d = 0 与 d = 1 的 AIC 相差 112,量级足够大,判断是安全的。第三,ar.L1 = 0.980 非常接近 1,说明即使差分之后序列仍高度持续,冲击会长期留存,这也是为什么预测值持续爬升而不是迅速回归到均值。第四,d = 1 时选择「无常数项」很重要:差分模型中带常数项等价于假设原序列存在确定性线性趋势,会把预测变成一条直线外推,容易高估长期增长。第五,√σ² = 3.47 相当于序列末值 752.2 的约 0.46%,是单期预测误差的量级;到第 12 期标准误已增至 35.04(约末值的 4.7%),因此长期预测应报告区间而不是只给点估计,实际排产也不宜只依赖 12 期之外的数值。
如何在论文中报告
对 120 期销量序列建立 ARIMA 模型。原序列 ACF 在滞后 1 处为 0.973 且缓慢衰减,PACF 在滞后 1 后截尾,提示非平稳;自动定阶在 d = 0 与 d = 1 下共比较 8 个模型,d = 1 的最小 AIC(641.88)显著优于 d = 0(754.33),最终选定 ARIMA(1,1,1)(无常数项):ar.L1 = 0.98(SE = 0.02),ma.L1 = −0.65(SE = 0.09),σ² = 12.07,AIC = 641.88,BIC = 650.22。残差 Ljung-Box 检验 Q(10) = 14.39, df = 8, p = .072,未拒绝残差为白噪声的原假设,模型诊断通过。未来 12 期点预测为 759.09 至 826.54,95% 预测区间由 [752.28, 765.90] 扩张至 [757.87, 895.21],长期预测不确定性较大,建议结合留出期做滚动预测验证。
常见错误
对非平稳序列直接拟合 ARMA(不做差分)
原序列 ACF 缓慢衰减、均值随时间漂移时,未差分的 ARMA 会产生伪回归,参数与显著性检验都不可靠。应先看 ACF/PACF 或用 AIC 比较不同 d,确定差分阶数后再拟合。
把 Ljung-Box 的 p < 0.05 当成「模型显著、拟合好」
Ljung-Box 的原假设是「残差为白噪声」,p 大才说明模型合格。p < 0.05 表示残差仍有自相关,模型遗漏了可预测结构,应提高 p 或 q 阶数后重新检验。
跨差分阶直接比较 AIC 并据此选模型
不同 d 对应不同的因变量(原序列 vs 差分序列),AIC 的可比性有限。应先在每个 d 内部选最优 (p, q),再结合残差诊断与实际含义判断 d,差异很小时优先取更低的阶数。
只看样本内 AIC / 拟合优度,不做样本外验证
样本内拟合好不代表预测准。应留出最后若干期做验证集,做滚动(一次一步)预测并计算 MAPE 或 RMSE,与朴素预测(如随机游走)对比,才能说明模型确有预测价值。
把长期点预测当作确定值使用
预测区间随步长按平方根速度扩张,本例第 12 期区间宽度已达 137.3(第 1 期为 13.6)。长期决策必须使用区间并说明不确定性,不能只引用点估计。