生成Fecast - Amazon Forecast

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

生成Fecast

创建Amazon Forecast 指标后,就可以创建预测了。默认情况下,预测包括对每个项目的预测 (item_id) 在用于训练预测变量的数据集组中。但是,您可以指定用于生成预测的项目子集。

创建Forecast Service (Amazon S3) 存储桶。

创建Forecast

您可以使用预测控制台创建Forecast,AWS CLI,或AWS软件开发工具包。您的预测变量的状态必须为处于活动状态然后才能生成预测。

Console

创建Forecast

  1. 登录AWS Management Console然后打开 Amazon Forecast 控制台https://console.aws.amazon.com/forecast/.

  2. From数据集组,选择您的数据集组。

  3. 在您的数据集群组上控制面板,下生成Fecast,选择创建Forecast. 这些区域有:创建Forecast随后会显示页面。

  4. 创建Forecast页面,对于FForecast t,为您的预测提供一个名称,然后选择要用于创建预测的预测变量。

  5. 对于Forecast,(可选)指定生成概率预测的分位数。默认分位数是您在创建预测变量时指定的分位数。

  6. (可选)选择以下单选按钮选定项目指定用于生成预测的时间序列的子集。

  7. (可选)为预测添加任何标签。有关更多信息,请参阅Amazon Forecast.

  8. 选择开始。这些区域有:Fecas随后会显示页面。

    这些区域有:状态列列出了您的预测状态。等待Amazon Forecast 完成创建预测。此过程可能需要几分钟或更长时间。创建预测后,状态将转换为处于活动状态.

    现在您的预测已创建,您可以导出该预测。请参阅 导出Forecast

CLI

要使用以下方法创建ForecastAWS CLI,使用create-forecast命令。提供Forecast Forecast 的名称 (ARN)。对于forecast-types,(可选)指定生成概率预测的分位数。默认值是您在创建预测变量时指定的分位数。(可选)为预测添加任何标签。有关更多信息,请参阅Amazon Forecast.

有关必需参数和可选参数的信息,请参阅CreateForecast.

aws forecast create-forecast \ --forecast-name forecast_name \ --forecast-types 0.1 0.5 0.9 \ --predictor-arn arn:aws:forecast:region:account_number:predictor/predictorName \ --tags Key=key1,Value=value1 Key=key2,Value=value2
Python

要使用适用于 SDK for Python (Boto3) 创建Forecastcreate_forecast方法。提供Forecast Forecast 的名称 (ARN)。对于ForecastTypes,(可选)指定生成概率预测的分位数。默认值是您在创建预测变量时指定的分位数。(可选)为预测添加任何标签。有关更多信息,请参阅Amazon Forecast.

有关必需参数和可选参数的信息,请参阅CreateForecast.

