

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# API を使用して時系列予測用の AutoML ジョブを作成する
<a name="autopilot-create-experiment-timeseries-forecasting"></a>

機械学習における予測とは、過去のデータやパターンに基づいて将来の結果や傾向を予測するプロセスを指します。機械学習アルゴリズムは、過去の時系列データを分析し、根底にあるパターンを特定することで、予測を行い、将来の行動に関する貴重なインサイトを提供できます。予測における目標は、入力変数とターゲット変数の関係を時間の経過とともに正確に把握できるモデルを開発することです。これには、データ内の傾向、季節性、その他の関連パターンなど、さまざまな要因を調べることが含まれます。収集された情報は、機械学習モデルのトレーニングに使用されます。トレーニング済みモデルは、新しい入力データを取得し、学習したパターンと関係を適用することにより予測を生成できます。販売予測、株式市場の動向、天気予報、需要予測など、幅広いユースケースの予測を提供できます。

以下の手順は、SageMaker [API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を使用して時系列予測の問題タイプのパイロット実験として Amazon SageMaker Autopilot ジョブを作成する方法を示しています。

**注記**  
テキストと画像の分類、時系列予測、大規模言語モデルのファインチューニングなどのタスクは、[AutoML REST API](autopilot-reference.md) のバージョン 2 でのみ利用できます。選択した言語が Python の場合は、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) を参照することも、Amazon SageMaker Python SDK の [AutoMLV2 オブジェクト](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)を直接参照することもできます。  
ユーザーインターフェイスの利便性を優先するユーザーは、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) を使用して、事前にトレーニングされたモデルや生成 AI 基盤モデルにアクセスしたり、特定のテキスト、画像分類、予測のニーズ、または生成 AI に合わせたカスタムモデルを作成したりできます。

