更新数据 - Amazon Forecast

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更新数据

在收集新数据时,您需要将该数据导入 Forecast。为此,您有两种选择:替换更新和增量更新。替换数据集导入作业将使用新导入的数据覆盖所有现有数据。增量更新会将新导入的数据追加到数据集中。

导入新数据后,您可以使用现有的预测器为该数据生成预测。

导入模式

要配置 Amazon Forecast 如何向现有数据集添加新数据,请为数据集导入作业指定导入模式。默认导入模式为 FULL。您只能使用 Amazon Forecast API 配置导入模式。

  • 要覆盖数据集中的所有现有数据,请在 CreateDatasetImportJob API 操作中指定 FULL

  • 要将记录追加到数据集中的现有数据中,请在 CreateDatasetImportJob API 操作中指定 INCREMENTAL。如果现有记录和导入的记录具有相同的时间序列 ID(项目 ID、维度和时间戳),则将现有记录替换为新导入的记录。Amazon Forecast 始终使用带有最新时间戳的记录。

如果您尚未导入数据集,则增量选项不可用。默认的导入模式是完整替换。

增量导入模式指南

执行增量数据集导入时,不能更改时间戳格式、数据格式或地理位置数据。要更改其中任何项目,您需要执行完整的数据集导入。

更新现有数据集

重要

默认情况下,数据集导入作业会替换您导入到的数据集中的任何现有数据。您可以通过指定数据集导入作业的导入模式来更改此设置。

要更新数据集,请为该数据集创建数据集导入作业并指定导入模式。

CLI

要更新数据集,使用 create-dataset-import-job 命令。对于 import-mode,请指定 FULL 以替换现有数据,或者指定 INCREMENTAL 以向其中添加数据。有关更多信息,请参阅 导入模式

以下代码演示如何创建以增量方式将新数据导入数据集的数据集导入作业。

aws forecast create-dataset-import-job \ --dataset-import-job-name dataset import job name \ --dataset-arn dataset arn \ --data-source "S3Config":{"KMSKeyArn":"string", "Path":"string", "RoleArn":"string"} \ --import-mode INCREMENTAL
Python

要更新数据集,请使用 create_dataset_import_job 方法。对于 import-mode,请指定 FULL 以替换现有数据,或者指定 INCREMENTAL 以向其中添加数据。有关更多信息,请参阅 导入模式

import boto3 forecast = boto3.client('forecast') response = forecast.create_dataset_import_job( datasetImportJobName = 'YourImportJob', datasetArn = 'dataset_arn', dataSource = {"S3Config":{"KMSKeyArn":"string", "Path":"string", "RoleArn":"string"}}, importMode = 'INCREMENTAL' )

更新预测

收集新数据时,可能需要用新数据来生成新的预测。导入更新的数据集时,Forecast 不会自动重新训练预测器,但您可以手动重新训练预测器,以便使用更新的数据生成新的预测。例如,如果您收集每日销售数据,并且希望在预测中包含新的数据点,则可以导入更新后的数据并使用该数据生成预测,而无需训练新的预测器。要使新导入的数据对预测产生影响,必须重新训练预测器。

要使用新数据生成预测,请执行以下操作:
  1. 将新数据上载到 Amazon S3 存储桶。您的新数据应仅包含自上次数据集导入以来添加的数据。

  2. 使用新数据创建增量数据集导入作业。新数据将追加到现有数据中,并根据更新的数据生成预测。如果您的新数据文件同时包含以前导入的数据和新数据,请创建完整数据集导入作业。

  3. 使用现有预测器创建新的预测。

  4. 像往常一样检索预测。