Appearance
时间序列与预测
时间序列是按时间顺序记录的观测值,例如销量、CPU 使用率、温度和价格。它与普通回归最大的区别是未来不可见,样本之间也不独立。
时间序列的组成
- 趋势:长期上升或下降。
- 季节性:按小时、天、周或年重复。
- 周期:周期长度不完全固定的波动。
- 事件影响:促销、节假日、故障、政策变化。
- 噪声:无法由现有信息解释的变化。
预测任务要先定义时间
| 概念 | 示例 |
|---|---|
| 预测频率 | 每小时预测一次 |
| 预测范围 Horizon | 预测未来 24 小时 |
| 历史窗口 | 使用过去 30 天数据 |
| 外生变量 | 天气、价格、活动、节假日 |
| 结果粒度 | 每个仓库、每个 SKU |
短期和长期预测可能需要不同特征和模型,不能只改变输出长度。
数据切分
时间序列不能普通随机切分。训练集必须早于验证集,验证集必须早于测试集。更可靠的方法是滚动回测:在多个历史时点模拟当时能够看到的数据并预测未来。
常见方法
- 朴素基线:上一时刻、上周同期、移动平均。
- 统计模型:指数平滑、ARIMA。
- 机器学习:用滞后值、滚动统计和日历特征训练树模型。
- 深度学习:RNN、TCN、Transformer 类时序模型。
复杂模型必须与季节性朴素基线比较。很多稳定业务中,简单基线已经很强。
评估
MAE、RMSE、WAPE 等指标应按预测范围、业务单位和重要分组拆分。还要评估预测区间,而不只给一个点估计。
库存场景中,高估导致积压,低估导致缺货,二者成本不同。可以使用非对称损失或在决策层显式建模成本。
常见陷阱
- 使用未来才能确定的促销结果作为输入。
- 只在一个时间区间测试。
- 忽略新品、缺货和数据补录。
- 把缺货导致的低销量当作真实需求低。
- 总体预测准确,但关键商品误差很大。
从预测到决策
预测模型只输出未来估计,补货、扩容和排班还需要库存、提前期、服务水平和资源限制。生产系统应把“预测”和“优化决策”分开评估。