import boto3 forecast = boto3.client('forecast') create_forecast_response = forecast.create_forecast( ForecastName = "Forecast_Name", ForecastTypes = ["0.1", "0.5", "0.9"], # optional, the default types/quantiles are what you specified for the predictor PredictorArn = "arn:aws:forecast:region:accountNumber:predictor/predictorName", Tags = [ { "Key": "key1", "Value": "value1" }, { "Key": "key2", "Value": "value2" } ] ) forecast_arn = create_forecast_response['ForecastArn'] print(forecast_arn)

指定时间序列

注意

时间序列是数据集中项目 (item_id) 和所有维度的组合。

要指定时间序列列表,请将按时间序列的 item_id 和维度值标识时间序列的 CSV 文件上传到 S3 存储桶。您还必须在架构中定义时间序列的属性和属性类型。

例如,零售商可能想知道广告活动如何影响特定商品的销售(item_id) 在特定的商店位置 (store_location)。在此用例中,您需要指定由 item_id 和 store_location 组合的时间序列。

以下 CSV 文件选择以下五个时间序列:

  1. 商品编号:001,商店地点:Seattle

  2. 商品编号:001,商店地点:纽约

  3. 商品编号:002,商店地点:Seattle

  4. 商品编号:002,商店地点:纽约

  5. 商品编号:003,商店地点:丹佛

001, Seattle 001, New York 002, Seattle 002, New York 003, Denver

架构将第一列定义为item_id第二列为store_location.

对于您指定的任何不在输入数据集中的时间序列,都将跳过Forecast 创建。预测导出文件将不包含这些时间序列或其预测值。

导出Forecast

创建Forecast Forecast Forecast Amazon S3 存储桶。导出预测会将预测作为 CSV 文件(默认)复制到您的 Amazon S3 存储桶,导出的数据除了项目预测之外还包括任何项目元数据集的所有属性。您可以在导出预测时指定 Parquet 文件格式。

导出的预测(例如每小时、每天或每周)的粒度是您在创建预测变量时指定的预测频率。您也可以指定AWS Key Management Service密钥,用于在数据写入存储桶之前对其进行加密。

注意

导出文件可以直接从数据集导入中返回信息。如果导入的数据包含公式或命令,这会使文件容易受到 CSV 注入的影响。因此,导出的文件可能会提示安全警告。为避免恶意活动,请在读取导出的文件时禁用链接和宏。

Console

导出预测

  1. 在导航窗格中,在您的数据集组下,选择 Forecasts (预测)

  2. 选择预测的单选按钮,然后选择创建Forecast. 此时将显示 Create forecast export (创建预测导出) 页面。

  3. Create forecast export (创建预测导出) 页面上,对于 Export details (导出详细信息),提供以下信息。

    • 导出导出名称— 输入Forecast 导出Forecast 任务的名称。

    • 生成Fecast— 从下拉菜单中,选择您在中创建的ForecastStep 3: Create a Forecast.

    • IAM 角色— 要么保留默认值输入自定义 IAM 角色 ARN或者选择创建一个新角色让 Amazon Forecast 为您创建角色。

    • 自定义 IAM 角色 ARN— 如果您要输入自定义 IAM 角色,请输入您在中创建的 IAM 角色的 Amazon 资源名称 (ARN)为Amazon Forecast 创建 IAM 角色(IAM 控制台).

    • KMS 密钥 ARN— 如果您使用AWS Key Management Service对于存储桶加密,请提供的 Amazon 资源名称 (ARN)AWS KMS钥匙。

    • S3 预测导出地点— 使用以下格式在存储桶中您的 Amazon Service (Amazon S3) 存储桶或文件夹的位置:

      s3://<name of your S3 bucket>/<folder path>/

  4. 选择 Create forecast export (创建预测导出)。此时会显示 my_forecast 页面。

    等待Amazon Forecast 完成导出预测。此过程可能需要几分钟或更长时间。导出预测后,状态将转换为处于活动状态您可以在 Amazon S3 存储桶中找到Forecast S3 存储桶中的Forecas

CLI

使用以下命令导出预测AWS CLI你使用的是export-forecast-job命令。为预测导出任务命名,指定要导出的预测的 ARN,并可选择添加任何标签。对于destination指定输出 Amazon S3 存储桶的路径,即您在中创建的 IAM 角色的 ARN为Amazon Forecast 创建 IAM 角色(IAM 控制台),如果您使用的是AWS KMS存储桶加密密钥,密钥的 ARN。

有关必需参数和可选参数的更多信息,请参阅CreateForecastExportJob操作。

forecast create-forecast-export-job \ --forecast-export-job-name exportJobName \ --forecast-arn arn:aws:forecast:region:acctNumber:forecast/forecastName \ --destination S3Config="{Path='s3://bucket/folderName',RoleArn='arn:aws:iam::acctNumber:role/Role, KMSKeyArn='arn:aws:kms:region:accountNumber:key/keyID'}" --tags Key=key1,Value=value1 Key=key2,Value=value2
Python

要使用适用于 SDK for Python (Boto3) 导出Forecastexport_forecast_job方法。为预测导出任务命名,指定要导出的预测的 ARN,并可选择添加任何标签。对于Destination指定输出 Amazon S3 存储桶的路径,即您在中创建的 IAM 角色的 ARN为Amazon Forecast 创建 IAM 角色(IAM 控制台),如果您使用的是AWS KMS存储桶加密密钥,密钥的 ARN。

有关必需参数和可选参数的更多信息,请参阅CreateForecastExportJob操作。

import boto3 forecast = boto3.client('forecast') export_forecast_response = forecast.create_forecast_export_job( Destination = { "S3Config": { "Path": "s3://bucketName/folderName/", "RoleArn": "arn:aws:iam::accountNumber:role/roleName", "KMSKeyArn": "arn:aws:kms:region:accountNumber:key/keyID" } }, ForecastArn = "arn:aws:forecast:region:accountNumber:forecast/forecastName", ForecastExportJobName = "export_job_name", Tags = [ { "Key": "key1", "Value": "value1" }, { "Key": "key2", "Value": "value2" } ] ) forecast_export_job_arn = export_forecast_response["ForecastExportJobArn"] print(forecast_export_job_arn)

查询Forecast

您可以使用查询预测QueryForecast操作。默认情况下,返回预测的完整范围。您可以请求完整预测中的特定日期范围。

当您查询预测时,必须指定筛选条件。筛选条件是密钥值对。键是用于创建预测的其中一个数据集中的架构属性名称之一(包括预测维度)。 是指定密钥的有效值。您可以指定多个密钥值对。返回的预测将只包含满足所有条件的项目。