

 신규 고객은 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 예측을 기준선 예측과 비교 및 대조하면 특정 변경이 모델에 미치는 영향을 이해하는 데 도움이 됩니다.

수정된 관련 시계열을 생성하는 방법은 두 가지가 있습니다. 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 분석은 기준선 관련 시계열의 변경이 예측에 미치는 영향을 살펴봅니다. AutoPredictor를 사용하는 예측에서만 what-if 분석을 생성할 수 있습니다. what-if 분석을 생성한 후에 what-if 예측을 하나 이상 생성합니다. what-if 예측과 기준선 예측을 비교한 다음 하나 이상의 what-if 예측을 내보냅니다.

**참고**  
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 소프트웨어 개발 키트(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 소프트웨어 개발 키트(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. **생성(Create)**을 선택합니다.

------
#### [ 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 예측 비교** 섹션에서 분석할 항목, 하나 이상의 **what-if 예측**, 하나 이상의 **예측 유형**을 지정합니다.  
![](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/compareWhatIfForecasts.png)

   이 예제에는 `item_105`에 대한 `p50`, `p10`, `p90` 예측 유형에서 비교되는 두 개의 가정 예측인 `priceCut10pct`와 `priceIncrease20pct`가 있습니다. 그래프를 통해 이러한 예측이 기준선 시계열과 어떻게 비교되는지 확인할 수 있습니다.

1. 차트 위에 커서를 올려 놓으면 what-if 예측과 기준선 예측이 어떻게 비교되는지 살펴볼 수 있습니다.

### what-if 예측 내보내기
<a name="export-forecasts"></a>

Forecast 콘솔 또는 Forecast 소프트웨어 개발 키트(SDK)를 사용하여 what-if 예측을 내보낼 수 있습니다.

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

what-if 예측을 내보내려면 다음 단계를 완료하세요.

1. 인사이트 페이지의 **what-if 분석** 탭에서 관심 있는 what-if 분석을 선택합니다.

1. **what-if 예측** 섹션에서 **내보내기 생성**을 선택합니다.

1. what-if 예측 내보내기 생성 페이지에서 고유한 **what-if 예측 내보내기 이름**을 제공하고, 포함할 **what-if 예측**을 지정하고, **내보내기 위치**를 선택하고, **IAM 역할**을 제공합니다.

1. **내보내기 생성**을 선택합니다.

------
#### [ 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 예측을 쿼리할 때 필터링 기준을 지정해야 합니다. 필터는 키-값 페어입니다. 키는 예상을 생성할 때 사용된 데이터 세트 중 하나의 스키마 속성 이름(예상 차원을 포함) 중 하나입니다. 값은 지정된 키에 대한 유효한 값입니다. 여러 개의 키-값 페어를 지정할 수 있습니다. 반환된 what-if 예측은 모든 기준을 충족하는 항목만 포함합니다.

예를 들어 이 코드를 사용하여 `product_42`의 what-if 예측을 가져옵니다.

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