可以解释预测器 - Amazon Forecast

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

可以解释预测器

注意

预测变量可解释性仅适用于使用 AutoPredictor 创建的预测变量。您可以将现有的旧预测变量升级到 AutoPredictor。请参阅升级到 AutoPredictor.

预测变量可解释性有助于您更好地了解数据集中的属性对目标变量的影响。Forecast 使用名为 “影响力分数” 的指标来量化每个属性的相对影响,并确定它们是增加还是减少预测值。

例如,考虑目标所在的预测方案sales还有两个相关的属性:pricecolor. Forecast 可能会发现,商品的价格对销售产生重大影响(影响力分数较高),而商品的颜色影响微不足道(影响分数较低)。

要启用预测变量可解释性,您的预测变量必须至少包含以下一项:相关时间序列、项目元数据或其他数据集,如假期和天气指数。

要为特定时间序列和时间点创建影响力分数,请使用 Forecast 可解释性而不是预测变量可解释性。请参阅Forecast 可解释性.

解释影响力分

影响分数衡量属性对预测值的相对影响。例如,如果 “价格” 属性的影响分数是 “店铺位置” 属性的两倍,则可以得出结论,商品价格对预测值的影响是商店位置的两倍。

影响分数还提供有关属性是增加还是减少预测值的信息。在控制台中,这由两个图表表示。带蓝色条的属性会增加预测值,而带有红色条形的属性会减少预测值。

在控制台中,影响分数范围从 0 到 1,其中 0 表示没有影响,分数接近 1 表示影响重大。在 SDK 中,影响分数范围从 -1 到 1,其中标志表示影响的方向。

需要注意的是,影响分数衡量属性的相对影响,而不是绝对影响。因此,影响分数不能用于确定特定属性是否提高模型准确性。如果属性的影响得分较低,这并不一定意味着它对预测值的影响较小;这意味着它对预测值的影响低于预测变量使用的其他属性。

创建预测器可解释性

注意

每个预测变量最多可以创建一个预测变量可解释性

启用预测变量可解释性后,Amazon Forecast 会计算数据集中所有属性的影响分数。影响分数可以解释为影响属性对总体预测值具有影响力。您可以在创建预测变量时启用预测变量可解释性,也可以在创建预测变量后启用该功能。

为新预测变量启用预测变量可解释性

在创建新预测变量时启用预测变量可解性将同时创建预测变量资源和可解释性资源。您可以使用软件开发工具包 (SDK) 或 Amazon Forecast 控制台为新预测变量启用预测变量可解释性。

Console

启用预测变量可解释性

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

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

  3. 在导航窗格中,选择预测器.

  4. 选择训练新预测器.

  5. 配置预测器部分,选择启用可解释性.

  6. 为以下必需字段提供值:

    • 名称-唯一的预测变量名称。

    • Forecast 频率-你的预测的粒度。

    • 预测范围-要预测的时间步数。

  7. 选择启动

Python

要使用 SDK for Python (Boto3) 启用可解释性,请使用create_auto_predictor方法然后设置 ExplainPredictor 到 true。

下面的代码创建了一个 auto 预测变量,用于预测 24 (ForecastHorizon) 天 (ForecastFrequency) 在 future,并且有ExplainPredictor将设置为 true。有关必需和可选参数的信息,请参阅CreateAutoPredictor.

import boto3 forecast = boto3.client('forecast') create_predictor_response = forecast.create_auto_predictor( PredictorName = 'predictor_name', ForecastHorizon = 24, ForecastFrequency = 'D', DataConfig = { "DatasetGroupArn": "arn:aws:forecast:region:account:dataset-group/datasetGroupName" }, ExplainPredictor = True )

为现有预测变量启用预测变量可解释性

为现有预测变量启用预测变量可解释性将为该资源创建可解释性资源。您只能为尚未包含可解释性资源的预测变量创建可解释性资源。要查看更新数据集的影响分数,请使用更新的数据重新训练或重新创建预测变量。

您可以使用软件开发工具包 (SDK) 或 Amazon Forecast 控制台为新预测变量启用预测变量可解释性。

Console

启用预测变量可解释性

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

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

  3. 在导航窗格中,选择预测器.

  4. 选择你的预测器。

  5. 可以解释预测器部分,选择启用可解释性.

  6. 为预测器可解释性提供唯一名称。

  7. 选择启动

Python

要使用 SDK for Python (Boto3) 启用预测器可解释性,请使用create_explainability方法。指定可解释性的名称、预测变量的 ARN 和ExplainabilityConfig,同时设置两者TimePointGranularityTimeSeriesGranularity所有. 要创建可在控制台中查看的可解释性可视化,请设置EnableVisualizationTrue.

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

import boto3 forecast = boto3.client('forecast') create_explainability_response = forecast.create_explainability( ExplainabilityName = 'explainability_name', ResourceArn = 'arn:aws:forecast:region:accountNumber:predictor/predictorName', ExplainabilityConfig = { "TimePointGranularity": "ALL", "TimeSeriesGranularity": "ALL" }, EnableVisualization = True )

导出预测器可解释性

注意

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

通过 Forecast,您可以将影响分数的 CSV 或 Picar 文件导出到 S3 位置。影响分数范围从 -1 到 1,其中符号表示影响的方向。您可以使用 Amazon Forecast 软件开发工具包 (SDK) 和 Amazon Forecast 控制台导出影响力分数。

Console

导出预测变量可解释性

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

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

  3. 在导航窗格中,选择预测器.

  4. 选择你的预测器。

  5. 可以解释预测器部分,选择Export.

  6. 对于导出名字段中,为导出提供唯一名称。

  7. 对于S3 可解释性导出位置字段中,提供用于导出 CSV 文件的 S3 位置。

  8. 对于IAM 角色字段中,为角色提供对指定 S3 位置的访问权限。

  9. 选择创建导出。

Python

要使用 SDK for Python (Boto3) 导出预测器可解释性,请使用create_explainability_export方法。为作业命名,指定可解释性的 ARN,然后在Destination对象,指定您的 Amazon S3 目标位置和 IAM 服务角色。

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

import boto3 forecast = boto3.client('forecast') export_response = forecast.create_explainability_export( Destination = { "S3Config": { "Path": "s3://bucketName/filename.csv", "RoleArn": "arn:aws:iam::accountNumber:role/roleName" } }, ExplainabilityArn = 'arn:aws:forecast:region:accountNumber:explainability/explainabilityName', ExplainabilityExportName = 'job_name' )

限制和最佳实践

使用预测器可解释性时,请考虑以下限制和最佳实践。

  • 预测变量可解释性仅适用于使用 AutoPredictor 创建的预测变量-您无法为使用 AutoML 或通过手动选择创建的旧预测变量启用可解释性。请参阅升级到 AutoPredictor.

  • 可解释性需要属性-您的预测变量必须至少包含以下一项:相关时间序列、项目元数据、假期或天气指数。

  • 预测变量仅限于一个可解释性资源-您不能为预测变量创建多个可解释性资源。如果您对更新数据集的影响分数感兴趣,请重新训练预测变量。

  • 影响分数为零表示没有影响-如果属性的影响分数为 0,则该属性对预测值没有重大影响。

  • 重试失败的预测变量可解释性作业-如果 Forecast 成功创建了预测变量,但预测变量可解释性作业失败,则可以在控制台或使用 CreateExplainability operation.

  • 您无法为特定时间点和时间序列创建影响力分数-要查看特定时间点和时间序列的影响分数,请参阅Forecast 可解释性.

  • 预测器可解释性可视化效果在创建后的 90 天内可用-要在 90 天后查看可视化,请重新训练预测变量。