Amazon SageMaker Autopilot または AWS CLIでサポートされている任意の言語で [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API を呼び出すことで、Autopilot の時系列予測実験をプログラムで作成できます。

この API アクションが選択した言語の関数にどのように変換されるかについては、「`CreateAutoMLJobV2`」の「[関連項目](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)」セクションを参照して SDK を選択してください。例として、Python ユーザーの場合は、「 AWS SDK for Python (Boto3)」の「`[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` のすべてのリクエスト構文」を参照してください。

Autopilot は、ターゲットとなる時系列で複数のモデル候補をトレーニングし、与えられた目標メトリクスに最適な予測モデルを選択します。モデル候補がトレーニングされると、`[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` の `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンスから最適な候補メトリクスを見つけることができます。

以下のセクションでは、時系列予測に使用される `CreateAutoMLJobV2` API の必須およびオプションの入力リクエストパラメータを定義します。

**注記**  
実用的なハンズオン時系列予測の例については、ノートブックの「[Time-Series Forecasting with Amazon SageMaker Autopilot](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb)」を参照してください。このノートブックでは、Amazon SageMaker Autopilot を使用して時系列モデルをトレーニングし、トレーニング済みモデルを使用して予測を作成します。ノートブックは、Amazon S3 にある表形式の履歴データの既製のデータセットを取得する手順について説明します。

## 前提条件
<a name="autopilot-timeseries-forecasting-prerequisites"></a>

Autopilot を使用して SageMaker AI で時系列予測実験を作成する前に、以下の点を確認してください。
+ 時系列データセットを準備します。データセットの準備には、さまざまなソースから関連データを収集し、クリーニングとフィルタリングを行ってノイズや不整合を取り除き、構造化された形式に整理することが含まれます。Autopilot の時系列フォーマットの要件について詳しくは、「[時系列データセットの形式と欠損値の filling メソッド](timeseries-forecasting-data-format.md)」を参照してください。オプションで、選択した国の祝日カレンダーをデータセットに追加して、関連するパターンを把握することもできます。祝日カレンダーの詳細については、「[祝祭日カレンダー](autopilot-timeseries-forecasting-holiday-calendars.md)」を参照してください。
**注記**  
予測する将来のデータポイント 1 つにつき、少なくとも 3 ～ 5 つの履歴データポイントを提供することをお勧めします。例えば、日次データに基づいて 7 日前 (1 週間) に予測を行うには、21 ～ 35 日以上の履歴データに基づいてモデルをトレーニングします。必ず、季節的なパターンと反復的なパターンをキャプチャするのに十分なデータを提供してください。
+ 時系列データを Amazon S3 バケットに配置します。
+ 実験を実行するために使用した SageMaker AI 実行ロールに、入力データを含む Amazon S3 バケットへの完全なアクセス権を付与します。これが完了すると、Autopilot API リクエストでこの実行ロールの ARN を使用できます。
  + SageMaker AI 実行ロールの取得については、「[実行ロールを取得する](sagemaker-roles.md#sagemaker-roles-get-execution-role)」を参照してください。
  + Amazon S3 の 1 つ以上の特定のバケットにアクセスするためのアクセス許可を SageMaker AI 実行ロールに付与する方法については、「[実行ロールを作成する](sagemaker-roles.md#sagemaker-roles-create-execution-role)」の「*Add Additional Amazon S3 Permissions to a SageMaker AI Execution Role*」を参照してください。

## 必須パラメータ
<a name="timeseries-forecasting-api-required-params"></a>

`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` を呼び出して、時系列予測用のオートパイロットテストを作成する場合は、以下の値を指定する必要があります。
+ ジョブの名前を指定する `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`。名前は `string` 型で、最小長は 1 文字、最大長は 32 文字です。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` に少なくとも 1 つの `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` を指定し、データが含まれている Amazon S3 バケット名を指定します。オプションで、コンテンツ (CSV または Parquet ファイル) と圧縮 (GZip) タイプを指定できます。
+ 時系列予測ジョブの設定を構成する `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` タイプの `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`。特に、以下を指定する必要があります。
  + 予測の目的の粒度 (時間単位、日単位、月単位など) を指す、予測の**頻度**。

    有効な間隔は、整数の後に `Y` (年)、`M` (月)、`W` (週)、`D` (日)、`H` (時)、`min` (分) をつけたものです。例えば、`1D` は毎日を示し、`15min` は 15 分ごとを示します。頻度の値は、次に大きい頻度と重ならないようにします。たとえば、`60min` の代わりに `1H` の頻度を使用する必要があります。

    各頻度の有効な値は以下のとおりです。
    + 分 - 1～59
    + 時間 - 1～23
    + 日 - 1～6
    + 週 - 1～4
    + 月 - 1～11
    + 年 - 1
  + 予測における予測の**期間**。モデルが予測するタイムステップの数を指します。予測期間は予測長とも呼ばれます。最大予測期間は、500 タイムステップまたはデータセット内のタイムステップの 1/4 のいずれか小さい方です。
  + [TimeseriesConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html) では、以下を指定してデータセットのスキーマを定義し、列ヘッダーを予測にマッピングします。
    + `TargetAttributeName`: 予測するターゲットフィールドの履歴データを含む列。
    + `TimestampAttributeName`: 特定の項目のターゲット値が記録された時点を含む列。
    + `ItemIdentifierAttributeName`: ターゲット値を予測する項目識別子を含む列。

  これらのパラメータのリクエストの例を次に示します。この例では、20 日間にわたる特定の項目の予想数量または需要水準の日次予測を設定します。

  ```
  "AutoMLProblemTypeConfig": { 
          "ForecastFrequency": "D",
          "ForecastHorizon": 20,
          "TimeSeriesConfig": {
              "TargetAttributeName": "demand",
              "TimestampAttributeName": "timestamp",
              "ItemIdentifierAttributeName": "item_id"
          },
  ```
+ AutoML ジョブのアーティファクトを保存する Amazon S3 出力パスを指定する `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`。
+ データへのアクセスに使用するロールの ARN を指定する `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`。データへのアクセス権が付与された実行ロールの ARN を使用できます。

その他のすべてのパラメータは省略可能です。例えば、特定の予測分位数を設定したり、データセット内の欠損値の filling メソッドを選択したり、予測頻度と合わないデータの集計方法を定義したりすることができます。これらの追加パラメータの設定方法については、「[任意指定のパラメータ](#timeseries-forecasting-api-optional-params)」を参照してください。

## 任意指定のパラメータ
<a name="timeseries-forecasting-api-optional-params"></a>

以下のセクションでは、時系列予測の AutoML ジョブに渡すことができるいくつかのオプションパラメータの詳細を説明します。

### アルゴリズムの指定方法
<a name="timeseries-forecasting-algorithms-selection"></a>

デフォルトで Autopilot ジョブは、データセットにあらかじめ定義されたアルゴリズムのリストをトレーニングします。ただし、デフォルトで選択されているアルゴリズムのサブセットを指定できます。

時系列予測では、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` を選択する必要があります。

その後、[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html) の `AlgorithmsConfig` 属性に、選択した `AutoMLAlgorithms` の配列を指定できます。

以下は、`AutoMLAlgorithms` フィールドに 3 つのアルゴリズム ("cnn-qr"、"prophet"、"arima") を指定した `AlgorithmsConfig` 属性の例です。

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)": {
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["cnn-qr", "prophet", "arima"]}
            ]
         },
       },
     },
  }
```

時系列予測に使用できるアルゴリズムのリストについては、「[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)」を参照してください。各アルゴリズムの詳細については、「[アルゴリズムは時系列予測をサポートします。](timeseries-forecasting-algorithms.md)」を参照してください。

### カスタム分位数の指定方法
<a name="timeseries-forecasting-custom-quantiles"></a>

Autopilot は、ターゲットの時系列で 6 つのモデル候補をトレーニングし、スタッキングアンサンブルメソッドを使用してこれらのモデルを組み合わせ、特定の目標メトリクスに最適な予測モデルを作成します。各オートパイロット予測モデルは、P1 と P99 の間の分位数で予測を生成することによって確率予測を生成します。これらの分位数は、予測の不確実性を考慮するために使用されます。デフォルトでは、0.1 (`p10`)、0.5 (`p50`)、0.9 (`p90`) の予測が生成されます。独自の分位数を指定することもできます。

Autopilot では、[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `ForecastQuantiles` 属性で、0.01 (p1) から 0.99 (p99) までの最大 5 つの予測分位数を、0.01 以上の増分で指定できます。

次の例では、20 日間にわたる特定の品目の予測数量または需要レベルについて、10 パーセンタイル、25 パーセンタイル、50 パーセンタイル、75 パーセンタイル予測、90 パーセンタイル予測を毎日設定しています。

```
"AutoMLProblemTypeConfig": { 
        "ForecastFrequency": "D",
        "ForecastHorizon": 20,
        "ForecastQuantiles": ["p10", "p25", "p50", "p75", "p90"],
        "TimeSeriesConfig": {
            "TargetAttributeName": "demand",
            "TimestampAttributeName": "timestamp",
            "ItemIdentifierAttributeName": "item_id"
        },
```

### さまざまな予測頻度のデータを集計する方法
<a name="timeseries-forecasting-aggregation"></a>

予測モデル (実験における最適なモデル候補とも呼ばれる) を作成するには、予測頻度を指定する必要があります。予測頻度によって、予測に含まれる予測の頻度が決定します。例えば、月次販売予測です。Autopilot の最適なモデルは、データが記録される頻度よりも高いデータ頻度の予測を生成することができます。

トレーニング中、Autopilot は指定した予測頻度と一致しないデータを集約します。例えば、日次データはあるが、毎週予測頻度を指定するような場合です。Autopilot は、そのデータが属する週に基づいて日次データを調整します。その後、Autopilot はそれを週ごとに 1 つのレコードにまとめます。

集約時、デフォルトの変換メソッドは、データを合計することです。AutoML ジョブを作成する際に、[TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `Transformations` 属性で集約を設定できます。サポートされている集約メソッドは `sum` (デフォルト) `avg`、`first`、`min`、`max` です。集約はターゲット列でのみサポートされます。

次の例では、個々のプロモーション予測の平均を計算し、最終的な集約予測値を提供するように集約を構成します。

```
"Transformations": {
            "Aggregation": {
                "promo": "avg"
            }
        }
```

### 入力データセット内の欠損値を処理する方法
<a name="timeseries-forecasting-fill-missing-values"></a>

Autopilot には、時系列データセットのターゲット列やその他の数値列の欠損値を処理するための filling メソッドが多数用意されています。サポートされている filling メソッドのリストと使用可能な filling ロジックについては、「[欠損値の処理](timeseries-forecasting-data-format.md#timeseries-missing-values)」を参照してください。

AutoML ジョブを作成する際に、[TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `Transformations` 属性で filling 戦略を設定します。

filling メソッドを設定するには、キーと値のペアを指定する必要があります。
+ キーは、filling メソッドを指定する列の名前です。
+ キーに関連付けられている値は、その列の filling 戦略を定義するオブジェクトです。

1 つの列に複数の filling メソッドを指定できます。

filling メソッドに特定の値を設定するには、fill パラメータに目的の filling メソッド値 (例: `"backfill" : "value"`) を設定し、「\$1value」をサフィックスを付けた追加パラメータで実際の filling 値を定義します。たとえば、`backfill` の値を `2` に設定するには、`"backfill": "value"` および `"backfill_value":"2"` の 2 つのパラメータを含める必要があります。

以下の例では、不完全データ列「price」の filling 戦略を以下のように指定します。項目の最初のデータポイントから最後のデータポイントまでの間の欠損値はすべて `0` に設定され、その後、データセットの終了日まで、すべての欠損値は値 `2` で埋められます。

```
"Transformations": {
            "Filling": {
                "price": {
                        "middlefill" : "zero",
                        "backfill" : "value",
                        "backfill_value": "2"
                }
            }
        }
```

### 目標メトリクスの指定方法
<a name="timeseries-forecasting-set-objective-metric"></a>

Autopilot は、モデル候補を評価し、予測の生成に使用するモデルを選択するのに役立つ精度メトリクスを生成します。時系列予測実験を実行する場合、AutoML を選択して Autopilot に予測子を最適化させるか、手動で予測子のアルゴリズムを選択することができます。

デフォルトでは、Autopilot は平均重み付き分位損失を使用します。ただし、AutoML ジョブを作成する際に、[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) の `MetricName` 属性で目標メトリクスを設定することができます。

利用可能なアルゴリズムのリストについては、「[アルゴリズムは時系列予測をサポートします。](timeseries-forecasting-algorithms.md)」を参照してください。

### 祝祭日情報をデータセットに組み込む方法
<a name="timeseries-forecasting-add-holiday-calendar"></a>

Autopilot では、特徴エンジニアリングされた祝祭日情報データセットを時系列に組み込むことができます。Autopilot は 250 か国の祝祭日カレンダーをネイティブにサポートします。国を選択すると、Autopilot は、トレーニング中にその国の祝祭日カレンダーを、データセット内のすべての項目に適用します。これにより、モデルは特定の祝祭日に関連するパターンを特定できます。

AutoML ジョブを作成する際に [TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `HolidayConfig` 属性に [HolidayConfigAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html) オブジェクトを渡すことで、祝祭日特徴量化を有効にできます。`HolidayConfigAttributes` オブジェクトには、時系列データセットを補強するために使用される祝祭日カレンダーの国を決定する 2 文字の `CountryCode` 属性が含まれています。

サポートされているカレンダーのリストとそれに対応する国コードについては、「[国コード](autopilot-timeseries-forecasting-holiday-calendars.md#holiday-country-codes)」を参照してください。

### 自動デプロイを有効にする方法
<a name="timeseries-forecasting-auto-model-deployment"></a>

Autopilot を使用すると、予測モデルをエンドポイントに自動的にデプロイできます。AutoML ジョブの最適なモデル候補の自動デプロイを有効にするには、AutoML ジョブリクエストに `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` を含めます。これにより、最適なモデルを SageMaker AI エンドポイントにデプロイできます。カスタマイズできる設定は以下のとおりです。
+ Autopilot にエンドポイント名を生成させるには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を `True` に設定します。
+ エンドポイントに独自の名前を指定するには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を設定します。

### 大規模なデータセットのために EMR Serverless でリモートジョブを開始するように AutoML を設定する方法
<a name="autopilot-set-emr-serverless-api-forecasting"></a>

大規模なデータセットを処理するために追加のコンピューティングリソースが必要なときに、Amazon EMR Serverless で自動的にリモートジョブを開始するように AutoML ジョブ V2 を設定できます。必要に応じて EMR Serverless にシームレスに移行することで、AutoML ジョブは、ユーザーが手動で介入することなく、最初にプロビジョニングされたリソースを超えるデータセットを処理できます。EMR Serverless は、表形式および時系列の問題タイプで使用できます。30 GB を超える時系列データセットには、このオプションを設定することをお勧めします。

AutoML ジョブ V2 が大規模なデータセットに対して EMR Serverless に自動的に移行できるようにするには、`ExecutionRoleARN` フィールドを含む `EmrServerlessComputeConfig` オブジェクトを、AutoML ジョブ V2 入力リクエストの `AutoMLComputeConfig` に指定する必要があります。

`ExecutionRoleARN` は、EMR Serverless ジョブを実行するために必要なアクセス許可を AutoML ジョブ V2 に 付与する IAM ロールの ARN です。

このロールには、次の信頼関係が必要です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

以下を行うアクセス許可を付与します。
+ EMR Serverless アプリケーションを作成、一覧表示、更新する。
+ EMR Serverless アプリケーションでのジョブの実行を開始、一覧表示、取得、またはキャンセルする。
+ EMR Serverless リソースにタグを付ける。
+ 実行のために IAM ロールを EMR Serverless サービスに渡す。

  `iam:PassRole` アクセス許可を付与することで、AutoML ジョブ V2 は一時的に `EMRServerlessRuntimeRole-*` ロールを引き受け、EMR Serverless サービスに渡すことができます。これらは、EMR Serverless ジョブ実行環境が、データアクセス用の Amazon S3、ログ記録用の CloudWatch、 AWS Glue データカタログへのアクセス、ワークロード要件に基づく他のサービスなど、ランタイムに必要な他の AWS サービスとリソースにアクセスするために使用する IAM ロールです。

  このロールのアクセス許可の詳細については、「[Amazon EMR Serverless のジョブランタイムロール](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)」を参照してください。

提供されている JSON ドキュメントで定義された IAM ポリシーでは、これらのアクセス許可が付与されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
           "Sid": "EMRServerlessCreateApplicationOperation",
           "Effect": "Allow",
           "Action": "emr-serverless:CreateApplication",
           "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

# 時系列データセットの形式と欠損値の filling メソッド
<a name="timeseries-forecasting-data-format"></a>

時系列データとは、一定の時間間隔で記録された観測値または測定値のコレクションを指します。このタイプのデータでは、各観測値が特定のタイムスタンプまたは期間に関連付けられ、時系列に並んだデータポイントのシーケンスが作成されます。

時系列データセットに含める特定の列は、分析の目的と利用できるデータによって異なります。時系列データは、最低でも次の 3 列のテーブルで構成されます。
+ 1 つの列には、特定の時点での値を示すために個々の項目に割り当てられた固有の識別子が含まれます。
+ もう 1 つの列は、特定の時点における特定の項目の値をログに記録するポイントインタイム値または**ターゲット**を表します。これらのターゲット値に基づいてモデルをトレーニングすると、このターゲット列には、定義された期間内に特定の頻度でモデルが予測する値が含まれます。
+ また、値が測定された日付と時刻を記録するタイムスタンプ列も含まれます。
+ 追加の列には、予測パフォーマンスに影響を与える可能性のある他の要因を含めることができます。例えば、売上または収益をターゲットとする小売の時系列データセットには、販売数、製品 ID、店舗の場所、顧客数、在庫レベルに関する情報に加えて、気象データや人口統計情報などの共変量指標に関する情報を提供する機能を含めることができます。

**注記**  
時系列に祝祭日情報の特徴量エンジニアリングされたデータセットを追加することができます。時系列モデルに祝祭日を含めることで、祝祭日が作り出す周期的なパターンをキャプチャすることができます。これにより、予測はデータの基盤となる季節性をより正確に反映できます。国ごとに利用できるカレンダーについては、「[祝祭日カレンダー](autopilot-timeseries-forecasting-holiday-calendars.md)」を参照してください。

## 時系列予測用のデータセット形式
<a name="timeseries-format"></a>

Autopilot は、数値、カテゴリ、テキスト、および日時データ型をサポートします。ターゲット列のデータ型は数値である必要があります。

Autopilot は、CSV (デフォルト) ファイルまたは Parquet ファイルとしてフォーマットされた時系列データをサポートします。
+ **CSV** (カンマ区切り値) は、データを人間が読めるプレーンテキストで格納する行ベースのファイル形式で、幅広いアプリケーションでサポートされているため、データ交換に一般的に採用されています。
+ **Parquet** は、列ベースのファイル形式で、行ベースのファイル形式よりも効率的にデータを格納および処理します。このため、ビッグデータの問題にはより適したオプションです。

Autopilot の予測用時系列データセットのリソース制限の詳細については、「[Autopilot の時系列予測リソースの制限](timeseries-forecasting-limits.md)」を参照してください。

## 欠損値の処理
<a name="timeseries-missing-values"></a>

時系列予測データの一般的な問題は、欠落した値の存在です。データには、測定の失敗、フォーマットの問題、人為的ミス、記録する情報の不足など、さまざまな理由で欠落した値が含まれている可能性があります。例えば、小売店の製品需要を予測しているときに、商品が売り切れたり使用不能になったりすると、その品目が在庫切れの間は記録する売上データは存在しないことになります。十分に優勢な場合、欠落した値がモデルの精度に影響を与える可能性があります。

Autopilot は、欠損値を処理するための多数の filling メソッドを提供し、ターゲット列とその他の追加列に対して異なるアプローチで対応します。フィルは、データセット内の欠落しているエントリに標準化された値を追加するプロセスです。

時系列データセットの欠損値を埋めるメソッドを設定する方法については、「[入力データセット内の欠損値を処理する方法](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-fill-missing-values)」を参照してください。

Autopilot では、以下の filling メソッドがサポートされています。
+ **前方フィル:** すべての項目の中で最初に記録されたデータポイントと各項目の開始点の間の欠損値を埋めます (各項目は異なる時間に開始できます)。これにより、記録された最も早いデータポイントからそれぞれの開始点まで、確実に各項目のデータが完全になります。
+ **中間フィル:** データセットの項目の開始日と終了日の間の欠損値を埋めます。
+ **後方フィル:** 各項目の最後のデータポイント (各アイテムは異なる時間に停止できる) とすべての項目の最後に記録されたデータポイントの間の欠損値を埋めます。
+ **将来のフィル:** すべての項目の中で最後に記録されたデータポイントから予測期間の終了までの間の欠損値を埋めます。

次の図は、さまざまな filling メソッドを視覚的に示しています。

![\[Amazon SageMaker Autopilot での時系列予測のさまざまな filling メソッド。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/autopilot/autopilot-forecast-filling-methods.png)


### filling ロジックの選択
<a name="filling-logic"></a>

フィルロジックを選択するときは、モデルによってロジックがどのように解釈されるかを考慮する必要があります。たとえば、小売のシナリオでは、利用可能な品目の販売数 0 を記録することは、利用できない品目の販売数 0 を記録することとは異なります。後者の場合、品目に対するお客様の関心がないことを意味するものではありません。このため、時系列のターゲット列での `0` filling では、予測で予測子の偏りが不足することがありますが、`NaN` filling では、販売されている利用可能な品目 0 個の実際の出現が無視され、予測子の偏りが過剰になる可能性があります。

### filling ロジック
<a name="filling-restrictions"></a>

データセット内のターゲット列やその他の数値列に filling を実行できます。ターゲット列には、他の数値列とは異なる filling ガイドラインと制限があります。

フィルガイドライン


| 列のタイプ | デフォルトでフィルしますか? | サポートされているフィル方法 | デフォルトのフィルロジック | 受け入れられた filling ロジック | 
| --- | --- | --- | --- | --- | 
| ターゲット列 | はい | 中間フィルと後方フィル | 0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 
| その他の数値列 | いいえ | 中間、後方、および将来のフィル | デフォルトなし |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/timeseries-forecasting-data-format.html)  | 

**注記**  
ターゲット列およびその他の数値列の両方について、`mean`、`median`、`min`、および `max` は、欠損値より前の最新の 64 個のデータエントリのローリングウィンドウに基づいて計算されます。

# 祝祭日カレンダー
<a name="autopilot-timeseries-forecasting-holiday-calendars"></a>

Autopilot は、250 か国以上の祝祭日カレンダーへのアクセスを可能にする、特徴エンジニアリングされた祝祭日情報データセットをサポートしています。祝祭日カレンダーの特徴量は、祝祭日が需要に大きな影響を与える可能性がある小売ドメインで特に役立ちます。次のセクションでは、サポートされている各国の祝祭日カレンダーにアクセスするために使用できる国コードを示します。

データセットにカレンダーを追加する方法については、「[祝祭日情報をデータセットに組み込む方法](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-add-holiday-calendar)」を参照してください。

## 国コード
<a name="holiday-country-codes"></a>

Autopilot は、以下の国の祝祭日カレンダーのネイティブサポートを提供します。API で国を指定するときは、**[Country Code]** (国コード) を使用します。


| Country | 国コード | 
| --- | --- | 
|   アフガニスタン   |   AF   | 
|   オーランド諸島   |   AX   | 
|   アルバニア   |   AL   | 
|   アルジェリア   |   DZ   | 
|   アメリカ領サモア   |   AS   | 
|   アンドラ   |   AD   | 
|   アンゴラ   |   AO   | 
|   アンギラ   |   AI   | 
|   南極   |   AQ   | 
|   アンティグアバーブーダ   |   AG   | 
|   アルゼンチン   |   AR   | 
|   アルメニア   |   AM   | 
|   アルバ   |   AW   | 
|   オーストラリア   |   AU   | 
|   オーストリア   |   AT   | 
|   アゼルバイジャン   |   AZ   | 
|   バハマ諸島   |   BS   | 
|   バーレーン   |   BH   | 
|   バングラデシュ   |   BD   | 
|   バルバドス   |   BB   | 
|   ベラルーシ   |   BY   | 
|   ベルギー   |   BE   | 
|   ベリーズ   |   BZ   | 
|   ベニン   |   BJ   | 
|   バミューダ   |   BM   | 
|   ブータン   |   BT   | 
|   ボリビア   |   BO   | 
|   ボスニアヘルツェゴビナ   |   BA   | 
|   ボツワナ   |   BW   | 
|   ブーベ島   |   BV   | 
|   ブラジル   |   BR   | 
|   英領インド洋地域   |   IO   | 
|   英領バージン諸島   |   VG   | 
|   ブルネイ・ダルサラーム   |   BN   | 
|   ブルガリア   |   BG   | 
|   ブルキナファソ   |   BF   | 
|   ブルンジ   |   BI   | 
|   カンボジア   |   KH   | 
|   カメルーン   |   CM   | 
|   カナダ   |   CA   | 
|   カーボベルデ   |   CV   | 
|   オランダカリブ領域   |   BQ   | 
|   ケイマン諸島   |   KY   | 
|   中央アフリカ共和国   |   CF   | 
|   チャド   |   TD   | 
|   チリ   |   CL   | 
|   中国   |   CN   | 
|   クリスマス島   |   CX   | 
|   ココス (キーリング) 諸島   |   CC   | 
|   コロンビア   |   CO   | 
|   コモロ   |   KM   | 
|   クック諸島   |   CK   | 
|   コスタリカ   |   CR   | 
|   クロアチア   |   HR   | 
|   キューバ   |   CU   | 
|   キュラソー   |   CW   | 
|   キプロス   |   CY   | 
|   チェコ共和国   |   CZ   | 
|   コンゴ民主共和国   |   CD   | 
|   デンマーク   |   DK   | 
|   ジブチ   |   DJ   | 
|   ドミニカ   |   DM   | 
|   ドミニカ共和国   |   DO   | 
|   エクアドル   |   EC   | 
|   エジプト   |   EG   | 
|   エルサルバドル   |   SV   | 
|   赤道ギニア   |   GQ   | 
|   エリトリア   |   ER   | 
|   エストニア   |   EE   | 
|   エスワティニ   |   SZ   | 
|   エチオピア   |   ET   | 
|   フォークランド諸島   |   FK   | 
|   フェロー諸島   |   FO   | 
|   フィジー   |   FJ   | 
|   フィンランド   |   FI   | 
|   フランス   |   FR   | 
|   フランス領ギアナ   |   GF   | 
|   フランス領ポリネシア   |   PF   | 
|   フランス領南方・南極地域   |   TF   | 
|   ガボン   |   GA   | 
|   ガンビア   |   GM   | 
|   ジョージア   |   GE   | 
|   ドイツ   |   DE   | 
|   ガーナ   |   GH   | 
|   ジブラルタル   |   GI   | 
|   ギリシャ   |   GR   | 
|   グリーンランド   |   GL   | 
|   グレナダ   |   GD   | 
|   グアドループ   |   GP   | 
|   グアム   |   GU   | 
|   グアテマラ   |   GT   | 
|   ガーンジー代官管轄区   |   GG   | 
|   ギニア   |   GN   | 
|   ギニアビサウ   |   GW   | 
|   ガイアナ   |   GY   | 
|   ハイチ   |   HT   | 
|   ハード島とマクドナルド諸島   |   HM   | 
|   ホンジュラス   |   HN   | 
|   Hong Kong   |   HK   | 
|   ハンガリー   |   HU   | 
|   Iceland   |   IS   | 
|   インド   |   IN   | 
|   インドネシア   |   ID   | 
|   イラン   |   IR   | 
|   イラク   |   IQ   | 
|   アイルランド   |   IE   | 
|   マン島   |   IM   | 
|   イスラエル   |   IL   | 
|   イタリア   |   IT   | 
|   コートジボワール   |   CI   | 
|   ジャマイカ   |   JM   | 
|   日本   |   JP   | 
|   Jersey   |   JE   | 
|   ヨルダン   |   JO   | 
|   カザフスタン   |   KZ   | 
|   ケニア   |   KE   | 
|   キリバス   |   KI   | 
|   コソボ共和国   |   XK   | 
|   クウェート   |   KW   | 
|   キルギスタン   |   KG   | 
|   ラオス   |   LA   | 
|   ラトビア   |   LV   | 
|   レバノン   |   LB   | 
|   レソト   |   LS   | 
|   リベリア   |   LR   | 
|   リビア   |   LY   | 
|   リヒテンシュタイン   |   LI   | 
|   リトアニア   |   LT   | 
|   ルクセンブルグ   |   LU   | 
|   マカオ   |   MO   | 
|   マダガスカル   |   MG   | 
|   マラウイ   |   MW   | 
|   マレーシア   |   MY   | 
|   モルジブ   |   MV   | 
|   マリ   |   ML   | 
|   マルタ   |   MT   | 
|   マーシャル諸島共和国   |   MH   | 
|   マルチニーク   |   MQ   | 
|   モーリタニア   |   MR   | 
|   モーリシャス   |   MU   | 
|   マヨット   |   YT   | 
|   メキシコ   |   MX   | 
|   ミクロネシア   |   FM   | 
|   モルドバ   |   MD   | 
|   モナコ   |   MC   | 
|   モンゴル   |   MN   | 
|   モンテネグロ   |   ME   | 
|   Montserrat   |   MS   | 
|   モロッコ   |   MA   | 
|   モザンビーク   |   MZ   | 
|   ミャンマー   |   MM   | 
|   ナミビア   |   NA   | 
|   ナウル   |   NR   | 
|   ネパール   |   NP   | 
|   オランダ   |   NL   | 
|   ニューカレドニア   |   NC   | 
|   ニュージーランド   |   NZ   | 
|   ニカラグア   |   NI   | 
|   ニジェール   |   NE   | 
|   ナイジェリア   |   NG   | 
|   ニウエ   |   NU   | 
|   ノーフォーク島   |   NF   | 
|   北朝鮮   |   KP   | 
|   北マケドニア   |   MK   | 
|   北マリアナ諸島   |   MP   | 
|   ノルウェー   |   NO   | 
|   オマーン   |   OM   | 
|   パキスタン   |   PK   | 
|   パラオ   |   PW   | 
|   パレスチナ   |   PS   | 
|   パナマ   |   PA   | 
|   パプアニューギニア   |   PG   | 
|   パラグアイ   |   PY   | 
|   ペルー   |   PE   | 
|   フィリピン   |   PH   | 
|   ピトケアン諸島   |   PN   | 
|   ポーランド   |   PL   | 
|   ポルトガル   |   PT   | 
|   プエルトリコ   |   PR   | 
|   カタール   |   QA   | 
|   コンゴ共和国   |   CG   | 
|   レユニオン   |   RE   | 
|   ルーマニア   |   RO   | 
|   ロシア連邦   |   RU   | 
|   ルワンダ   |   RW   | 
|   サン・バルテルミー   |   BL   | 
|   セントヘレナ・アセンションおよびトリスタンダクーニャ   |   SH   | 
|   セントクリストファーネイビス   |   KN   | 
|   セントルシア   |   LC   | 
|   サン・マルタン島   |   MF   | 
|   サンピエール・ミクロン   |   PM   | 
|   セントビンセントおよびグレナディーン諸島   |   VC   | 
|   サモア   |   WS   | 
|   サンマリノ   |   SM   | 
|   サントメプリンシペ   |   ST   | 
|   サウジアラビア   |   SA   | 
|   セネガル   |   SN   | 
|   セルビア   |   RS   | 
|   セイシェル   |   SC   | 
|   シエラレオネ   |   SL   | 
|   シンガポール   |   SG   | 
|   シントマールテン   |   SX   | 
|   スロバキア   |   SK   | 
|   スロベニア   |   SI   | 
|   ソロモン諸島   |   SB   | 
|   ソマリア   |   SO   | 
|   南アフリカ   |   ZA   | 
|   サウスジョージア・サウスサンドウィッチ諸島   |   GS   | 
|   韓国   |   KR   | 
|   南スーダン   |   SS   | 
|   スペイン   |   ES   | 
|   スリランカ   |   LK   | 
|   スーダン   |   SD   | 
|   スリナム   |   SR   | 
|   スバールバル諸島およびヤンマイエン島   |   SJ   | 
|   スウェーデン   |   SE   | 
|   スイス   |   CH   | 
|   シリア・アラブ共和国   |   SY   | 
|   台湾   |   TW   | 
|   タジキスタン   |   TJ   | 
|   タンザニア   |   TZ   | 
|   タイ   |   TH   | 
|   東ティモール   |   TL   | 
|   トーゴ   |   TG   | 
|   トケラウ   |   TK   | 
|   トンガ   |   TO   | 
|   トリニダード・トバゴ   |   TT   | 
|   チュニジア   |   TN   | 
|   トルコ   |   TR   | 
|   トルクメニスタン   |   TM   | 
|   タークスおよびカイコス諸島   |   TC   | 
|   ツバル   |   TV   | 
|   ウガンダ   |   UG   | 
|   ウクライナ   |   UA   | 
|   アラブ首長国連邦   |   AE   | 
|   英国   |   UK   | 
|   国連   |   UN   | 
|   アメリカ   |   US   | 
|   合衆国領有小離島   |   UM   | 
|   アメリカ領バージン諸島   |   VI   | 
|   ウルグアイ   |   UY   | 
|   ウズベキスタン   |   UZ   | 
|   バヌアツ   |   VU   | 
|   バチカン市国   |   VA   | 
|   ベネズエラ   |   VE   | 
|   ベトナム   |   VN   | 
|   ウォリス・フツナ   |   WF   | 
|   西サハラ   |   EH   | 
|   イエメン   |   YE   | 
|   ザンビア   |   ZM   | 
|   ジンバブエ   |   ZW   | 

# 目標メトリクス
<a name="timeseries-objective-metric"></a>

Autopilot は、モデル候補を評価し、予測の生成に使用するモデルを選択するのに役立つ精度メトリクスを生成します。オートパイロットに予測子を最適化させることも、予測子のアルゴリズムを手動で選択することもできます。デフォルトでは、Autopilot は平均重み付き分位損失を使用します。

以下のリストには、時系列予測のモデルのパフォーマンスを測定するために現在利用できるメトリクスの名前が含まれています。

**`RMSE`**  
二乗平均平方根誤差 (RMSE) - 予測値と実際値の二乗差の平均値を求め、その値の平方根を計算したものです。大きなモデル誤差や外れ値の存在を示す重要なメトリクスです。値はゼロ (0) から無限大の範囲で、数値が小さいほど、モデルがデータにより適合していることを示します。RMSE は規模に依存するため、サイズが異なるデータセットの比較には使用しないでください。

**`wQL`**  
重み付き分位点損失 (wQL) — P10、P50、P90 の予測分位数と実際の分位数の重み付き絶対差を測定して予測の精度を評価します。値が小さいほどパフォーマンスが良いことを示します。

**`Average wQL (default)`**  
平均重み付き分位点損失 (平均 wQL) — P10、P50、P90 の分位数で精度を平均して予測を評価します。値が小さいほど、モデルの精度が高くなります。

**`MASE`**  
平均絶対スケーリング誤差 (MASE) — 単純なベースライン予測法の平均絶対誤差で正規化された予測の平均絶対誤差。値が小さいほどモデルの精度が高いことを示し、MASE < 1 はベースラインより良く、MASE > 1 はベースラインよりも悪いと推定されます。

**`MAPE`**  
平均絶対パーセント誤差 (MAPE) — すべての時間ポイントで平均したパーセンテージ誤差 (平均予測値と実際値のパーセントの差)。値が小さいほどモデルの精度が高いことを示し、MAPE = 0 はエラーのないモデルです。

**`WAPE`**  
重み付き絶対パーセント誤差 (WAPE) — 絶対ターゲットの合計で正規化された絶対誤差の合計で、観測値からの予測値の全体的な偏差を測定します。値が小さいほど、モデルの精度が高くなります。

# アルゴリズムは時系列予測をサポートします。
<a name="timeseries-forecasting-algorithms"></a>

Autopilot は、ターゲットの時系列で次の 6 つの組み込みアルゴリズムをトレーニングします。次に、スタッキングアンサンブル手法を使用してこれらのモデル候補を組み合わせ、特定の目標メトリクスに最適な予測モデルを作成します。
+ **畳み込みニューラルネットワーク - 分位点回帰 (CNN-QR)** - CNN-QR は、因果畳み込みニューラルネットワーク (CNN) を使用した時系列予測のための独自の機械学習アルゴリズムです。CNN-QR は、数百の時系列を含む大規模なデータセットで最適に機能します。
+ **DeepAR\$1** - DeepAR\$1 は、再帰型ニューラルネットワーク (RNN) を使用して時系列を予測するための、独占的な機会学習アルゴリズムです。DeepAR\$1 は、数百の特徴量時系列を含む大規模なデータセットで最適に機能します。
+ **Prophet** — [Prophet](https://facebook.github.io/prophet/) は、非線形トレンドが年次、週次、および日次の季節性に適合する加法モデルに基づく、人気のある局所的なベイズ構造時系列モデルです。Autopilot Prophet のアルゴリズムでは、Prophet の Python 実装の [Prophet クラス](https://facebook.github.io/prophet/docs/quick_start.html#python-ap)を使用します。これは、季節性の強い効果といくつかの季節の履歴データを持つ時系列で最適に機能します。
+ **ノンパラメトリック時系列 (NPTS)** - NPTS の独占的なアルゴリズムは、スケーラブルで確率的なベースライン予測機能です。過去の観測からサンプリングすることにより、特定の時系列の未来の価値分布を予測します。NPTS は、スパースまたは断続的な時系列を使用する場合に特に役立ちます。
+ **自己回帰和分移動平均 (ARIMA)** - ARIMA は、時系列予測に一般的に使用される統計アルゴリズムです。アルゴリズムは、入力データセットの標準的時間構造 (時間のパターン化された編成) をキャプチャします。これは、時系列が 100 未満の単純なデータセットに特に役立ちます。
+ **指数平滑法 (ETS)** - ETS は、時系列予測に一般的に使用される統計アルゴリズムです。このアルゴリズムは、時系列が 100 未満の単純なデータセット、および季節性パターンのあるデータセットに特に役立ちます。ETS は、時系列データセット内のすべての観測値の加重平均を予測として計算し、時間の経過とともに重みを指数関数的に減少させます。

# デプロイされた Autopilot モデルの予測
<a name="timeseries-forecasting-deploy-models"></a>

AutoML API を使用してモデルをトレーニングしたら、リアルタイムまたはバッチベースの予測用にデプロイできます。

AutoML API は、時系列データ用の複数のモデル候補をトレーニングし、ターゲットの目標メトリクスに基づいて最適な予測モデルを選択します。モデル候補がトレーニングされると、レスポンス [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) の [BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-CandidateName) で最適な候補メトリクスを見つけることができます。

この最もパフォーマンスの高いモデルをを使用して予測を取得するには、エンドポイントを設定して予測をインタラクティブに取得するか、バッチ予測を使用して一定の観測値に基づいて予測を行います。

**考慮事項**
+ 予測用の入力データを提供する場合、データのスキーマは、列数、列ヘッダー、データ型を含め、モデルのトレーニングに使用したものと同じにしておく必要があります。異なる期間を予測するために、同じまたは異なるタイムスタンプ範囲内の既存または新しいアイテム ID を予測することができます。
+ 予測モデルは、トレーニング時の入力リクエストで指定された将来の予測期間ポイント (ターゲット終了日からターゲット終了日 \$1 予測期間) を予測します。特定の日付を予測するためにモデルを使用するには、元の入力データと同じ形式で、指定されたターゲット終了日まで拡張したデータを提供する必要があります。このシナリオでは、モデルは新しいターゲット終了日から予測を開始します。

  例えば、データセットに 1 月から 6 月までの月次データがあり、予測期間が 2 の場合、モデルは次の 2 か月間、つまり 7 月と 8 月のターゲット値を予測します。8 月に次の 2 か月を予測する場合、今回は入力データを 1 月から 8 月までとし、モデルは次の 2 か月 (9 月、10 月) を予測します。
+ 将来のデータポイントを予測する場合、提供する履歴データの量に最小値は設定されません。時系列の季節的なパターンと反復的なパターンをキャプチャするのに十分なデータを含めます。

**Topics**
+ [リアルタイム予測](timeseries-forecasting-realtime.md)
+ [バッチ予測](timeseries-forecasting-batch.md)

# リアルタイム予測
<a name="timeseries-forecasting-realtime"></a>

リアルタイム予測は、即時応答を必要とするアプリケーションや個々のデータポイントの予測など、その場で予測を生成する必要がある場合に役立ちます。

AutoML モデルをリアルタイムエンドポイントとしてデプロイすることで、予測をオンデマンドで生成し、新しいデータを受信してから予測を取得するまでの間のレイテンシーを最小限に抑えることができます。このため、リアルタイム予測は、即時の、パーソナライズされた、またはイベント駆動型の予測機能を必要とするアプリケーションに適しています。

リアルタイム予測の場合、データセットは入力データセットのサブセットである必要があります。リアルタイムエンドポイントの入力データサイズは約 6 MB で、応答タイムアウトの制限は 60 秒です。一度に 1 つまたはいくつかの項目を取り込むことをお勧めします。

SageMaker API を使用して AutoML ジョブの最適な候補を取得し、その候補を使用して SageMaker AI エンドポイントを作成できます。

または、Autopilot 実験の作成時に自動デプロイオプションを選択することもできます。モデルの自動デプロイの設定については、「[自動デプロイを有効にする方法](autopilot-create-experiment-timeseries-forecasting.md#timeseries-forecasting-auto-model-deployment)」を参照してください。

**最適なモデル候補を使用して SageMaker AI エンドポイントを作成するには**

1. 

**AutoML ジョブの詳細を取得します。**

   次の AWS CLI コマンド例では、[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API を使用して、最適なモデル候補に関する情報など、AutoML ジョブの詳細を取得します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) から最適なモデル候補のコンテナ定義を抽出します。**

   コンテナ定義は、予測を実行するトレーニング済みの SageMaker AI モデルをホストするために使用されるコンテナ化された環境です。

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
     --auto-ml-job-name job-name 
     --region region \
     --query 'BestCandidate.InferenceContainers[0]' \
     --output json
   ```

   このコマンドは、最適なモデル候補のコンテナ定義を抽出して、`BEST_CANDIDATE` 変数に保存します。

1. 

**最適な候補のコンテナ定義を使用して SageMaker AI モデルを作成します。**

   前のステップのコンテナ定義を使用して、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を使用して SageMaker AI モデルを作成します。

   ```
   aws sagemaker create-model \
               --model-name 'your-candidate-name>' \
               --primary-container "$BEST_CANDIDATE"
               --execution-role-arn 'execution-role-arn>' \
               --region 'region>
   ```

   `--execution-role-arn` パラメータは、モデルを推論に使用するときに SageMaker AI が引き受ける IAM ロールを指定します。このロールに必要なアクセス許可の詳細については、「[CreateModel API: Execution Role Permissions](https://docs.aws.amazon.com/)」を参照してください。

1. 

**モデルを使用して SageMaker AI エンドポイント設定を作成します。**

   次の AWS CLI コマンドは、[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html) API を使用してエンドポイント設定を作成します。

   ```
   aws sagemaker create-endpoint-config \
     --production-variants file://production-variants.json \
     --region 'region'
   ```

   `production-variants.json` ファイルには、モデル名とインスタンスタイプを含むモデル設定が含まれています。
**注記**  
リアルタイム予測には [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) インスタンスを使用することをお勧めします。

   ```
   [
       {
         "VariantName": "variant-name",
         "ModelName": "model-name",
         "InitialInstanceCount": 1,
         "InstanceType": "m5.12xlarge"
       }
     ]
   }
   ```

1. 

**エンドポイント設定を使用し てSageMaker AI エンドポイントを作成します。**

   次の AWS CLI 例では、[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) API を使用してエンドポイントを作成します。

   ```
   aws sagemaker create-endpoint \
               --endpoint-name 'endpoint-name>' \
               --endpoint-config-name 'endpoint-config-name' \
               --region 'region'
   ```

   [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) API を使用して、リアルタイム推論エンドポイントのデプロイの進行状況を確認します。例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-endpoint \
               --endpoint-name 'endpoint-name' \
               --region 'region'
   ```

   `EndpointStatus` が `InService` に変更されると、エンドポイントはリアルタイム推論に使用できるようになります。

1. 

**SageMaker AI エンドポイントを呼び出して予測を行います。**

   ```
   aws sagemaker invoke-endpoint \
               --endpoint-name 'endpoint-name' \ 
               --region 'region' \
               --body file://input-data-in-bytes.json \
               --content-type 'application/json' outfile
   ```

   `input-data-in-bytes.json` ファイルには予測用の入力データが含まれます。

# バッチ予測
<a name="timeseries-forecasting-batch"></a>

バッチ予測は、オフライン推論とも呼ばれ、バッチ観測に基づいてモデル予測を生成します。バッチ推論は、データセットが大きい場合や、モデル予測のリクエストにすぐに応答する必要がない場合に適しています。

これとは対照的に、オンライン推論 (リアルタイム推論) はリアルタイムで予測を生成します。

SageMaker API を使用して AutoML ジョブの最適な候補を取得し、その候補を使用して推論用の入力データのバッチを送信できます。

1. 

**AutoML ジョブの詳細を取得します。**

   次の AWS CLI コマンド例では、[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) API を使用して、最適なモデル候補に関する情報など、AutoML ジョブの詳細を取得します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. 

**[InferenceContainers](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidate.html#sagemaker-Type-AutoMLCandidate-InferenceContainers) から最適なモデル候補のコンテナ定義を抽出します。**

   コンテナ定義は、予測を実行するトレーニング済みの SageMaker AI モデルをホストするために使用されるコンテナ化された環境です。

   ```
   BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \
         --auto-ml-job-name job-name 
         --region region \
         --query 'BestCandidate.InferenceContainers[0]' \
         --output json
   ```

   このコマンドは、最適なモデル候補のコンテナ定義を抽出して、`BEST_CANDIDATE` 変数に保存します。

1. 

**最適な候補のコンテナ定義を使用して SageMaker AI モデルを作成します。**

   前のステップのコンテナ定義を使用して、[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) API を使用して SageMaker AI モデルを作成します。

   ```
   aws sagemaker create-model \
         --model-name 'model-name' \
         --primary-container "$BEST_CANDIDATE"
         --execution-role-arn 'execution-role-arn>' \
         --region 'region>
   ```

   `--execution-role-arn` パラメータは、モデルを推論に使用するときに SageMaker AI が引き受ける IAM ロールを指定します。このロールに必要なアクセス許可の詳細については、「[CreateModel API: Execution Role Permissions](https://docs.aws.amazon.com/)」を参照してください。

1. 

**バッチ変換ジョブを作成します。**

   次の例では、[CreateTransformJob](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-transform-job.html) API を使用して変換ジョブを作成します。

   ```
   aws sagemaker create-transform-job \ 
          --transform-job-name 'transform-job-name' \
          --model-name 'model-name'\
          --transform-input file://transform-input.json \
          --transform-output file://transform-output.json \
          --transform-resources file://transform-resources.json \
          --region 'region'
   ```

   入力、出力、リソースの詳細は、個別の JSON ファイルで定義されます。
   + `transform-input.json`:

     ```
     {
       "DataSource": {
         "S3DataSource": {
           "S3DataType": "S3Prefix",
           "S3Uri": "s3://my-input-data-bucket/path/to/input/data"
         }
       },
       "ContentType": "text/csv",
       "SplitType": "None"
     }
     ```
   + `transform-output.json`:

     ```
     {
       "S3OutputPath": "s3://my-output-bucket/path/to/output",
       "AssembleWith": "Line"
     }
     ```
   + `transform-resources.json`:
**注記**  
汎用ワークロードには [m5.12xlarge](https://aws.amazon.com/ec2/instance-types/m5/) インスタンスを使用し、ビッグデータ予測タスクには `m5.24xlarge` インスタンスを使用することをお勧めします。

     ```
     {
       "InstanceType": "instance-type",
       "InstanceCount": 1
     }
     ```

1. 

**[DescribeTransformJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTransformJob.html) API を使用して変換ジョブの進行状況を監視します。**

   例として、次の AWS CLI コマンドを参照してください。

   ```
   aws sagemaker describe-transform-job \
         --transform-job-name 'transform-job-name' \
         --region region
   ```

1. 

**バッチ変換出力を取得します。**

   ジョブが終了すると、予測された結果が `S3OutputPath` に表示されます。

   出力ファイル名は以下のの形式です。`input_data_file_name.out`例えば、入力ファイルが `text_x.csv` の場合、出力名は `text_x.csv.out` になります。

   ```
   aws s3 ls s3://my-output-bucket/path/to/output/
   ```

次のコード例は、 AWS SDK for Python (boto3) と をバッチ予測に使用する AWS CLI 方法を示しています。

------
#### [ AWS SDK for Python (boto3) ]

 以下の例では **AWS SDK for Python (boto3)** を使用してバッチで予測を行います。

```
import sagemaker 
import boto3

session = sagemaker.session.Session()

sm_client = boto3.client('sagemaker', region_name='us-west-2')
role = 'arn:aws:iam::1234567890:role/sagemaker-execution-role'
output_path = 's3://test-auto-ml-job/output'
input_data = 's3://test-auto-ml-job/test_X.csv'

best_candidate = sm_client.describe_auto_ml_job_v2(AutoMLJobName=job_name)['BestCandidate']
best_candidate_containers = best_candidate['InferenceContainers']
best_candidate_name = best_candidate['CandidateName']

# create model
reponse = sm_client.create_model(
    ModelName = best_candidate_name,
    ExecutionRoleArn = role,
    Containers = best_candidate_containers 
)

# Lauch Transform Job
response = sm_client.create_transform_job(
    TransformJobName=f'{best_candidate_name}-transform-job',
    ModelName=model_name,
    TransformInput={
        'DataSource': {
            'S3DataSource': {
                'S3DataType': 'S3Prefix',
                'S3Uri': input_data
            }
        },
        'ContentType': "text/csv",
        'SplitType': 'None'
    },
    TransformOutput={
        'S3OutputPath': output_path,
        'AssembleWith': 'Line',
    },
    TransformResources={
        'InstanceType': 'ml.m5.2xlarge',
        'InstanceCount': 1,
    },
)
```

バッチ推論ジョブは、以下の形式でレスポンスを返します。

```
{'TransformJobArn': 'arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-transform-job',
 'ResponseMetadata': {'RequestId': '659f97fc-28c4-440b-b957-a49733f7c2f2',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'x-amzn-requestid': '659f97fc-28c4-440b-b957-a49733f7c2f2',
   'content-type': 'application/x-amz-json-1.1',
   'content-length': '96',
   'date': 'Thu, 11 Aug 2022 22:23:49 GMT'},
  'RetryAttempts': 0}}
```

------
#### [ AWS Command Line Interface (AWS CLI) ]

1. **最適な候補のコンテナ定義を取得**します。

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name 'test-automl-job' --region us-west-2
   ```

1. **モデルを作成**します。

   ```
   aws sagemaker create-model --model-name 'test-sagemaker-model'
   --containers '[{
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz",
       "Environment": {
           "AUTOML_SPARSE_ENCODE_RECORDIO_PROTOBUF": "1",
           "AUTOML_TRANSFORM_MODE": "feature-transform",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "application/x-recordio-protobuf",
           "SAGEMAKER_PROGRAM": "sagemaker_serve",
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code"
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-xgboost:1.3-1-cpu-py3",
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/tuning/flicdf10v2-dpp0-xgb/test-job1E9-244-7490a1c0/output/model.tar.gz",
       "Environment": {
           "MAX_CONTENT_LENGTH": "20971520",
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv",
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,probabilities" 
       }
   }, {
       "Image": "348316444620.dkr.ecr.us-west-2.amazonaws.com/sagemaker-sklearn-automl:2.5-1-cpu-py3", 
       "ModelDataUrl": "s3://amzn-s3-demo-bucket/out/test-job1/data-processor-models/test-job1-dpp0-1-e569ff7ad77f4e55a7e549a/output/model.tar.gz", 
       "Environment": { 
           "AUTOML_TRANSFORM_MODE": "inverse-label-transform", 
           "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv", 
           "SAGEMAKER_INFERENCE_INPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_OUTPUT": "predicted_label", 
           "SAGEMAKER_INFERENCE_SUPPORTED": "predicted_label,probability,labels,probabilities", 
           "SAGEMAKER_PROGRAM": "sagemaker_serve", 
           "SAGEMAKER_SUBMIT_DIRECTORY": "/opt/ml/model/code" 
       } 
   }]' \
   --execution-role-arn 'arn:aws:iam::1234567890:role/sagemaker-execution-role' \
   --region 'us-west-2'
   ```

1. **変換ジョブを作成**します。

   ```
   aws sagemaker create-transform-job --transform-job-name 'test-tranform-job'\
    --model-name 'test-sagemaker-model'\
    --transform-input '{
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "SplitType": "None"
       }'\
   --transform-output '{
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line"
       }'\
   --transform-resources '{
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       }'\
   --region 'us-west-2'
   ```

1. **変換ジョブの進行状況を確認**します。

   ```
   aws sagemaker describe-transform-job --transform-job-name  'test-tranform-job' --region us-west-2
   ```

   以下は、変換ジョブからのレスポンスです。

   ```
   {
       "TransformJobName": "test-tranform-job",
       "TransformJobArn": "arn:aws:sagemaker:us-west-2:1234567890:transform-job/test-tranform-job",
       "TransformJobStatus": "InProgress",
       "ModelName": "test-model",
       "TransformInput": {
           "DataSource": {
               "S3DataSource": {
                   "S3DataType": "S3Prefix",
                   "S3Uri": "s3://amzn-s3-demo-bucket/data.csv"
               }
           },
           "ContentType": "text/csv",
           "CompressionType": "None",
           "SplitType": "None"
       },
       "TransformOutput": {
           "S3OutputPath": "s3://amzn-s3-demo-bucket/output/",
           "AssembleWith": "Line",
           "KmsKeyId": ""
       },
       "TransformResources": {
           "InstanceType": "ml.m5.2xlarge",
           "InstanceCount": 1
       },
       "CreationTime": 1662495635.679,
       "TransformStartTime": 1662495847.496,
       "DataProcessing": {
           "InputFilter": "$",
           "OutputFilter": "$",
           "JoinSource": "None"
       }
   }
   ```

   `TransformJobStatus` を `Completed` に変更した後は、`S3OutputPath` で推論結果を確認できます。

------

# Amazon SageMaker Autopilot のデータ探索ノートブック
<a name="timeseries-forecasting-data-exploration-notebook"></a>

Amazon SageMaker Autopilot は、データセットのクリーンアップと前処理を自動的に行います。Amazon SageMaker Autopilot は、ユーザーがデータを理解し、時系列に関するパターン、関係、異常を明らかにできるように、ユーザーが参照できるノートブック形式の**データ探索**静的レポートを生成します。

データ探索ノートブックは、Autopilot のジョブごとに生成されます。レポートは Amazon S3 バケットに保存され、ジョブの出力パスからアクセスできます。

データ探索ノートブックへの Amazon S3 プレフィックスは、`[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンス内の `[AutoMLJobArtifacts.DataExplorationNotebookLocation](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#sagemaker-DescribeAutoMLJobV2-response-AutoMLJobArtifacts)` にあります。

# Amazon SageMaker Autopilot によって生成されたレポート
<a name="timeseries-forecasting-reports"></a>

データ探索ノートブックに加えて、Autopilot は各実験の最適なモデル候補に関するさまざまなレポートを生成します。
+ 説明可能性レポートでは、モデルがどのように予測を行うかについてのインサイトが得られます。
+ パフォーマンスレポートは、モデルの予測機能を定量的に評価します。
+ バックテスト結果レポートは、モデルのパフォーマンスを履歴データでテストした後に生成されます。

## 説明可能性レポート
<a name="timeseries-forecasting-explainability-report"></a>

Autopilot の説明可能性レポートは、データセット内の属性が特定の時系列 (項目とディメンションの組み合わせ) および時間ポイントの予測にどのように影響するかをよりよく理解するのに役立ちます。Autopilot は、Impact スコアと呼ばれるメトリクスを使用して、各属性の相対的な影響を定量化し、それらが予測値を増加させるか減少させるかを決定します。

例えば、ターゲットが `sales` であり、`price` および `color` といった関連する 2 つの属性がある予測シナリオについて考えてみます。Autopilot は、商品の色が、特定の商品の売上には大きな影響を与えるが、他の商品に対する影響はごくわずかであると判断する可能性があります。また、夏のプロモーションは売上に大きな影響を与えるが、冬のプロモーションはほとんど効果がないと判断する可能性もあります。

説明可能性レポートは次の場合にのみ生成されます。
+ 時系列データセットに追加の特徴量列が含まれているか、祝祭日カレンダーに関連付けられている場合。
+ ベースモデルの CNN-QR と DeepAR\$1 が最終的なアンサンブルに含まれている場合。

### 影響スコアの解釈
<a name="timeseries-forecasting-explainability-impact-scores"></a>

影響スコアは、予測値に対する相対的な影響属性を測定します。例えば、`price` 属性の影響スコアが `store location` 属性の 2 倍である場合、商品の料金は、予測値に対して、店舗の場所の 2 倍の影響を及ぼすと結論付けることができます。

影響スコアは、属性が予測値を増加させるか減少させるかに関する情報も提供します。

Impact スコアの範囲は -1 から 1 で、記号は影響の方向を示します。スコアが 0 の場合は影響がないことを示し、スコアが 1 または -1 に近い場合は影響が大きいことを示します。

Impact スコアは、絶対的な影響ではなく、属性の相対的な影響を測定することに注意することが重要です。したがって、Impact スコアで、特定の属性がモデルの精度が向上するかどうかを判断することはできません。属性の Impact スコアが低い場合、それは必ずしも予測値への影響が少ないことを意味するわけではありません。これは、予測子が使用する他の属性よりも予測値への影響が少ないことを意味します。

### 説明可能性レポートの検索
<a name="timeseries-forecasting-explainability-report-location"></a>

最適な候補に対して生成された説明可能性アーティファクトの Amazon S3 プレフィックスは `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンス内の `[BestCandidate.CandidateProperties.CandidateArtifactLocations.Explainability](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-Explainability)` にあります。

## モデルパフォーマンスレポート
<a name="timeseries-forecasting-model-performance-report"></a>

Autopilot モデル品質レポート (パフォーマンスレポートとも呼ばれる) は、AutoML ジョブによって生成された最適なモデル候補 (最適な予測因子) に関するインサイトと品質情報を提供します。これには、ジョブの詳細、目標関数、精度メトリクス (`wQL`、`MAPE`、`WAPE`、`RMSE`、`MASE`) に関する情報が含まれます。

最適な候補に対して生成されたモデル品質レポートアーティファクトへの Amazon S3 プレフィックスは `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` のレスポンス内の `[BestCandidate.CandidateProperties.CandidateArtifactLocations.ModelInsights](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-ModelInsights)` にあります。

## バックテスト結果レポート
<a name="timeseries-forecasting-model-backtest-report"></a>

バックテストの結果は、予測の精度と信頼性を評価することにより、時系列予測モデルのパフォーマンスに関するインサイトを提供します。アナリストやデータサイエンティストが過去のデータに対するパフォーマンスを評価するのに役立ち、将来の、見えないデータに対する潜在的なパフォーマンスを理解するのに役立ちます。

Autopilot は、バックテストを使用してパラメータをチューニングし、精度メトリクスを生成します。バックテスト中、Autopilot は、時系列データをトレーニングセットとテストセットといった 2 つのセットに自動的に分割します。トレーニングセットは、モデルをトレーニングし、テストセット内のデータポイントの予測を生成するために使用されます。Autopilot は、このテストデータセットを使用して予測値をテストセットの観測値と比較することにより、モデルの精度を評価します。

最適な候補に対して生成されたモデル品質レポートアーティファクトへの Amazon S3 プレフィックスは `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` のレスポンスの `[BestCandidate.CandidateProperties.CandidateArtifactLocations.BacktestResults](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateArtifactLocations.html#sagemaker-Type-CandidateArtifactLocations-BacktestResults)` にあります。

# Autopilot の時系列予測リソースの制限
<a name="timeseries-forecasting-limits"></a>

次の表に、Amazon SageMaker Autopilot での時系列予測ジョブのリソース制限と、各制限が調整できるかどうかを示します。


| **リソースの制限** | **デフォルトの制限** | **調整可能** | 
| --- | --- | --- | 
|  入力データセットのサイズ  |  30 GB  |  はい  | 
|  1 つの Parquet ファイルのサイズ  |  2 GB  |  いいえ  | 
|  データセットの行の最大数  |  30 億  |  はい  | 
|  グループ列の最大数  |  5  |  いいえ  | 
|  数値特徴量の最大数  |  13  |  いいえ  | 
|  カテゴリ別特徴量の最大数  |  10  |  いいえ  | 
|  データセットあたりの時系列 (項目とグループ列の一意の組み合わせ) の最大数  |  5,000,000  |  はい  | 
|  最大予測期間  |  500  |  はい  | 