

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

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

# 訓練預測器
<a name="howitworks-predictor"></a>

預測器是一種 Amazon Forecast 模型，使用目標時間序列、相關時間序列、項目中繼資料以及您包含的任何其他資料集進行訓練。您可以使用預測器，根據您的時間序列資料產生預測。

根據預設，Amazon Forecast 會建立 AutoPredictor，其中 Forecast 會將演算法的最佳組合套用至資料集中的每個時間序列。

**Topics**
+ [建立預測器](#creating-predictors)
+ [升級至 AutoPredictor](#upgrading-autopredictor)
+ [不同預測頻率的資料彙總](data-aggregation.md)
+ [使用其他資料集](#using-additional-datasets)
+ [使用舊版預測器](#legacy-predictors)
+ [評估預測器準確性](metrics.md)
+ [重新訓練預測器](retrain-predictors.md)
+ [天氣索引](weather.md)
+ [假日特徵化](holidays.md)
+ [預測器可解釋性](predictor-explainability.md)
+ [預測器監控](predictor-monitoring.md)
+ [Amazon Forecast 演算法](aws-forecast-choosing-recipes.md)

## 建立預測器
<a name="creating-predictors"></a>

Amazon Forecast 需要下列輸入來訓練預測器：
+ **資料集群組** – 必須包含目標時間序列資料集的資料集群組。目標時間序列資料集包含目標屬性 (`item_id`) 和時間戳記屬性，以及任何維度。相關的時間序列和項目中繼資料是選用的。如需詳細資訊，請參閱[匯入資料集](howitworks-datasets-groups.md)。
+ **預測頻率** – 預測的精細程度 （每小時、每日、每週等）。當您提供頻率單位和值時，Amazon Forecast 可讓您判斷預測的確切精細程度。僅允許整數值    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/forecast/latest/dg/howitworks-predictor.html)

  例如，如果您想要每隔一週預測一次，您的頻率單位為每週一次，且值為 2。或者，如果您想要季度預測，您的頻率單位是每月，而值是 3。

  當以高於預測頻率的頻率收集您的資料時，它會彙總到預測頻率。這包括追蹤時間序列和相關的時間序列資料。如需彙總的詳細資訊，請參閱[不同預測頻率的資料彙總](data-aggregation.md)。
+ **預測時間範圍** – 預測的步驟次數。

您也可以為下列選用輸入設定值：
+  **時間對齊界限** – 時間界限預測使用 來彙總您的資料，並產生與您指定的預測頻率一致的預測。如需彙總的詳細資訊，請參閱[不同預測頻率的資料彙總](data-aggregation.md)。如需指定時間界限的資訊，請參閱[時間邊界](data-aggregation.md#time-boundaries)。
+ **預測維**度 – 維度是目標時間序列資料集中的選用屬性，可與目標值 (`item_id`) 搭配使用，以建立個別的時間序列。
+ **預測類型** – 用來評估預測器的四分位數。
+ **最佳化指標** – 用來最佳化預測器的準確度指標。
+ **其他資料集** – 內建 Amazon Forecast 資料集，例如天氣索引和假日。

您可以使用軟體開發套件 (SDK) 或 Amazon Forecast 主控台來建立預測器。

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

**建立預測器**

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

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

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

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

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

1. 選擇 **開始使用**。

如需其他資料集的詳細資訊，請參閱 [天氣索引](weather.md)和 [假日特徵化](holidays.md)。若要進一步了解自訂預測類型和最佳化指標，請參閱[評估預測器準確性](metrics.md)。

------
#### [ AWS CLI ]

若要使用 建立自動預測器 AWS CLI，請使用 `create-predictor`命令。下列程式碼會建立自動預測器，以預測未來 14 天。

提供 預測器的名稱，以及包含訓練資料的資料集群組的 Amazon Resource Name (ARN)。選擇性地修改預測時間範圍和預測頻率。選擇性地為預測器新增任何標籤。如需詳細資訊，請參閱 [標記 Amazon Forecast 資源](tagging-forecast-resources.md)。

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

```
aws forecast create-predictor \
--predictor-name {{predictor_name}} \
--data-config DatasetGroupArn="arn:aws:forecast:{{region}}:{{account}}:dataset-group/{{datasetGroupName}}" \
--forecast-horizon 14 \
--forecast-frequency D \
--tags Key={{key1}},Value={{value1}} Key={{key2}},Value={{value2}}
```

若要進一步了解自訂預測類型和最佳化指標，請參閱`DataConfig`資料類型中定義的[評估預測器準確性](metrics.md)天氣索引和假日其他資料集。如需其他資料集的詳細資訊，請參閱 [天氣索引](weather.md)和 [假日特徵化](holidays.md)。

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

若要使用適用於 Python 的 SDK (Boto3) 建立自動預測器，請使用 `create_auto_predictor`方法。下列程式碼會建立自動預測器，以預測未來 14 天。

提供 預測器的名稱，以及包含訓練資料的資料集群組的 Amazon Resource Name (ARN)。選擇性地修改預測時間範圍和預測頻率。選擇性地為預測器新增任何標籤。如需詳細資訊，請參閱 [標記 Amazon Forecast 資源](tagging-forecast-resources.md)。

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

```
import boto3
            
forecast = boto3.client('forecast')

create_predictor_response = forecast.create_auto_predictor(
    PredictorName = '{{predictor_name}}',
    ForecastHorizon = 14,
    ForecastFrequency = 'D',
    DataConfig = {
      "DatasetGroupArn": "arn:aws:forecast:{{region}}:{{account}}:dataset-group/{{datasetGroupName}}"
    },
    Tags = [ 
      { 
         "Key": "{{key1}}",
         "Value": "{{value1}}"
      },
      { 
         "Key": "{{key2}}",
         "Value": "{{value2}}"
      }
    ]
)
print(create_predictor_response['PredictorArn'])
```

若要進一步了解自訂預測類型和最佳化指標，請參閱`DataConfig`資料類型中定義的[評估預測器準確性](metrics.md)天氣索引和假日其他資料集。如需其他資料集的詳細資訊，請參閱 [天氣索引](weather.md)和 [假日特徵化](holidays.md)。

------

## 升級至 AutoPredictor
<a name="upgrading-autopredictor"></a>

**Python 筆記本**  
如需將預測器升級至 AutoPredictor step-by-step指南，請參閱[將預測器升級至 AutoPredictor](https://github.com/aws-samples/amazon-forecast-samples/blob/main/notebooks/basic/Upgrading_to_AutoPredictor/UpgradeToAutoPredictor.ipynb)。

使用 AutoML 或手動選取 (CreatePredictor) 建立的預測器可以升級至 AutoPredictor。將現有的 升級至 AutoPredictor 將轉移所有相關預測器組態設定。

升級到 AutoPredictor 後，原始預測器將保持作用中狀態，升級的預測器將具有單獨的預測器 ARN。這可讓您比較兩個預測器之間的準確度指標，而且您仍然可以使用原始預測器產生預測。

您可以使用軟體開發套件 (SDK) 或 Amazon Forecast 主控台升級預測器。

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

**升級預測器**

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

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

1. 選擇要升級的預測器，然後選擇**升級**。

1. 設定升級預測器的唯一名稱。

1. 選擇**升級至 AutoPredictor**。

------
#### [ CLI ]

若要使用 升級預測器 AWS CLI，請使用 `create-predictor`方法，但*只*指定預測器名稱和 的值 `reference-predictor-arn`（您要升級的預測器 ARN)。

```
aws forecast create-predictor \
--predictor-name {{predictor_name}} \
--reference-predictor-arn arn:aws:forecast:{{region}}:{{account}}:predictor/{{predictorName}}
```

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

若要使用適用於 Python 的 SDK (Boto3) 升級預測器，請使用 `create_auto_predictor`方法，但*只*指定預測器名稱和 的值 `ReferencePredictorArn`（您要升級的預測器 ARN)。

```
import boto3
            
forecast = boto3.client('forecast')

create_predictor_response = forecast.create_auto_predictor(
    PredictorName = '{{predictor_name}}',
    ReferencePredictorArn = 'arn:aws:forecast:{{region}}:{{account}}:predictor/{{predictorName}}'
)
print(create_predictor_response['PredictorArn'])
```

------

## 使用其他資料集
<a name="using-additional-datasets"></a>

建立預測器時，Amazon Forecast 可以包含天氣索引和假日。天氣索引會將氣象資訊納入您的模型，而假日則納入有關國定假日的資訊。

天氣索引需要目標時間序列資料集中的「地理位置」屬性，以及時間戳記時區的相關資訊。如需詳細資訊，請參閱[天氣索引](weather.md)。

假日包含超過 250 個國家的假日資訊。如需詳細資訊，請參閱[假日特徵化](holidays.md)。

## 使用舊版預測器
<a name="legacy-predictors"></a>

**注意**  
若要將現有預測器升級至 AutoPredictor，請參閱 [升級至 AutoPredictor](#upgrading-autopredictor)

AutoPredictor 是使用 Amazon Forecast 建立預測器的預設和偏好方法。AutoPredictor 會透過將演算法的最佳組合套用至資料集中的每個時間序列來建立預測器。

使用 AutoPredictor 建立的預測器通常比使用 AutoML 或手動選取建立的預測器更準確。預測可解釋性和預測器重新訓練功能僅適用於使用 AutoPredictor 建立的預測器。

Amazon Forecast 也可以透過下列方式建立舊版預測器：

1. **AutoML** - 預測會尋找效能最佳的演算法，並將其套用至整個資料集。

1. **手動選擇** - 手動選擇套用至整個資料集的單一演算法。

您可能可以使用軟體開發套件 (SDK) 建立舊版預測器。

------
#### [ SDK ]

**使用 AutoML**

使用 [`CreatePredictor`](API_CreatePredictor.md)操作，將 的值設定為 `PerformAutoML` `"true"`。

```
{
    ...
    "PerformAutoML": "true",
}
```

如果您使用 AutoML，則無法為下列 CreatePredictor 參數設定值：`AlgorithmArn`、`HPOConfig`、`TrainingParameters`。

------