

 신규 고객은 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\$1id”와 “store\$1location” 차원의 조합을 사용하는 시계열 스키마를 보여줍니다. 자세한 내용은 [시계열 지정](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\$1location”이 “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 예측**, 하나 이상의 **예측 유형**을 지정합니다.  
![\[Interface for comparing what-if forecasts with baseline forecast, showing input fields and graph.\]](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"
}
```

# 변환 함수
<a name="data-transformations"></a>

변환 함수는 관련 시계열의 행을 선택하고 수정하는 연산 세트입니다. 조건 연산으로 원하는 행을 선택합니다. 그런 다음 변환 연산을 통해 행을 수정합니다. 모든 조건은 AND 연산으로 결합됩니다. 즉, 변환이 적용되려면 모든 조건이 true여야 합니다. 변환은 나열된 순서대로 적용됩니다.

what-if 예측을 생성할 때는 **변환 함수 빌더**를 사용하여 적용할 조건과 변환을 지정하세요. 아래 이미지는 이 기능을 보여줍니다.

![\[Transformation function builder interface with options to modify price and stock count.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/transformationFunctionsMod.png)


강조 표시된 섹션에서 `tacoma`(즉, 워싱턴 주 타코마) 매장에서는 `blue` 색상의 항목의 경우 `price`열에 0.90을 곱합니다(즉, 10% 할인). 이를 위해 Amazon Forecast는 먼저 `tacoma`와 같은 `store`의 행만 포함하도록 기준선 관련 시계열의 하위 집합을 생성합니다.

해당 하위 집합은 `blue`와 같은 `color`의 행만 포함하도록 더 축소됩니다. 마지막으로 `price` 열의 모든 값에 0.90을 곱하여 what-if 예측에 사용할 새 관련 시계열을 생성합니다.

Amazon Forecast는 다음 조건을 지원합니다.
+ `EQUALS` - 열의 값이 조건에 제공된 값과 같습니다.
+ `NOT_EQUALS` - 열의 값이 조건에 제공된 값과 같지 않습니다.
+ `LESS_THAN` - 열의 값이 조건에 제공된 값보다 작습니다.
+ `GREATER_THAN` - 열의 값이 조건에 제공된 값보다 큽니다.

Amazon Forecast는 다음 작업을 지원합니다.
+ `ADD` - 제공된 값을 열의 모든 행에 더합니다.
+ `SUBTRACT` - 제공된 값을 열의 모든 행에서 뺍니다.
+ `MULTIPLY` - 열의 모든 행을 제공된 값으로 곱합니다.
+ `DIVIDE` - 열의 모든 행을 제공된 값으로 나눕니다.

다음은 SDK를 사용하여 시계열 변환을 지정하는 방법의 예제입니다.

------
#### [ Example 1 ]

이 예제는 시애틀 매장의 모든 항목에 10% 할인을 적용합니다. 참고로 “City”는 예측 차원입니다.

```
TimeSeriesTransformations=[
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "MULTIPLY",
      "Value": 0.90
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "city",
        "AttributeValue": "seattle",
        "Condition": "EQUALS"
      }
    ]
  }
]
```

------
#### [ Example 2 ]

이 예제는 “electronics” 범주의 모든 항목에 10% 할인을 적용합니다. 참고로 “product\$1category”는 항목 메타데이터입니다.

```
TimeSeriesTransformations=[
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "MULTIPLY",
      "Value": 0.90
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "product_category",
        "AttributeValue": "electronics",
        "Condition": "EQUALS"
      }
    ] 
  }
]
```

------
#### [ Example 3 ]

이 예제는 특정 item-id BOA21314K에 20% 마크업을 적용합니다.

```
TimeSeriesTransformations=[
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "MULTIPLY",
      "Value": 1.20
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "item_id",
        "AttributeValue": "BOA21314K",
        "Condition": "EQUALS"
      }
    ] 
  }
]
```

------
#### [ Example 4 ]

이 예제는 시애틀 매장과 벨뷰 매장의 모든 항목에 1달러를 더합니다.

```
TimeSeriesTransformations=[
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "ADD",
      "Value": 1.0
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "city",
        "AttributeValue": "seattle",
        "Condition": "EQUALS"
      }
    ] 
  },
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "ADD",
      "Value": 1.0
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "city",
        "AttributeValue": "bellevue",
        "Condition": "EQUALS"
      }
    ] 
  }
]
```

------
#### [ Example 5 ]

이 예제는 2022년 9월에 시애틀의 모든 항목에서 1달러를 뺍니다.

```
TimeSeriesTransformations=[
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "SUBTRACT",
      "Value": 1.0
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "city",
        "AttributeValue": "seattle",
        "Condition": "EQUALS"
      },
      {
        "AttributeName": "timestamp",
        "AttributeValue": "2022-08-31 00:00:00",
        "Condition": "GREATER_THAN"
      },
      {
        "AttributeName": "timestamp",
        "AttributeValue": "2022-10-01 00:00:00",
        "Condition": "LESS_THAN"
      }
    ] 
  }
]
```

------
#### [ Example 6 ]

이 예제는 먼저 가격에 10을 곱한 다음 가격에서 5달러를 뺍니다. 작업은 선언된 순서대로 적용됩니다.

```
TimeSeriesTransformations=[
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "MULTIPLY",
      "Value": 10.0
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "city",
        "AttributeValue": "seattle",
        "Condition": "EQUALS"
      }
    ]
    },
    {
    "Action": {
      "AttributeName": "price",
      "Operation": "SUBTRACT",
      "Value": 5.0
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "city",
        "AttributeValue": "seattle",
        "Condition": "EQUALS"
      }
    ] 
   }
]
```

------
#### [ Example 7 ]

이 예제는 빈 세트를 생성하므로 어떤 시계열에도 작업이 적용되지 않습니다. 이 코드는 시애틀 매장과 벨뷰 매장의 모든 항목 가격을 수정하려고 합니다. 조건이 AND 연산과 결합되고 매장이 한 도시에만 존재할 수 있기 때문에 결과는 빈 세트입니다. 따라서 작업이 적용되지 않습니다.

```
TimeSeriesTransformations=[
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "MULTIPLY",
      "Value": 10.0
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "city",
        "AttributeValue": "seattle",
        "Condition": "EQUALS"
      },
      {
        "AttributeName": "city",
        "AttributeValue": "bellevue",
        "Condition": "EQUALS"
      },
    ] 
  }
]
```

조건을 여러 속성에 적용하는 방법의 예는 예제 4를 참조하세요.

------
#### [ Example 8 ]

타임스탬프를 사용하는 변환 조건은 원시 데이터가 아니라 경계에 정렬된 데이터에만 적용됩니다. 예를 들어 데이터를 시간별로 입력하고 일별로 예측합니다. 이 경우 Forecast는 타임스탬프를 날짜에 정렬하므로 `2020-12-31 01:00:00`이 `2020-12-31 00:00:00`에 정렬됩니다. 이 코드는 경계에 정렬된 타임스탬프에 타임스탬프를 지정하지 않기 때문에 빈 세트를 생성합니다.

```
TimeSeriesTransformations=[
  {
    "Action": {
      "AttributeName": "price",
      "Operation": "MULTIPLY",
      "Value": 10.0
      },
    "TimeSeriesConditions": [
      {
        "AttributeName": "timestamp",
        "AttributeValue": "2020-12-31 01:00:00",
        "Condition": "EQUALS"
      },
    ] 
  }
]
```

------

# 대체 데이터 세트
<a name="replacement-series"></a>

대체 데이터 세트는 what-if 예측에서 변경하려는 값만 포함하는 기준선 관련 시계열의 수정된 버전입니다. 대체 데이터 세트에는 기준선 관련 시계열의 예측 차원, 항목 식별자, 타임스탬프와 하나 이상의 변경된 시계열이 포함되어야 합니다. 이 데이터 세트는 기준선 관련 시계열과 병합되어 what-if 예측에 사용되는 변환된 데이터 세트를 생성합니다. 대체 데이터 세트는 CSV 형식이어야 합니다.

이 데이터 세트에는 동일한 시계열에 대한 중복된 타임스탬프가 포함되어서는 안 됩니다.

다음은 대체 시계열을 지정하는 방법과 해당 사양을 해석하는 방법에 대한 몇 가지 예제입니다. 일별 예측을 하고 예측 기간이 2022-08-01부터 2022-08-03까지인 경우를 생각해 보세요. 모든 예제의 기준선 관련 시계열이 다음 표에 나와 있습니다.


| item\$1id | 타임스탬프 | 가격 | stock\$1count | 
| --- | --- | --- | --- | 
| item\$11 | 2022-08-01 | 100 | 50 | 
| item\$11 | 2022-08-02 | 100 | 50 | 
| item\$11 | 2022-08-03 | 100 | 50 | 
| item\$12 | 2022-08-01 | 75 | 500 | 
| item\$12 | 2022-08-02 | 75 | 500 | 
| item\$12 | 2022-08-03 | 75 | 500 | 

------
#### [ Unchanged values ]

2022-08-02 및 2022-08-03에 item\$11에 10% 할인을 적용하려면 대체 데이터 세트에 다음을 지정하는 것으로 충분합니다.


**대체 데이터 세트**  

| item\$1id | 타임스탬프 | 가격 | 
| --- | --- | --- | 
| item\$11 | 2022-08-02 | 90 | 
| item\$11 | 2022-08-03 | 90 | 

하지만 대체 데이터 세트에 변경되지 않은 값을 지정하는 것도 유효합니다. 대체 데이터 세트로 사용할 경우 다음 세 테이블 각각은 이전에 제공된 테이블과 동일한 결과를 산출합니다.


**열이 변경되지 않은 대체 데이터 세트**  

| item\$1id | 타임스탬프 | 가격 | stock\$1count | 
| --- | --- | --- | --- | 
| item\$11 | 2022-08-02 | 90 | 50 | 
| item\$11 | 2022-08-03 | 90 | 50 | 


**행이 변경되지 않은 대체 데이터 세트**  

| item\$1id | 타임스탬프 | 가격 | 
| --- | --- | --- | 
| item\$11 | 2022-08-01 | 100 | 
| item\$11 | 2022-08-02 | 90 | 
| item\$11 | 2022-08-03 | 90 | 
| item\$12 | 2022-08-01 | 75 | 
| item\$12 | 2022-08-02 | 75 | 
| item\$12 | 2022-08-03 | 75 | 


**행과 열이 변경되지 않은 대체 데이터 세트**  

| item\$1id | 타임스탬프 | 가격 | stock\$1count | 
| --- | --- | --- | --- | 
| item\$11 | 2022-08-01 | 100 | 50 | 
| item\$11 | 2022-08-02 | 90 | 50 | 
| item\$11 | 2022-08-03 | 90 | 50 | 
| item\$12 | 2022-08-01 | 75 | 500 | 
| item\$12 | 2022-08-02 | 75 | 500 | 
| item\$12 | 2022-08-03 | 75 | 500 | 

------
#### [ Missing values ]

대체 시계열에서 누락된 값은 기준선 관련 시계열의 값으로 대체됩니다. 2022-08-02 및 2022-08-03에 item\$11에 10% 할인을 적용하고 2022-08-01에 item\$12의 재고를 늘리는 시나리오를 생각해 보세요. 다음과 같은 대체 데이터 세트로 충분합니다.


**누락된 값이 있는 대체 데이터 세트**  

| item\$1id | 타임스탬프 | 가격 | stock\$1count | 
| --- |--- |--- |--- |
| item\$11 | 2022-08-02 | 90 |  | 
| --- |--- |--- |--- |
| item\$11 | 2022-08-03 | 90 |  | 
| --- |--- |--- |--- |
| item\$12 | 2022-08-01 |  | 5000 | 
| --- |--- |--- |--- |

이 테이블에서 누락된 값은 기준선 관련 시계열에서 귀속됩니다.

------
#### [ Extraneous values ]

what-if 예측을 생성할 때 대체 시계열의 관련 없는 값은 무시됩니다. 즉, 기준선 관련 시계열의 값과 일치하지 않는 대체 데이터 집합의 값은 모델링되지 않습니다. 다음 대체 데이터 세트를 생각해 보세요.


**관련 없는 값이 있는 대체 데이터 세트**  

| item\$1id | 타임스탬프 | 가격 | stock\$1count | 
| --- |--- |--- |--- |
| item\$11 | 2022-08-01 | 100 | 50 | 
| item\$11 | 2022-08-02 | 100 | 50 | 
| item\$11 | 2022-08-03 | 100 | 50 | 
| item\$12 | 2022-08-01 | 75 | 500 | 
| item\$12 | 2022-08-02 | 75 | 500 | 
| item\$12 | 2022-08-03 | 75 | 500 | 
| item\$13 | 2022-08-01 | 50 | 125 | 
| --- |--- |--- |--- |
| item\$13 | 2022-08-02 | 50 | 125 | 
| --- |--- |--- |--- |
| item\$13 | 2022-08-03 | 50 | 125 | 
| --- |--- |--- |--- |

item\$13이 포함된 행은 무시되며 what-if 분석에 포함되지 않습니다.

------
#### [ Historical changes ]

예측 기간을 벗어난 대체 데이터 세트의 변경 사항은 무시됩니다. 다음 대체 데이터 세트를 생각해 보세요.


**예측 기간을 벗어난 값이 있는 대체 데이터 세트**  

| item\$1id | 타임스탬프 | 가격 | stock\$1count | 
| --- |--- |--- |--- |
| item\$11 | 2022-07-31 | 100 | 50 | 
| --- |--- |--- |--- |
| item\$11 | 2022-08-01 | 100 | 50 | 
| item\$11 | 2022-08-02 | 100 | 50 | 
| item\$11 | 2022-08-03 | 100 | 50 | 
| item\$11 | 2022-08-04 | 100 | 50 | 
| --- |--- |--- |--- |
| item\$12 | 2022-07-31 | 75 | 500 | 
| --- |--- |--- |--- |
| item\$12 | 2022-08-01 | 75 | 500 | 
| item\$12 | 2022-08-02 | 75 | 500 | 
| item\$12 | 2022-08-03 | 75 | 500 | 
| item\$13 | 2022-08-04 | 75 | 500 | 
| --- |--- |--- |--- |

2022-07-31과 2022-08-04를 포함하는 행은 무시되며 what-if 분석에 포함되지 않습니다.

------

## 예측 차원
<a name="forecast-dimensions"></a>

데이터 세트에 예측 차원을 포함하는 경우 대체 데이터 세트에도 해당 차원을 포함해야 합니다. 다음과 같은 기준선 관련 시계열을 생각해 보세요.


| item\$1id | store\$1id | 타임스탬프 | 가격 | stock\$1count | 
| --- | --- | --- | --- | --- | 
| item\$11 | store\$11 | 2022-08-01 | 100 | 50 | 
| item\$11 | store\$11 | 2022-08-02 | 100 | 50 | 
| item\$11 | store\$11 | 2022-08-03 | 100 | 50 | 
| item\$11 | store\$12 | 2022-08-01 | 75 | 500 | 
| item\$11 | store\$12 | 2022-08-02 | 75 | 500 | 
| item\$11 | store\$12 | 2022-08-03 | 75 | 500 | 

따라서 2022-08-02에 모든 매장에서 10% 할인이 적용되는 대체 데이터 세트는 다음과 같습니다.


| item\$1id | store\$1id | 타임스탬프 | 가격 | 
| --- | --- | --- | --- | 
| item\$11 | store\$11 | 2022-08-02 | 90 | 
| item\$11 | store\$12 | 2022-08-02 | 67.5 | 