主页 模型库 竞赛 学习中心 工具箱 论文库 前沿 建模空间 AI建模
学习中心 探索专题 时间序列 经典预测模型

本页实验台

  1. 指数平滑
  2. Holt-Winters
  3. ARIMA
  4. 预测区间
LAB 01

指数平滑

α 一调,预测在「跟随最新值」与「记住长期水平」之间移动

训练区间的平均绝对误差—
误差最小的 α—
权重衰减到一半需要几期—
预测值—
简单指数平滑的预测值是全部历史的加权平均,权重按 α(1−α)^k 指数衰减。右下那张图画的就是这组权重。α = 0.3 时,最近一期占 30%,往前一期占 21%,大约 2 期之后权重就掉到一半——它其实只"记得"最近几期。α = 0.05 时半衰期变成 13 期多,预测线几乎是一条水平线。选"中途水平跳变"这组数据,把 α 在 0.05 和 0.6 之间来回拖。α 小的时候,跳变之后要好久才追上去;α 大的时候追得快,但平时也跟着噪声上下抖。这就是所有平滑参数的本质取舍:追得快 vs 抗噪好,二者不可兼得。最后注意一件事:简单指数平滑的多步预测是一条水平直线。它没有趋势项,所以对有趋势的数据一定会系统性地低估或高估——选"有趋势"那组数据看看,这就是下一个实验台要加趋势项的原因。
LAB 02

Holt-Winters

趋势项与季节项的加入过程,三个平滑参数各管什么

测试区间的平均绝对误差—
三种模型的测试 MAE—
最后的水平 / 趋势—
季节朴素法的 MAE—
三个模型是层层叠加的:SES 只有水平,Holt 加趋势,Holt-Winters 再加季节。在这组有趋势有季节的数据上,读数里三个 MAE 会差出好几倍——缺一个成分,预测就会在那个成分上系统性地错。这不是参数调不好,是模型里没有那一项。三个平滑参数各管一件事:α 管水平更新的快慢,β 管趋势的更新,γ 管季节形状的更新。把 β 调到 0:趋势被冻在初始估计上,预测会慢慢偏离。把 β 调大:趋势跟着最近的波动乱变,长期预测会飞出去——这是 Holt 类方法最常见的事故,所以实践中常用"阻尼趋势"(damped trend)把远期的趋势按比例衰减。最后一定要看那个"季节朴素法"的读数:它只是"照抄去年同期",什么都没学。你的模型如果赢不了它,那它就没有存在价值。
LAB 03

ARIMA

手动定阶与信息准则自动定阶的结果对比

估计出的系数—
真实系数—
AIC / BIC 各自选出的阶数—
当前 p 的 AIC / BIC—
信息准则做的事很简单:在"拟合得好"和"参数少"之间定一个兑换率。AIC 每多一个参数罚 2,BIC 罚 ln(n)。样本量 250 时 ln(n) ≈ 5.5,所以 BIC 比 AIC 保守得多,倾向于选更小的模型。在这个实验台默认的几组数据上,AIC 和 BIC 对 AR(1)、AR(2)、AR(4) 都选中了正确阶数——数据干净、样本够长的时候,两者通常一致。差别要在样本短或信噪比低的时候才显出来:把噪声调大、样本长度调到 60,两条曲线都会变平,最低点开始左右漂移,这时"最优阶数"本身就带着相当大的不确定性。理论上 BIC 有相合性(n 足够大时选中真模型的概率趋于 1),而 AIC 的过选概率是一个不随 n 消失的常数——但两者的目标本来就不同:BIC 想选中真模型,AIC 想让预测误差最小。如果真模型根本不在候选集里(现实中几乎总是如此),AIC 常常更实用。还要注意:信息准则只能在同一份数据、同一个似然定义下比较。差分阶数不同的两个模型不能直接比 AIC,因为它们的因变量已经不是同一个东西了——这是 ARIMA 定阶时最常见的一个错误。
LAB 04

预测区间

为什么预测区间会随步长越张越开

第 1 步的区间宽度—
第 h 步的区间宽度—
两者之比 / 理论值 √(1+(h−1)α²)—
实测覆盖率 / 名义 95%—
预测区间为什么越走越宽?因为 h 步之后的误差是 h 个随机冲击累积起来的。对简单指数平滑(等价于 ARIMA(0,1,1)),h 步预测误差的方差是 σ²·[1 + (h−1)α²],α 越大,区间张开得越快——因为大 α 意味着模型更信新数据,也就更容易被新的冲击带偏。读数里的"两者之比"可以直接和这个公式对上:α = 0.1、h = 24 时是 1.109,α = 0.8 时是 3.965。(图上那条虚线是 √h,它对应 α = 1,也就是纯随机游走的情形。)最值得看的是覆盖率那一栏。这个实验台里的数据本身就是随机游走,理论上最合适的 α 是 1。你把 α 调到 0.1——公式照样算得对,区间照样画出来,但实测覆盖率只有 69%,而名义上是 95%。把 α 拉到 0.8,覆盖率回到 92%。区间的可信度取决于模型对不对,而不只取决于公式算得对不对。真实数据上情况只会更糟:区间通常只算了随机误差,没算参数估计误差、模型选错的误差、以及结构变化的可能。所以有一条很实在的经验:把你算出来的预测区间再放宽一点,它几乎肯定是偏窄的。

这一页想说的

经典预测模型的价值在于它们便宜、稳定、可解释,而且是不可绕过的基准。在很多真实业务序列上,调好的 Holt-Winters 或者 auto-ARIMA 打得过相当一部分深度学习模型,M 系列预测竞赛反复验证过这一点。所以流程上的建议是固定的:先跑朴素法和季节朴素法拿到底线,再跑指数平滑和 ARIMA,只有当它们明显不够用的时候,才去考虑更复杂的模型。每一步都要用滚动预测评估,而不是看训练集拟合。

接着看

← 返回模块 ← 返回探索专题