Amazon MLS-C01: 时间序列与预测 — 学习指南

属于 AWS Machine Learning Specialty MLS-C01 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.

算法选择及各种方法的适用场景

选择正确的预测模型始于对数据形态和目标的分析。当您拥有一个历史悠久、表现良好且具有可解释季节性项的单一序列时,ARIMA/SARIMA 等经典的单变量方法仍然是正确的选择;您可以使用 statsmodels 在 SageMaker 训练脚本中实现这些方法,或在 SageMaker Studio 中进行交互式实验。当需要对业务驱动的假日效应和多重季节性(每日/每周/每年)进行显式建模和解释时,Prophet 风格的可分解模型非常有价值;这些模型通常在 notebook 中进行原型设计,并可在 SageMaker 中投入生产。对于大规模的概率性、多序列预测,请使用 DeepAR(SageMaker 内置算法或 Amazon Forecast 的 DeepAR+),它能跨相关的时间序列进行学习并生成分位数预测。重要的配置选项包括设置 time_freqprediction_lengthcontext_length(通常 context_length 应 >= prediction_length),选择合适的似然函数(studentT 用于重尾分布,negative-binomial 用于计数/间歇性需求),以及为协变量启用 use_feat_dynamic_realuse_feat_static_cat。当需要可解释性和单序列诊断时,应使用经典模型;当您有许多相关序列,并需要经过校准的概率性输出和内置的扩展能力时,应首选 DeepAR/Amazon Forecast。

数据准备:季节性、协变量和缺失值

好的预测需要仔细对齐时间戳、频率和协变量。务必将时间戳规范化为一致的时区和频率(为模型设置 time_freq)。通过添加假日指标和特殊事件特征作为静态或动态协变量,来捕捉已知的季节性和业务事件;将价格促销、新店开业或营销活动标志作为动态特征包含在内。必须审慎处理缺失值:对于较短的缺口,使用插值或前向/后向填充;对于较长的缺口,使用基于模型的方法进行插补,或者当算法支持缺失值时对其进行掩码处理(DeepAR 接受带掩码的动态特征)。对于包含大量零值或过度离散计数的间歇性需求,使用 negative-binomial 似然,尝试通过聚合(例如,按周)来减少稀疏性,或者在适用经典方法时应用基于 Croston 方法的预处理。避免在协变量中泄露未来信息——动态特征在预测范围内必须是已知的或可预测的。将元数据(item_idcategorystore_id)存储为静态分类特征,以便多序列模型能够在不同项目间共享信息强度。

评估:概率性指标、回测和校准

概率性预测需要不同于点预测的评估标准。使用分位数损失(pinball loss)和连续排序概率分数(CRPS)来评估分布质量,并报告关键分位数(例如 P50、P90)的覆盖率以验证区间校准。避免对包含零值或间歇性需求的序列仅依赖 MAPE;应使用平均绝对缩放误差(MASE)进行与尺度无关的比较,或使用加权分位数损失来优先考虑高收入的 SKU。实施带有多个回测窗口的滚动原点(时间序列)交叉验证,以捕捉时间上的不稳定性和季节性,确保每个窗口都遵循季节性周期,从而使验证集包含完整的季节性时段。通过预测区间命中率和类似 PIT 的直方图检查校准情况;如果区间过窄,可以考虑在 DeepAR 中增加 num_eval_samples 或调整似然假设。常见的陷阱包括:使用在推理时不可用的、未来已知的协变量,聚合操作消除了关键的季节性,以及在单个静态验证集上进行评估从而错过了模式变化。根据业务重要性而非简单平均值来聚合各序列的指标,以反映其对决策的影响。

扩展、部署模式与决策标准

将预测扩展到成千上万甚至数百万个序列,并将其部署到生产环境中,需要在架构上进行权衡。对于托管的、扩展优先的解决方案,Amazon Forecast 能够处理数据集组(目标时间序列、相关时间序列、物品元数据)、自动化特征工程、内置回测以及用于批量或可导出预测的弹性托管预测器;当您希望服务能处理大量序列而无需进行定制化模型训练时,它非常适用。对于自定义建模需求,可使用带有 DeepAR(或自定义 PyTorch/TF 模型)的 SageMaker,您可以控制超参数、似然选择和特征工程;在 GPU 实例上进行训练以提高速度,并使用 SageMaker 批量转换进行批量推理,或使用实时端点进行低延迟服务。为了在拥有多个模型版本时实现成本效益,可以考虑使用多模型端点或由 S3 事件或 Step Functions 触发的异步批量管道。决策标准包括:您是否需要自定义架构(选择 SageMaker),是否需要在最少运维工作的情况下进行跨序列学习(选择 Forecast),以及是否需要低延迟的单序列预测(首选 SageMaker 实时端点)。常见陷阱:context_length 配置不足、分位数输出配置错误,以及未按业务影响对评估进行加权。

实践问题:用例场景

场景: Acme Retail 运营着 5,000 家商店,并在 Amazon S3 中维护每日销售和促销日志。他们使用 SageMaker Studio 进行数据科学工作,并需要可扩展的生产预测来驱动库存和促销决策。

挑战: 为每个 SKU-商店对生成经过校准的、为期 30 天的概率性需求预测,这些预测需要考虑节假日和促销活动,处理许多 SKU 的间歇性零销售问题,并能扩展到夜间的批量生产。

推荐方法:

  1. 配置数据管道:将每日销售和促销数据摄取到 S3,使用 AWS Glue 进行编目并通过 Athena 暴露;创建包含 timestamp、item_id、store_id、target_value 和动态特征的数据集文件。
  2. 在 SageMaker Studio 中构建模型原型:对几个有代表性的 SKU 尝试 Prophet 风格的分解,然后训练 SageMaker DeepAR(设置 time_freq='D', prediction_length=30, context_length=30–90,针对计数值使用 likelihood='negative-binomial'num_eval_samples=100)。
  3. 针对扩展和生产:在 SageMaker 中安排夜间批量训练或增量再训练(如果偏好托管式预测,也可选择使用带有数据集组和预测器的 Amazon Forecast),并使用 SageMaker 批量转换或 Forecast 批量导出进行夜间批量推理。
  4. 使用滚动原点回测,通过分位数损失和覆盖率指标(P50/P90)进行评估,并监控实时校准;如果预测区间覆盖不足,则调整似然函数或增加 num_eval_samples

基本原理: 使用 Glue/Athena 和 S3 可以标准化数据访问;DeepAR(或 Forecast)原生支持对多个相关序列建模,并能生成库存决策所需的分位数;负二项分布可以处理间歇性计数值;批量转换则实现了经济高效的夜间扩展。


自然语言处理与语音 · 所有领域 · 训练、分布式训练与超参数优化

练习这些题目 → · 在 ExamRoll.io 上限时练习 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通过考试 →

浏览 Amazon →

Related guides

一体化访问

一次订阅。所有考试。

所有计划均可无限制搜索答案、进行模拟测试、获取AI解释以及访问完整的资源库 — 支持20多种语言。

每月
24.87
Just €0.83/day
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

最具价值
12个月
179.87
Just €0.49/daySave 40%
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

✓ 包含免费计划 · ✓ 随时取消 · ✓ 所有计划均解锁完整产品