

 Amazon Forecast 不再提供給新客戶。Amazon Forecast 的現有客戶可以繼續正常使用服務。[進一步了解」](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/)

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 預測器可解釋性
<a name="predictor-explainability"></a>

Predictor Explainability 可協助您更加了解資料集中的屬性如何影響您的目標變數。預測使用稱為影響分數的指標來量化每個屬性的相對影響，並判斷它們是否增加或減少預測值。

例如，假設目標所為 `sales` 且有兩個相關屬性的預測案例：`price` 與 `color`。預測可能會發現項目的價格大幅影響銷售額 （高影響分數），而項目的顏色具有可忽略的效果 （低影響分數）。

若要啟用預測器可解釋性，您的預測器必須至少包含下列其中一項：相關時間序列、項目中繼資料或假日和天氣索引等其他資料集。如需詳細資訊，請參閱[限制和最佳實務](#predictor-explainability-best-practices)。

若要針對特定時間序列和時間點建立影響分數，請使用預測可解釋性而非預測器可解釋性。請參閱[預測可解釋性](forecast-explainability.md)。

**Topics**
+ [解譯影響分數](#predictor-explainability-impact-scores)
+ [建立預測器可解釋性](#creating-predictor-explainability)
+ [匯出預測器可解釋性](#exporting-predictor-explainability)
+ [限制和最佳實務](#predictor-explainability-best-practices)

## 解譯影響分數
<a name="predictor-explainability-impact-scores"></a>

影響分數會衡量屬性對預測值的相對影響。例如，如果 "price" 屬性的影響分數是 "store location" 屬性的兩倍，您可以得出以下結論：項目的價格對預測值的影響是 "store location" 的兩倍。

 影響分數也會提供屬性是否增加或減少預測值的相關資訊。在 主控台中，這會以兩個圖形表示。具有藍色長條的屬性會增加預測值，而具有紅色長條的屬性會減少預測值。

![\[Bar graphs showing Price and Promo increasing impact scores, StoreLocation decreasing impact score.\]](http://docs.aws.amazon.com/zh_tw/forecast/latest/dg/images/quicksight-unfiltered.png)


在主控台中，影響分數範圍從 0 到 1，分數 0 表示沒有影響，分數接近 1 表示重大影響。在 SDKs 中，影響分數的範圍是 -1 到 1，其中符號表示影響的方向。

值得注意的是，影響力分數衡量的是屬性的相對影響，而不是絕對影響。因此，影響分數無法用於確定特定屬性是否可以改善模型的準確性。如果某個屬性的影響分數較低，不一定表示它對預測值的影響較低； 這表示與它對預測值的影響比預測器使用的其他屬性要小。

## 建立預測器可解釋性
<a name="creating-predictor-explainability"></a>

**注意**  
每個預測器最多可以建立一個預測器可解釋性

當您啟用預測器可解釋性時，Amazon Forecast 會計算資料集中所有屬性的影響分數。影響分數可以解譯為屬性對整體預測值的影響。您可以在建立預測器時啟用預測器可解釋性，也可以在建立預測器後啟用此功能。

### 啟用新預測器的預測器可解釋性
<a name="creating-predictor-explainability-new"></a>

在建立新的預測器時啟用預測器可解釋性，將會同時建立預測器資源和可解釋性資源。您可以使用軟體開發套件 (SDK) 或 Amazon Forecast 主控台，為新預測器啟用預測器可解釋性。

------
#### [ Console ]

**啟用預測器可解釋性**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) 的 Amazon Forecast 主控台。

1. 從**資料集群組**中，選擇您的資料集群組。

1. 在導覽窗格中，選擇**預測器**。

1. 選擇**訓練新的預測器**。

1. 在**預測器組態**區段中，選擇**啟用可解釋性**。

1. 提供下列必要欄位的值：
   + **名稱** - 唯一的預測器名稱。
   + **預測頻率** - 預測的精細程度。
   + **預測期間** - 要預測的時間步驟數目。

1. 選擇 **Start (啟動)**。

------
#### [ Python ]

若要使用適用於 Python 的 SDK (Boto3) 啟用新預測器的可解釋性，請使用 `create_auto_predictor`方法並將 ExplainPredictor 設定為 true。

下列程式碼會建立自動預測器，未來預測 24 (`ForecastHorizon`) 天 (`ForecastFrequency`)，並將 `ExplainPredictor`設為 true。如需必要和選用參數的詳細資訊，請參閱[CreateAutoPredictor](API_CreateAutoPredictor.md)。

```
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
)
```

------

### 啟用現有預測器的預測器可解釋性
<a name="creating-predictor-explainability-old"></a>

為現有預測器啟用預測器可解釋性會為該資源建立可解釋性資源。您只能為尚未包含可解釋性資源的預測器建立可解釋性資源。若要檢視更新資料集的影響分數，請使用更新的資料重新訓練或重新建立預測器。

您可以使用軟體開發套件 (SDK) 或 Amazon Forecast 主控台，為新預測器啟用預測器可解釋性。

------
#### [ Console ]

**啟用預測器可解釋性**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) 的 Amazon Forecast 主控台。

1. 從**資料集群組**中，選擇您的資料集群組。

1. 在導覽窗格中，選擇**預測器**。

1. 選擇您的預測器。

1. 在**預測器可解釋性**區段中，選擇**啟用可解釋性**。

1. 提供 Predictor Explainability 的唯一名稱。

1. 選擇 **Start (啟動)**。

------
#### [ Python ]

若要使用適用於 Python 的 SDK (Boto3) 為現有預測器啟用預測器可解釋性，請使用 `create_explainability`方法。指定解釋性的名稱、預測器的 ARN，以及 的 ARN`ExplainabilityConfig`，同時將 `TimePointGranularity`和 `TimeSeriesGranularity` 設定為 **ALL**。若要建立可在主控台中檢視的可解釋性視覺化，請將 `EnableVisualization` 設定為 **True**。

如需必要和選用參數的詳細資訊，請參閱 [CreateExplainability](API_CreateExplainability.md)。

```
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
)
```

------

## 匯出預測器可解釋性
<a name="exporting-predictor-explainability"></a>

**注意**  
匯出檔案可以直接從資料集匯入傳回資訊。如果匯入的資料含公式或命令，這會使檔案受到 CSV 注入的攻擊。因此，匯出的檔案可能會提示安全性警告。若要避免惡意活動，請在讀取匯出的檔案時停用連結和巨集。

預測可讓您將影響分數的 CSV 或 Parquet 檔案匯出至 S3 位置。影響分數範圍從 -1 到 1，其中符號表示影響的方向。您可以使用 Amazon Forecast 軟體開發套件 (SDK) 和 Amazon Forecast 主控台匯出 Impact 分數。

![\[Table showing normalized impact scores for price, promotion, weather index, and US holidays.\]](http://docs.aws.amazon.com/zh_tw/forecast/latest/dg/images/explainability-global.png)


------
#### [ Console ]

**匯出預測器可解釋性**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) 的 Amazon Forecast 主控台。

1. 從**資料集群組**中，選擇您的資料集群組。

1. 在導覽窗格中，選擇**預測器**。

1. 選擇您的預測器。

1. 在**預測器可解釋性**區段中，選擇**匯出**。

1. 在**匯出名稱**欄位中，提供匯出的唯一名稱。

1. 針對 **S3 可解釋性匯出位置**欄位，提供 S3 位置以匯出 CSV 檔案。

1. 針對 **IAM 角色**欄位，為角色提供指定 S3 位置的存取權。

1. 選擇**建立匯出。**

------
#### [ Python ]

若要使用適用於 Python 的 SDK (Boto3) 匯出預測器可解釋性，請使用 `create_explainability_export`方法。為任務命名、指定可解釋性的 ARN，並在 `Destination` 物件中指定您的 Amazon S3 目的地位置和 IAM 服務角色。

如需必要和選用參數的詳細資訊，請參閱 [CreateExplainabilityExport](API_CreateExplainabilityExport.md)。

```
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'
)
```

------

## 限制和最佳實務
<a name="predictor-explainability-best-practices"></a>

使用 Predictor Explainability 時，請考慮下列限制和最佳實務。
+ **Predictor Explainability 僅適用於使用 AutoPredictor 建立的某些預測器** - 您無法為使用 AutoML 或透過手動選擇建立的舊版預測器啟用 Explainability。請參閱[升級至 AutoPredictor](howitworks-predictor.md#upgrading-autopredictor)。
+ **Predictor Explainability 不適用於所有模型** - ARIMA (AutoRegressive移動平均值）、ETS （指數平滑狀態空間模型） 和 NPTS （非參數時間序列） 模型不包含外部時間序列資料。因此，即使您包含其他資料集，這些模型也不會建立可解釋性報告。
+ 可**解釋性需要屬性** - 您的預測器必須至少包含下列其中一項：相關時間序列、項目中繼資料、假日或天氣索引。
+ **預測器僅限於一個可解釋性資源** - 您無法為預測器建立多個可解釋性資源。如果您對已更新資料集的影響分數感興趣，請重新訓練您的預測器。
+ **零的影響分數表示沒有影響** - 如果屬性的影響分數為 0，則該屬性對預測值沒有重大影響。
+ **重試失敗的預測器可解釋性任務 **- 如果預測成功建立預測器但預測器可解釋性任務失敗，您可以重試在主控台中或使用 CreateExplainability 操作建立預測器可解釋性。
+ **您無法針對特定時間點和時間序列建立影響分數 **- 若要檢視特定時間點和時間序列的影響分數，請參閱[預測可解釋性](forecast-explainability.md)。
+ **Predictor Explainability 視覺化效果可在建立後 90 天內使用** - 若要在 90 天後檢視視覺化效果，請重新訓練預測器。