门店要备下周的库存,手上只有过去两年的周销量,没有促销日历,也没有天气数据。问 AI 该用什么模型,答案里常出现 ARIMA:它只用一个变量自己的历史,把趋势和短期波动拆开,给出一个带区间的预测。名字看起来唬人,拆开就是三种手法叠加。
三个字母,三种修补
AR 修「数值之间的惯性」,I 修「水平在漂」,MA 修「误差有惯性」。三者能组合的前提是差分后的序列近似平稳——均值和方差不随时间明显变化。这条前提决定了 d 取几,也决定了模型什么时候会崩。
理解它的捷径是先看一个反例:一条一路上升的销量曲线,直接套 AR 会得到一个偏小的系数,因为模型假设长期均值固定,而实际均值一直在移动。差分的意义就是把「水平」换成「变化量」,让均值重新变成常数。
三种手法各自在修什么
| 成分 | 作用对象 | 参数 | 定阶线索 | 典型失效 |
|---|---|---|---|---|
| AR 自回归 | 过去的观测值 | p | 偏自相关 PACF 在 p 阶后截尾 | 趋势未差分,系数被系统性压低 |
| I 差分 | 序列的水平漂移 | d | ADF 或 KPSS 检验,差分后看图 | 过度差分放大噪声,引入负相关 |
| MA 移动平均 | 过去的预测误差 | q | 自相关 ACF 在 q 阶后截尾 | 误差不可观测,异常值会污染后续多步 |
三条定阶线索都只是初判。PACF 和 ACF 的截尾在真实数据上常常糊成一片,最终还是要用验证集上的预测误差说话。
差分不是装饰,是让统计量有意义
ARMA 的系数估计和置信区间都建立在平稳假设上。序列有趋势时,历史均值没有意义,残差也不服从假设的分布,估出来的区间偏窄,看起来精确,实际不可信。
一阶差分把「本周销量」换成「比上周多了多少」,趋势通常就消失了;有固定周期的数据要做季节差分,滞后一个周期,这就是 SARIMA 里的 S。差分次数不是越多越好:每差一次少一个样本,还会把噪声放大。d 通常取 0 到 2,超过 2 要回头检查是不是有结构突变。
定阶:看图、比准则、看验证误差
三步交叉着来。ACF 与 PACF 给出候选范围;AIC 或 BIC 在候选组合里比较,BIC 对参数个数惩罚更重,倾向更简单的模型;最后用滚动验证的误差定夺。只靠信息准则,容易选出样本内漂亮、样本外一般的模型。
定完还要查残差。残差应接近白噪声,如果 Ljung-Box 检验显著,说明还有结构没被吃掉,模型欠拟合;反过来,残差自相关明显为负,往往提示差分过度。这一步比看拟合优度有用得多。
单变量线性,是它的天花板
它看不到外部因素。促销、竞品降价、政策变化都不在模型里;要纳入得用 ARIMAX,或者先做回归再对残差建模,而且外生变量的未来值本身还得能预测,否则多步预测仍然落空。
它也是线性叠加的结构。乘法型季节、阈值效应、变量之间的交互,它刻画不了。平稳假设更脆弱:渠道切换、改价、突发事件都会让历史规律失效,模型不会自己报警,只会继续按旧参数外推,这一点和数据漂移里描述的情形一致。
预测区间随步长迅速变宽,多步之后基本退化成均值附近的一条带,实用价值有限。它对缺失值和异常值也敏感,一个录错的点会影响后面 q 步。序列太短时参数估不准,几十个点拟合三个参数,结果基本不能信。
它今天的位置:基准线
在有大量特征、非线性关系明显的场景,梯度提升和序列神经网络通常更好。但 ARIMA 训练快、参数少、每一步都能解释,作为基准线非常合适:新模型如果打不过它,说明新增的复杂度没有换来信息。
序列规律强、样本短、需要向人解释「为什么这么预测」时,它仍然是一线选择。稳妥的路径是先跑通 ARIMA 拿到基线误差,再决定要不要上更复杂的模型,评估口径可参考交叉验证里的时间切分方式,序列本身的结构可对照时间序列的拆解。
速查:ARIMA 上手四查
- 差分后序列平稳了吗,d 是否过度
- PACF 与 ACF 给出的 p、q 候选有多大
- 残差还是白噪声吗,Ljung-Box 过不过
- 滚动验证的误差比基线好多少


