跳到主要内容 跳到补充内容

创建时间感知模型

通过时间感知训练,您可以构建模型,这些模型能够沿着训练数据中存在的基于时间的列预测数据。如果您需要对已知受此基于时间的列影响的目标进行预测,请激活时间感知训练。

时间感知训练通过对训练数据应用专门的数据处理来帮助减少数据泄露。这种处理允许机器学习算法更好地解释数据和预测上下文,因为它们取决于特定的日期或时间维度。

为了训练时间感知模型,您需要在训练数据集中有一列包含日期或时间戳数据。此列为日期索引,用于在训练前对数据集进行排序。关于日期索引的更多信息,请参阅日期索引要求

适用场景

时间感知模型训练非常适合预测训练中已经存在的时间指标变化的模型。例如:

  • 您想预测下个月的销售额,并且您的数据集中有一个 Transaction Date 列。

  • 您想预测延迟发货的指标,并且您的数据集中有一个 Delivered Date 列。

注意事项

根据您的用例,时间感知模型训练可以帮助您构建更好的模型。在其他情况下,使用 AutoML 提供的默认训练过程,您可能会看到更好的结果。通常,如果您的数据在很大程度上依赖于特定的基于时间的列,建议您使用时间感知模型训练。

Qlik AutoML 中,时间感知训练不执行自动特性设计来为时间序列问题生成滞后特性。对于需要特性设计的基于时间的用例,建议您在数据集准备阶段执行任何所需的特性设计。

时间感知训练的工作方式如何?

机器学习中的一个常见问题是找到一种方法来确保模型只在训练时可用的信息上进行训练。如果您的训练数据包含明确的日期和时间信息,这些信息可用于帮助防止数据泄露。

日期索引要求

要激活时间感知训练,您需要在数据集中有一列,其中包含模型训练所依赖的日期和时间信息。在为训练配置模型优化时,您可以选择该列。

要将列用作培训中的日期索引,该列必须具有以下所有内容:

  • 完整日期。例如,不能使用由月份或天值组成的列。

  • 日期或时间戳数据类型。

  • 日期特性类型。

保留和交叉验证

在选择如何分离数据以进行保留和交叉验证过程时,随机选择方法可以将未来的数据引入模型训练中。当您激活时间感知训练时,AutoML 会使用以下过程:

  • 在将训练数据集分为训练数据和保留数据之前,它会沿着所选的索引列进行排序。

  • 训练的每次迭代都使用固定的测试大小和逐渐增加的训练大小。随着每次迭代,数据变得越来越新。

有关完整详细信息,请参阅基于时间的交叉验证

其他处理

时间感知模型训练还使用与默认训练过程不同的其他过程。例如,时间感知训练使用修改后的 null 值插补过程。有关更多信息,请参阅无效的插补

开启时间感知训练

对于在实验中运行的每个版本,可以打开或关闭或重新配置时间感知模型训练。

  1. 在实验中,单击 模式 视图配置

  2. 如果您已经运行了至少一个版本的实验,请单击新建版本

  3. 在面板中,展开模型优化

  4. 基于时间的测试训练分割下,选择用于对数据进行排序的日期索引

您可以在模型细化过程中更改时间感知训练。例如,您可以关闭该设置,或选择一个新列作为日期索引。有关更多信息,请参阅优化模型

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!