预测模型的推理和评估(预览)

重要

此功能目前处于公开预览状态。 此预览版在提供时没有附带服务级别协议,我们不建议将其用于生产工作负荷。 某些功能可能不受支持或者受限。

有关详细信息,请参阅适用于 Azure 预览版的补充使用条款

本文介绍与预测任务中的模型推理和评估相关的概念。 有关在 AutoML 中训练预测模型的说明和示例,请参阅为时序预测设置 AutoML 一文。

使用自动化机器学习训练和选择最佳模型后,下一步是生成预测,然后,如果可能,在训练数据保持的测试集上评估其准确性。 若要了解如何在自动化机器学习中设置和运行预测模型评估,请参阅有关推理和评估组件的指南。

推理方案

在机器学习中,推理是为训练中不使用的新数据生成模型预测的过程。 由于数据依赖于时间,可通过多种方式在预测中生成预测。 最简单的方案是,推理周期紧跟训练周期,并生成预测范围。 下图演示了此方案:

Diagram demonstrating a forecast immediately following the training period.

此图显示了两个重要的推理参数:

  • 上下文长度,或模型进行预测所需的历史记录量,
  • 预测范围,即训练预测程序进行预测的时间提前多远。

预测模型通常使用一些历史信息(上下文)来提前预测到预测范围。 当上下文是训练数据的一部分时,自动化机器学习会保存进行预测所需的内容,因此无需显式提供它。

还有两种更复杂的推理方案:

  • 生成比预测范围更远的未来预测,
  • 在训练和推理周期之间存在差距时获取预测。

我们将在以下子部分中查看这些案例。

预测超出预测范围:递归预测

当需要预测超出范围时,自动化机器学习在推理周期内以递归方式应用模型。 这意味着,模型中的预测将作为输入反馈,以便为后续预测窗口生成预测。 下面的图表显示了一个简单的示例:

Diagram demonstrating a recursive forecast on a test set.

在这里,我们使用一个窗口中的预测作为下一个窗口的上下文,在三倍于范围长度的时间段上生成预测。

警告

递归预测会混合建模错误,因此预测离原始预测范围越远,预测的准确性就越低。 在本例中,可以通过重新训练更长的范围来找到更准确的模型。

训练和推理周期之间存在差距的预测

假设你过去训练了一个模型,并且想要使用它根据训练期间尚不可用的新观察值进行预测。 在这种情况下,训练和推理周期之间存在时间差距:

Diagram demonstrating a forecast with a gap between the training and inference periods.

自动化机器学习支持此推理方案,但需要在差距周期内提供上下文数据,如图所示。 传递给推理组件的预测数据需要特征值、差距与缺失值中观察到的目标值,或者推理周期中目标的“NaN”值。 下表所示为此模式的示例:

Table showing an example of prediction data when there's a gap between the training and inference periods.

此处,目标和特征的已知值针对 2023-05-01 到 2023-05-03 提供。 缺少从 2023-05-04 开始的目标值表示推理周期从该日期开始。

自动化机器学习使用新的上下文数据来更新延迟和其他回溯功能,以及更新保持内部状态的 ARIMA 等模型。 此操作不会更新或重新拟合模型参数。

模型评估

评估是基于训练数据对测试集生成预测,并从这些预测中计算指标来指导模型部署决策的过程。 因此,有一种特别适用于模型评估的推理模式 - 滚动预测。 我们将在以下子部分中查看它。

滚动预测

评估预测模型的最佳实践过程是让经过训练的预测程序在测试集上按时间向前滚动,计算多个预测窗口上的误差指标平均值。 此过程有时称为回溯,具体取决于上下文。 理想情况下,用于评估的测试集相对于模型的预测范围较长。 否则,预测误差的估计可能在统计上是有干扰的,因此可靠性较低。

下图显示了一个包含三个预测窗口的简单示例:

Diagram demonstrating a rolling forecast on a test set.

此图演示了三个滚动评估参数:

  • 上下文长度,或模型进行预测所需的历史记录量,
  • 预测范围,即训练预测程序进行预测的时间提前多远,
  • 步长大小,即在测试集上每次迭代时滚动窗口向前推进的时间提前多远。

重要的是,上下文随预测窗口一起前进。 这意味着测试集中的实际值用于在当前上下文窗口中进行预测。 用于给定预测窗口的实际值的最新日期称为窗口的起始时间。 下表显示了三窗口滚动预测的示例输出,范围为三天,步长为一天:

Example output table from a rolling forecast.

通过这样的表,我们可以可视化预测与实际值并计算所需的评估指标。 自动化机器学习管道可以的对具有推理组件测试集生成滚动预测。

注意

当测试周期的长度与预测范围相同时,滚动预测会提供一个直到范围的预测窗口。

评估指标

评估摘要或指标的选择通常由特定业务方案驱动。 一些常见选择包括以下这些:

  • 观察到的目标值与预测值的绘图,以检查模型所捕获数据的某些动态,
  • 实际值和预测值之间的 MAPE(平均绝对百分比误差),
  • 实际值与预测值之间的 RMSE(均方根误差),可能具有归一化,
  • 实际值与预测值之间的 MAE(平均绝对误差),可能具有归一化。

还有许多其他可能性,具体取决于业务方案。 可能需要创建自己的后处理实用工具,以便从推理结果或滚动预测计算评估指标。 有关指标的详细信息,请参阅回归和预测指标一文的相关部分。

后续步骤