Skip to content

时间序列与预测

时间序列是按时间顺序记录的观测值,例如销量、CPU 使用率、温度和价格。它与普通回归最大的区别是未来不可见,样本之间也不独立。

时间序列的组成

  • 趋势:长期上升或下降。
  • 季节性:按小时、天、周或年重复。
  • 周期:周期长度不完全固定的波动。
  • 事件影响:促销、节假日、故障、政策变化。
  • 噪声:无法由现有信息解释的变化。

预测任务要先定义时间

概念示例
预测频率每小时预测一次
预测范围 Horizon预测未来 24 小时
历史窗口使用过去 30 天数据
外生变量天气、价格、活动、节假日
结果粒度每个仓库、每个 SKU

短期和长期预测可能需要不同特征和模型,不能只改变输出长度。

数据切分

时间序列不能普通随机切分。训练集必须早于验证集,验证集必须早于测试集。更可靠的方法是滚动回测:在多个历史时点模拟当时能够看到的数据并预测未来。

常见方法

  • 朴素基线:上一时刻、上周同期、移动平均。
  • 统计模型:指数平滑、ARIMA。
  • 机器学习:用滞后值、滚动统计和日历特征训练树模型。
  • 深度学习:RNN、TCN、Transformer 类时序模型。

复杂模型必须与季节性朴素基线比较。很多稳定业务中,简单基线已经很强。

评估

MAE、RMSE、WAPE 等指标应按预测范围、业务单位和重要分组拆分。还要评估预测区间,而不只给一个点估计。

库存场景中,高估导致积压,低估导致缺货,二者成本不同。可以使用非对称损失或在决策层显式建模成本。

常见陷阱

  • 使用未来才能确定的促销结果作为输入。
  • 只在一个时间区间测试。
  • 忽略新品、缺货和数据补录。
  • 把缺货导致的低销量当作真实需求低。
  • 总体预测准确,但关键商品误差很大。

从预测到决策

预测模型只输出未来估计,补货、扩容和排班还需要库存、提前期、服务水平和资源限制。生产系统应把“预测”和“优化决策”分开评估。

别急,先让缓存热一下。