

 Amazon Forecast は新規顧客には利用できなくなりました。Amazon Forecast の既存のお客様は、通常どおりサービスを引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/)

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

# What-If 分析
<a name="what-if"></a>

 What-If 分析は、さまざまなシナリオが Amazon Forecast によって作成されたベースライン予想にどのように影響するかを調査して説明するのに役立つツールです。ベースライン予想は、ユーザーが提供した元の関連時系列に基づいて Amazon Forecast によって作成された予想です。

What-If 分析では、関連する時系列をどのように変更したかに基づいて、一連の What-If 予想が作成されます。これらの What-If 予想をベースライン予想と比較対照することで、特定の変更がモデルにどのような影響を与えるかを理解しやすくなります。

修正された関連時系列を作成する方法は 2 つあります。Amazon S3 パスに変更された関連時系列を指定することも、既存の関連時系列に変換セットを指定することもできます。変換のセットを指定すると、それらの変更を含む元の関連時系列のコピーが作成されます。

変換により、関連する時系列のサブセットを作成したり、関連する時系列の特定の属性を変更したりできます。詳細については、「[代替データセット](replacement-series.md)」および「[変換関数](data-transformations.md)」を参照してください。

**Topics**
+ [What-If 分析の作成](#how-what-if-works)
+ [変換関数](data-transformations.md)
+ [代替データセット](replacement-series.md)

## What-If 分析の作成
<a name="how-what-if-works"></a>

What-If 分析では、ベースラインに関連する時系列の変化が予想にどのように影響するかを調査します。What-If 分析は、AutoPredictor を使用する予想からのみ作成できます。What-If 分析を作成したら、1 つ以上の What-If 予想を作成します。What-If 予想とベースライン予想を比較し、What-If 予想を 1 つ以上エクスポートします。

**注記**  
What-If 分析を作成するには、データをカンマ区切り値 (CSV) 形式にする必要があります。

**Topics**
+ [What-If 分析の作成](#create-analysis)
+ [What-If 予想の作成](#create-forecast)
+ [What-If 予想を比較する](#compare-forecasts)
+ [What-If 予想をエクスポートする](#export-forecasts)
+ [What-If 予想をクエリする](#query-wi-forecasts)

### What-If 分析の作成
<a name="create-analysis"></a>

Forecast コンソールまたは Forecast Software Development Kit (SDK) を使用して、What-If 分析を作成できます。

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

What-If 分析を作成するには、次のステップを実行します。

1. AutoPredictor を使用して学習させた予想を作成します。

1. 関心のある予想を含むデータセットグループダッシュボードを開きます。

1. **[What-If 分析を確認]** を選択します。

1. [インサイト] ページの **[What-If 分析]** タブで、**[作成]** を選択します。

1. **[What-If 分析名]** フィールドに一意の名前を入力し、この分析のベースライン予想を選択します。

1. **[項目の選択]** エリアで、分析にすべての項目を自動的に含めるか、ファイルに含める項目を指定するかを選択します。

   **[ファイルから項目を選択]** を選択した場合は、What-If 予想で変更する項目だけを含むデータセットを指定する必要があります。詳細については、「[時系列の指定](forecast-explainability.md#forecast-explainability-time-series)」を参照してください。

1. **[What-If 分析を作成]** を選択します。What-If 分析ページの上部にあるバナーに、What-If 分析作成ジョブのステータスが表示されます。

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

[CreateWhatIfAnalysis](API_CreateWhatIfAnalysis.md) オペレーションを使用して、WhatIfAnalysisName に一意の名前を指定し、ForecastArn のベースライン予想の予想 ARN を指定します。次の例は、「item\_id」と「store\_location」のディメンションの組み合わせを使用した時系列のスキーマを示しています。詳細については、「[時系列の指定](forecast-explainability.md#forecast-explainability-time-series)」を参照してください。

```
{
  "ForecastArn": "arn:aws:forecast:region:acctNumber:forecast/baselineForecast",
  "WhatIfAnalysisName": "unique_name",
  "TimeSeriesSelector": {
    "TimeSeriesIdentifiers": {
      "DataSource": {
        "S3Config": {
          "Path": "s3://bucket/example-path",
          "RoleArn": "arn:aws:iam::000000000000:role/ExampleRole"
        }
      },
      "Schema": {
        "Attributes": [
          {
            "AttributeName": "item_id",
            "AttributeType": "string"
          }
          { 
            "AttributeName": "store_location",
            "AttributeType": "string"
          }
        ]
      }
    }
  }
}
```

------

### What-If 予想の作成
<a name="create-forecast"></a>

Forecast コンソールまたは Forecast Software Development Kit (SDK) を使用して、What-If 予想を作成できます。

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

What-If 予想を作成するには、次のステップを実行します。

1. [インサイト] ページの **[What-If 分析]** タブで、関心がある What-If 分析を選択します。

1. **[What-If 予想]** セクションで、**[作成]** を選択します。

1. [What-If 予想の作成] ページで、固有の **What-If 予想名**を入力し、**[変換関数を使用する]** または **[What-If 予想を代替データセットで定義する]** を選択します。詳細については、「[代替データセット](replacement-series.md)」および「[変換関数](data-transformations.md)」を参照してください。

   1. **[変換関数を使用する]** を選択した場合は、**[変換関数ビルダー]** を使用して What-If 予想に含まれる行を選択して変更する必要があります。すべての変換は、指定された順序で適用されます。条件は指定された順序で適用され、AND 演算で結合されます。変換は、すべての条件が満たされた場合にのみ適用されます。

   1. **[What-If 予想を代替データセットで定義する]** を選択した場合は、What-If 予想で変更したい行のみを含む代替データセットを指定する必要があります。

1. **[作成]** を選択します。

------
#### [ SDK - Transformation Function ]

[CreateWhatIfForecast](API_CreateWhatIfForecast.md) オペレーションを使用して、WhatIfAnalysisName に一意の名前を指定し、ForecastArn の予想 ARN を指定します。以下の例は、「store\_location」が「tacoma」でない場合に「price」に変換するスキーマを示しています。

```
{
  "WhatIfAnalysisArn": "arn:aws:forecast:us-west-2:666488130463:what-if-analysis/jan2020forecast/PromotionAnalysis_01G8MB3PZM89J9V1VEXCC0BS63",
  "WhatIfForecastName": "unique_name",
  "TimeSeriesTransformations": [
    {
      "Action": {
        "AttributeName": "price",
        "Operation": "MULTIPLY",
        "Value": 0.85
      },
      "TimeSeriesConditions": [
        {
          "AttributeName": "store_location",
          "AttributeValue": "tacoma",
          "Condition": "NOT_EQUALS"
        }
      ]
    }
  ]
}
```

この例では、`jan2020forecast` はベースライン予想で、`PromotionAnalysis_01G8MB3PZM89J9V1VEXCC0BS63` は What-If 分析の名前です。

[TimeSeriesReplacementsDataSource](API_TimeSeriesReplacementsDataSource.md) オペレーションでは代替データセットを指定することもできます。

------
#### [ SDK - Replacement Dataset ]

[CreateWhatIfForecast](API_CreateWhatIfForecast.md) オペレーションを使用して、WhatIfAnalysisName に一意の名前を指定し、ForecastArn の予想 ARN を指定します。次の例は、代替データソースのスキーマを示しています。

```
{
  "WhatIfAnalysisArn": "arn:aws:forecast:us-west-2:666488130463:what-if-analysis/jan2020forecast/PromotionAnalysis_01G8MB3PZM89J9V1VEXCC0BS63",
  "WhatIfForecastName": "unique_name",
  "TimeSeriesReplacementsDataSource": {
    "S3config": {
      "Path" : "s3://{{bucket-name}}/replacementDatasource.csv",
      "RoleArn": "arn:aws:iam::{{acct-id}}:role/{{Role}}"
    },
    "Schema": {
      Attributes" : [
        {
          "AttributeName": "item_id",
          "AttributeType": "string"
        },
        {
          "AttributeName": "timestamp",
          "AttributeType": "timestamp"
        },
        {
          "AttributeName": "price",
          "AttributeType": "float"
        },
        {
          "AttributeName": "stock_count",
          "AttributeType": "integer"
        },
      ]
    }
  }
}
```

[TimeSeriesTransformation](API_TimeSeriesTransformation.md) オペレーションで関連する時系列への変更を指定することもできます。

------

### What-If 予想を比較する
<a name="compare-forecasts"></a>

What-If 予想を比較するには、Forecast コンソールで次の手順を実行します。

1. [インサイト] ページの **[What-If 分析]** タブで、関心がある What-If 分析を選択します。

1. **[What-If 予想の比較]** セクションで、分析する項目、1 つ以上の **What-If 予想**、および少なくとも 1 つの**予想タイプ**を指定します。  
![What-If 予測とベースライン予測を比較し、入力フィールドとグラフを表示するためのインターフェイス。](http://docs.aws.amazon.com/ja_jp/forecast/latest/dg/images/compareWhatIfForecasts.png)

   この例では、2 つの What-If 予想 `priceCut10pct` と `priceIncrease20pct` が、`item_105` の予想タイプ `p50`、`p10`、`p90` と比較されています。グラフから、これらの予想がベースラインの時系列とどのように比較されるかを確認できます。

1. グラフにカーソルを合わせると、What-If 予想がベースライン予想とどのように比較されるかを調べることができます。

### What-If 予想をエクスポートする
<a name="export-forecasts"></a>

Forecast コンソールまたは Forecast Software Development Kit (SDK) を使用して、What-If 予想をエクスポートできます。

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

What-If 予想をエクスポートするには、次のステップを実行します。

1. [インサイト] ページの **[What-If 分析]** タブで、関心がある What-If 分析を選択します。

1. **[What-If 予想のエクスポート]** セクションで、**[エクスポートを作成]** を選択します。

1. [What-If 予想エクスポートの作成] ページで、固有の **What-If 予想エクスポート名**を入力し、含める **What-If 予想**を指定し、**[エクスポート場所]**を選択して **IAM ロール**を指定します。

1. **[Create Export]** (エクスポートを作成) を選択します。

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

[CreateWhatIfForecastExport](API_CreateWhatIfForecastExport.md) オペレーションを使用して、エクスポートを格納する Amazon S3 バケットを指すように「宛先」を設定します。どの What-If 予想をエクスポートするかを指定し、エクスポートに固有の名前を指定します。

```
{
  "WhatIfForecastArns": [ "arn:aws:forecast:region:acctNumber:what-if-forecast/id1" , "arn:aws:forecast:region:acctNumber:what-if-forecast/id2" ],
  "WhatIfForecastExportName": "unique_export_name",
  "Destination": {
    "S3Config": {
      "Path": "s3://bucket/example-path",
      "RoleArn": "arn:aws:iam::000000000000:role/ExampleRole"
    }
  },
}
```

------

### What-If 予想をクエリする
<a name="query-wi-forecasts"></a>

[QueryWhatIfForecast](API_forecastquery_QueryWhatIfForecast.md) オペレーションを使用して What-If 予想をクエリします。デフォルトでは、予測の全範囲が返ります。完全な予測内で特定の日付範囲をリクエストできます。

What-If 予想をクエリする際、フィルタリング条件を指定する必要があります。フィルタはキーと値のペアです。キーは、予測の作成に使用されるいずれかのデータセットのスキーマ属性名 (予測ディメンションを含む) の 1 つです。値は、指定されたキーの有効な値です。複数のキーと値のペアを指定できます。返される What-If 予想には、すべての条件を満たすアイテムのみが含まれます。

例えば、次のコードを使用して `product_42` の What-If 予想を取得します。

```
{
          "Filters": { 
          "item_id" : "product_42"
          },
          "WhatIfForecastArn": "arn:aws:forecast:region:acctNumber:what-if-forecast/id1"
}
```