通过 Amazon Forecast 实现需求预测 - 时间序列数据的导入与预测精度提升

介绍通过 Forecast 构建时间序列预测模型、利用相关数据以及导出预测结果的方法。

需求预测的挑战与 Forecast 的定位

需求预测是零售、物流、制造、能源等众多行业的重要课题。传统统计方法 (移动平均、指数平滑、ARIMA) 实现较为容易,但在捕捉季节性、趋势、外部因素影响等复杂模式方面存在局限。深度学习方法 (DeepAR、Transformer) 精度高,但需要 ML 专业知识和模型调优。Amazon Forecast 是只需导入时间序列数据,AutoML 即可自动选择最优算法并生成高精度预测的托管服务。利用与 Amazon.com 需求预测相同的 ML 算法,无需 ML 专业知识即可实现高精度需求预测。通过概率预测提供 P10、P50、P90 的预测区间,通过不确定性量化支持风险感知的决策。需要注意的是,Amazon Forecast 已于 2024 年 7 月 29 日停止接受新用户 (现有用户可继续使用),今后新启动需求预测项目时,官方承接方案是 SageMaker Canvas 的时间序列预测功能。

数据准备与模型构建

Forecast 的使用从向数据集组 (Dataset Group) 导入数据开始。目标时间序列 (必需) 是预测对象数据,由时间戳、商品 ID、值 (销售量、需求量) 三列构成。相关时间序列 (可选) 包含天气数据、促销信息、价格变更等外部因素。商品元数据 (可选) 包含类别、品牌、颜色等商品属性,用于类似商品间的模式共享。数据以 CSV 格式放置在 S3 中,通过模式定义 (JSON) 指定各列的属性类型和数据类型。时间戳粒度 (1 分钟/5 分钟/15 分钟/1 小时/1 天/1 周/1 月/1 年) 根据业务需求设置,需与预测范围单位一致。AutoML 使用 DeepAR+、Prophet、ETS、NPTS、ARIMA、CNN-QR 这 6 种算法构建模型,通过回测自动选择精度最高的模型。

概率预测与 What-If 分析

Forecast 不仅提供点预测 (单一预测值),还提供概率预测 (包含预测不确定性)。以三个分位点生成预测: P10 (需求低于该值的概率为 10%)、P50 (中位数)、P90 (需求低于该值的概率为 90%)。库存管理中可用 P50 确定常规订货量,用 P90 设定安全库存。不允许缺货的商品使用 P90 基准订货,希望最小化库存成本的商品使用 P50 基准订货,支持根据业务需求的差异化决策。What-If 分析可生成如「下月实施促销时的需求」「价格降低 10% 时的需求」等场景预测。可并行评估修改相关时间序列值的多个场景,事前定量评估施策效果。 Forecast 的实践方法可参考Amazon 的相关书籍

预测精度提升

Forecast 的预测精度很大程度上取决于输入数据的质量和相关数据的丰富程度。添加相关时间序列数据 (天气、节假日、促销) 后,模型可学习外部因素导致的需求波动,从而提升精度。Forecast 内置假日信息 (Holidays 特征化),只需指定国家代码即可自动考虑主要假日的影响。商品元数据 (类别、品牌、价格区间) 对缓解冷启动问题 (新商品的预测) 有效,可从类似商品的实绩推测新商品的需求模式。Predictor 的回测结果提供 WAPE (加权绝对百分比误差)、RMSE (均方根误差)、MAPE (平均绝对百分比误差) 等精度指标,可定量评估模型质量。精度不足时,可通过添加相关时间序列、数据预处理 (缺失值填补、异常值去除) 或更改预测频率来改善。

用例与行业应用

Forecast 广泛应用于零售、制造、物流、能源等行业。零售业通过 SKU 级别的需求预测优化库存配置,同时减少过剩库存和缺货。制造业通过原材料订货量预测制定考虑采购提前期的采购计划,为供应链整体成本优化做出贡献。物流业通过工人班次需求预测优化人员配置,防止旺季人手不足和淡季人员过剩。能源行业通过电力消费量预测支持发电计划和应对可再生能源出力波动的电网管理。Web 服务中也可应用于服务器容量规划,基于流量预测优化自动扩缩配置。

定价与限制注意事项

费用由预测每 1,000 个 0.60 美元、训练每小时 0.24 美元、数据存储每 GB 每月 0.088 美元构成(截至 2026 年 8 月)。每月为 1,000 个商品生成月度需求预测时,月费约数美元起。AutoML 训练多个模型,因此训练成本高于手动指定算法的情况。预测精度足够时,将训练频率从每周改为每月可降低成本。与使用 SageMaker 构建自定义预测模型相比,Forecast 可大幅减少开发工时和基础设施管理负担。限制方面,每个账户的数据集组数限制为 500 个,每个区域的 Predictor 数限制为 500 个。数据集导入大小上限为 10 GB,预测范围取决于数据粒度,最大 500 个时间步。大型数据集 (数百万行) 的训练时间可能需要数小时,因此运营计划应留有余裕。

总结

Forecast 是从时间序列数据自动构建 ML 模型并提供需求预测的托管服务。通过 ML 克服传统统计方法的局限,AutoML 从 6 种算法中自动选择最优模型。添加相关时间序列数据和内置假日信息提升预测精度,通过概率预测提供 P10/P50/P90 的预测区间。What-If 分析支持基于场景的决策,从零售库存优化到制造采购计划、能源电网管理广泛应用于各行业。如果积累了 1 年以上的历史销售数据,建议使用 Forecast 验证预测精度。