

 신규 고객은 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를 생성하고, 데이터 세트의 각 시계열에 최적의 알고리즘 조합을 적용합니다.

**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/ko_kr/forecast/latest/dg/howitworks-predictor.html)

  예를 들어 격주로 예측하려는 경우 빈도 단위는 주별이고 값은 2입니다. 또는 분기별 예측을 원하는 경우 빈도 단위는 월별이고 값은 3입니다.

  예측 빈도보다 높은 빈도로 데이터가 수집되는 경우 데이터는 예측 빈도로 집계됩니다. 여기에는 후행 시계열 및 관련 시계열 데이터가 포함됩니다. 집계에 대한 자세한 내용은 [다양한 예측 빈도의 데이터 집계](data-aggregation.md)를 참조하세요.
+ **예측 기간** - 예측되는 시간 단계 수입니다.

다음과 같은 선택적 입력의 값도 설정할 수 있습니다.
+  **시간 정렬 경계** - Forecast가 데이터를 집계하고 사용자가 지정한 예측 빈도에 맞는 예측을 생성하는 데 사용하는 시간 경계입니다. 집계에 대한 자세한 내용은 [다양한 예측 빈도의 데이터 집계](data-aggregation.md)를 참조하세요. 시간 경계 지정에 대한 자세한 내용은 [시간 경계](data-aggregation.md#time-boundaries)를 참조하세요.
+ **예측 차원** - 차원은 대상 시계열 데이터 세트의 선택적 속성으로, 대상 값(`item_id`)과 함께 사용하여 별도의 시계열을 생성할 수 있습니다.
+ **예측 유형** - 예측기를 평가하는 데 사용되는 분위수입니다.
+ **최적화 지표** - 예측기를 최적화하는 데 사용되는 정확도 지표입니다.
+ **추가 데이터 세트** - 날씨 지수와 공휴일 같은 기본 제공 Amazon Forecast 데이터 세트입니다.

소프트웨어 개발 키트(SDK) 또는 Amazon Forecast 콘솔을 사용하여 예측기를 생성할 수 있습니다.

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

**예측기를 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. **새 예측기 훈련**을 선택합니다.

1. 다음 필수 필드에 값을 입력합니다.
   +  **이름** - 고유한 예측기 이름입니다.
   + **예측 빈도** - 예측의 세분 수준입니다.
   + **예측 기간** - 예측할 시간 단계 수입니다.

1. **시작**을 선택합니다.

추가 데이터 세트에 대한 자세한 내용은 [날씨 지수](weather.md) 및 [공휴일 특성화](holidays.md)를 참조하세요. 예측 유형 및 최적화 지표를 사용자 지정하는 방법에 대한 자세한 내용은 [예측기 정확성 평가](metrics.md)를 참조하세요.

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

를 사용하여 자동 예측기를 생성하려면 `create-predictor` 명령을 AWS CLI사용합니다. 다음 코드는 장래의 14일에 대해 예측하는 자동 예측기를 생성합니다.

예측기 이름과 훈련 데이터가 포함된 데이터 세트 그룹의 Amazon 리소스 이름(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
```

예측 유형 및 최적화 지표를 사용자 지정하는 방법에 대한 자세한 내용은 [예측기 정확성 평가](metrics.md)를 참조하세요. 날씨 지수 및 공휴일 추가 데이터 세트는 `DataConfig` 데이터 형식 내에 정의되어 있습니다. 추가 데이터 세트에 대한 자세한 내용은 [날씨 지수](weather.md) 및 [공휴일 특성화](holidays.md)를 참조하세요.

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

SDK for Python(Boto3)으로 자동 예측기를 생성하려면 `create_auto_predictor` 메서드를 사용합니다. 다음 코드는 장래의 14일에 대해 예측하는 자동 예측기를 생성합니다.

예측기 이름과 훈련 데이터가 포함된 데이터 세트 그룹의 Amazon 리소스 이름(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'])
```

예측 유형 및 최적화 지표를 사용자 지정하는 방법에 대한 자세한 내용은 [예측기 정확성 평가](metrics.md)를 참조하세요. 날씨 지수 및 공휴일 추가 데이터 세트는 `DataConfig` 데이터 형식 내에 정의되어 있습니다. 추가 데이터 세트에 대한 자세한 내용은 [날씨 지수](weather.md) 및 [공휴일 특성화](holidays.md)를 참조하세요.

------

## AutoPredictor로 업그레이드
<a name="upgrading-autopredictor"></a>

**Python 노트북**  
예측기를 AutoPredictor로 업그레이드하는 방법에 대한 단계별 지침은 [예측기를 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 Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. 업그레이드할 예측기를 선택하고 **업그레이드**를 선택합니다.

1. 업그레이드된 예측기의 고유한 이름을 설정합니다.

1. **AutoPredictor로 업그레이드**를 선택합니다.

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

를 사용하여 예측기를 업그레이드하려면 `create-predictor` 메서드를 AWS CLI사용하지만 예측기 이름과 값`reference-predictor-arn`(업그레이드하려는 예측기의 ARN)*만* 지정합니다.

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

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

SDK for Python(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="data-aggregation"></a>

 예측기를 생성할 때 예측 빈도를 지정해야 합니다. 예측 빈도에 따라 예측에서 예상의 빈도가 결정됩니다. 월별 판매 예측을 예로 들 수 있습니다. Amazon Forecast 예측기는 지정한 예측 빈도보다 높은 데이터 빈도의 예측을 생성할 수 있습니다. 예를 들어 데이터가 매일 기록되더라도 주간 예측을 생성할 수 있습니다. 훈련 중에 Forecast는 일별 데이터를 집계하여 주간 예측 빈도로 예측을 생성합니다.

**Topics**
+ [집계 작동 방식](how-aggregation-works.md)
+ [시간 경계](#time-boundaries)
+ [데이터 집계 가정](aggregation-guidelines.md)

# 집계 작동 방식
<a name="how-aggregation-works"></a>

 훈련 중에 Amazon Forecast는 지정한 예측 빈도에 일치하지 않는 모든 데이터를 집계합니다. 예를 들어 일별 데이터가 있지만 주별 예측 빈도를 지정할 수 있습니다. Forecast는 일별 데이터가 속한 주를 기준으로 일별 데이터를 정렬합니다. 그런 다음 Forecast는 데이터를 매주 단일 레코드로 결합합니다. Forecast는 시간 경계와의 관계를 기반으로 데이터가 속하는 주(또는 월, 일 등)를 결정합니다. 시간 경계는 하루가 시작되는 시간 또는 한 주가 시작되는 요일과 같은 시간 단위의 시작을 지정합니다.

 시간별 및 분별 예측이나 지정되지 않은 시간 경계의 경우 Forecast는 빈도의 시간 단위를 기반으로 하는 기본 시간 경계를 사용합니다. 매일, 매주, 매월 또는 매년 예측 빈도가 있는 자동 예측기의 경우 사용자 지정 시간 경계를 지정할 수 있습니다. 시간 경계에 대한 자세한 정보는 [시간 경계](data-aggregation.md#time-boundaries)를 참조하세요.

 집계 시 기본 변환 방법은 데이터를 합하는 것입니다. 예측기를 생성할 때 변환을 구성할 수 있습니다. Forecast 콘솔의 **예측기 생성** 페이지에 있는 **입력 데이터 구성** 섹션에서 이 작업을 수행할 수 있습니다. 또는 CreateAutoPredictor 작업의 [AttributeConfig](API_AttributeConfig.md)에 있는 `Transformations` 파라미터에서 변환 방법을 설정할 수도 있습니다.

다음 표에는 기본 시간 경계를 사용한 시간별 예측 빈도의 집계 예가 나와 있습니다. 각 시간은 정시에 시작됩니다.

**변환 전**


| Time | Data | 정시 | 
| --- | --- | --- | 
| 2018-03-03 01:00:00 | 100 | 예 | 
| 2018-03-03 02:20:00 | 50 | 아니요 | 
| 2018-03-03 02:45:00 | 20 | 아니요 | 
| 2018-03-03 04:00:00 | 120 | 예 | 

**변환 후**


| Time | Data | Notes | 
| --- | --- | --- | 
| 2018-03-03 01:00:00 | 100 |  | 
| 2018-03-03 02:00:00 | 70 | 02:00:00-02:59:59 사이 값의 합계(50 \$1 20) | 
| 2018-03-03 03:00:00 | 비어 있음 | 03:00:00-03:59:59 사이에 값 없음 | 
| 2018-03-03 04:00:00 | 120 |  | 

다음 그림은 Forecast가 기본 주 시간 경계에 맞춰 데이터를 변환하는 방법을 보여줍니다.

![\[Raw sales data points transformed into a smooth demand time series curve over weekly intervals.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/data-alignment.png)


## 시간 경계
<a name="time-boundaries"></a>

시간 경계는 한 주가 시작되는 요일과 같은 시간 단위의 시작을 지정합니다. Amazon Forecast는 데이터를 집계하기 전에 예측 빈도의 시간 단위를 기준으로 데이터를 정렬합니다. Forecast는 데이터와 시간 경계의 관계를 기반으로 이 작업을 수행합니다.

 예를 들어 일별 예측 빈도는 지정하지만 자체 시간 경계는 지정하지 않는 경우 Forecast는 각 시간별 레코드를 레코드가 속한 날을 기준으로 정렬합니다. 각 하루는 0시에 시작됩니다. 하루가 시작되는 시간의 정의인 0시가 시간 경계입니다. 그런 다음 Forecast는 시간별 레코드를 해당 날짜의 단일 레코드로 집계합니다.

Forecast는 예측 빈도의 시간 단위를 기반으로 하는 기본 시간 경계를 사용합니다. 자동 예측기를 생성할 경우 사용자 지정 시간 경계를 지정할 수 있습니다.

사용자 지정 시간 경계와 사용자 지정 예측 빈도를 모두 지정하는 경우 Forecast는 예측 빈도 내에서 데이터를 집계하여 사용자 지정 시간 경계에 정렬합니다. 예측 빈도는 데이터 집계 빈도를 결정하는 반면, 사용자 지정 시간 경계는 정렬의 위치를 결정합니다. 예를 들어 데이터가 매일 수집되고 Amazon Forecast에서 1년 동안 해당 월의 15일에 분기별 예측을 생성하기를 원한다고 가정해 보겠습니다. 이렇게 하려면 예측 빈도를 3개월마다로 설정하고 사용자 지정 시간 경계를 15로 설정합니다. 다음 AWS Command Line Interface 예제를 참조하세요.

```
aws forecast create-predictor \
--predictor-name predictor_name \
--data-config DatasetGroupArn="arn:aws:forecast:region:account:dataset-group/datasetGroupName" \
--forecast-horizon 4 \
--forecast-frequency 3M \
--time-alignment-boundary DayOfMonth=15
```

이 예제에서는 모든 일별 데이터가 3개월마다 15일로 합산(기본 집계)됩니다.

단, 이 집계에는 일별 데이터가 필요하지 않으며, 데이터가 매월 또는 더 자주 수집됩니다.

**Topics**
+ [기본 시간 경계](#default-time-boundaries)
+ [시간 경계 지정](#specifying-time-boundary)

### 기본 시간 경계
<a name="default-time-boundaries"></a>

다음 표는 데이터를 집계할 때 Forecast가 사용하는 기본 시간 정렬 경계를 나열한 것입니다.


| 빈도 | 경계 | 
| --- | --- | 
| 분 | 마지막 정분(45:00, 06:00) | 
| 시간 | 마지막 정시(09:00:00, 13:00:00) | 
| 일 | 하루의 첫 시간(시간 0) | 
| 주 | 가장 최근 월요일 | 
| 월 | 매월 첫째 날 | 
| 연도 | 연초(1월 1일) | 

### 시간 경계 지정
<a name="specifying-time-boundary"></a>

**참고**  
자동 예측기에는 시간 경계만 지정할 수 있습니다.

 일별, 주별, 월별 또는 연도별 예측 빈도를 사용하여 자동 예측기를 생성하는 경우 Forecast가 데이터 집계에 사용하는 시간 경계를 지정할 수 있습니다. 비즈니스 달력이 기본 시간 경계에 정렬되지 않은 경우 시간 경계를 지정할 수 있습니다. 예를 들어 매월 3일에 시작하는 월별 예측을 생성할 수 있습니다. 시간 경계를 지정하지 않으면 Forecast는 [기본 시간 경계](#default-time-boundaries) 세트를 사용합니다.

 지정하는 시간 경계 단위는 예측 빈도보다 한 단위 더 세밀해야 합니다. 다음 표에는 지정할 수 있는 시간 경계 단위와 값이 예측 빈도별로 나와 있습니다.

경계 값이 `28`보다 작거나 같은 `Monthly` 시간 경계만 지정할 수 있습니다.


| 예측 빈도 단위 | 경계 단위 | 경계 값 | 
| --- | --- | --- | 
| 일별 | 시간 | 0\$123 | 
| 주별 | 요일 | 월요일부터 일요일까지 | 
| 매월 | 일 | 1부터 28까지 | 
| 매년 | 월 | 1월부터 12월까지 | 

예측기를 생성할 때 다음과 같이 시간 정렬 경계를 지정합니다. 프로그래밍 방식으로 지정할 수 있는 다양한 시간 경계 단위 및 경계 값에 대한 자세한 내용은 [TimeAlignmentBoundary](API_TimeAlignmentBoundary.md)를 참조하세요.

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

****

**예측기의 시간 정렬 경계를 지정하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. **새 예측기 훈련**을 선택합니다.

1. 필수 **이름**, **예측 빈도**, **예측 기간** 필드에 값을 입력합니다.

1.  **시간 정렬 경계**에 예측기가 데이터를 집계할 때 사용할 시간 경계를 지정합니다. 이 목록의 값은 선택한 **예측 빈도**에 따라 달라집니다.

1. **시작**을 선택합니다. Forecast는 예측기를 생성할 때 지정한 시간 정렬 경계를 사용하여 데이터를 집계합니다.

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

를 사용하여 예측기의 시간 정렬 경계를 지정하려면 `create-predictor` 명령을 AWS CLI사용합니다. `time-alignment-boundary` 파라미터에 시간 단위와 경계 값을 제공합니다. 다음 코드는 매주의 시작이 화요일인 향후 5주를 예측하는 자동 예측기를 생성합니다.

`DayOfWeek` 값과 `DayOfMonth` 값은 모두 대문자여야 합니다. 지정할 수 있는 다양한 시간 경계 단위 및 경계 값에 대한 자세한 내용은 [TimeAlignmentBoundary](API_TimeAlignmentBoundary.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 5 \
--forecast-frequency W \
--time-alignment-boundary DayOfWeek=TUESDAY
```

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

SDK for Python(Boto3)을 사용하여 예측기의 시간 정렬 경계를 지정하려면 `create_auto_predictor` 메서드를 사용하세요. `TimeAlignmentBoundary` 파라미터에 키가 시간 단위이고 값이 경계 값인 사전을 제공합니다. 다음 코드는 매주의 시작이 화요일인 향후 5주를 예측하는 자동 예측기를 생성합니다.

`DayOfWeek` 값과 `DayOfMonth` 값은 모두 대문자여야 합니다. 지정할 수 있는 다양한 시간 경계 단위 및 경계 값에 대한 자세한 내용은 [TimeAlignmentBoundary](API_TimeAlignmentBoundary.md)를 참조하세요. 필수 및 선택적 파라미터에 대한 자세한 내용은 [CreateAutoPredictor](API_CreateAutoPredictor.md)를 참조하세요.

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

create_predictor_response = forecast.create_auto_predictor(
    PredictorName = 'predictor_name',
    ForecastHorizon = 5,
    ForecastFrequency = 'W',
    DataConfig = {
      "DatasetGroupArn": "arn:aws:forecast:region:account:dataset-group/datasetGroupName"
    },
    TimeAlignmentBoundary = {
      "DayOfWeek": "TUESDAY"
    }
)
print(create_predictor_response['PredictorArn'])
```

------

# 데이터 집계 가정
<a name="aggregation-guidelines"></a>

Forecast는 데이터가 특정 시간대에 속한다고 가정하지 않습니다. 하지만 시계열 데이터를 집계할 때는 다음과 같이 가정합니다.
+ 모든 데이터는 동일한 시간대에 속합니다.
+ 모든 예측은 데이터 세트에 저장된 데이터와 동일한 시간대에 속합니다.
+ [CreatePredictor](API_CreatePredictor.md) 작업을 호출하여 [InputDataConfig](API_InputDataConfig.md) 파라미터에서 [SupplementaryFeature](API_SupplementaryFeature.md) 휴일 특징을 지정할 경우 입력 데이터가 동일한 국가에 속하게 됩니다.

## 추가 데이터 세트 사용
<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** - Forecast가 가장 성능이 좋은 알고리즘을 찾아 전체 데이터 세트에 적용합니다.

1. **수동 선택** - 전체 데이터 세트에 적용되는 단일 알고리즘을 수동으로 선택합니다.

소프트웨어 개발 키트(SDK)를 사용하여 레거시 예측기를 생성할 수도 있습니다.

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

**AutoML을 사용하려면**

[`CreatePredictor`](API_CreatePredictor.md) 작업을 사용하여 `PerformAutoML`의 값을 `"true"`로 설정합니다.

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

AutoML을 사용하는 경우 다음과 같은 CreatePredictor 파라미터의 값을 설정할 수 없습니다. `AlgorithmArn`, `HPOConfig`, `TrainingParameters`.

------

# 예측기 정확성 평가
<a name="metrics"></a>

Amazon Forecast는 예측기를 평가하고 예측 생성에 사용할 지표를 선택하는 데 도움이 되는 정확도 지표를 생성합니다. Forecast는 평균 제곱근 오차(RMSE), 가중 분위수 손실(wQL), 평균 절대 백분율 오차(MAPE), 평균 절대 조정 오차(MASE), 가중 절대 백분율 오차(WAPE) 지표를 사용하여 예측기를 평가합니다.

Amazon Forecast는 백테스트를 사용하여 파라미터를 튜닝하고 정확도 지표를 생성합니다. 백테스트 중에 Forecast는 시계열 데이터를 훈련 세트와 테스트 세트의 두 세트로 자동으로 분할합니다. 훈련 세트는 모델을 훈련시킨 다음 테스트 세트의 데이터 포인트에 대한 예측을 생성하는 데 사용됩니다. Forecast는 예측값을 테스트 세트의 관측값과 비교하여 모델의 정확도를 평가합니다.

Forecast를 사용하면 다양한 예측 유형(분위수 예측 세트 및 평균 예측)을 사용하여 예측기를 평가할 수 있습니다. 평균 예측은 점 추정을 제공하는 반면, 분위수 예측은 일반적으로 가능한 결과 범위를 제공합니다.

**Python 노트북**  
예측기 지표 평가에 대한 단계별 지침은 [항목 수준 백테스트를 사용한 지표 계산](https://github.com/aws-samples/amazon-forecast-samples/blob/master/notebooks/advanced/Item_Level_Accuracy/Item_Level_Accuracy_Using_Bike_Example.ipynb)을 참조하세요.

**Topics**
+ [정확도 지표 해석](#predictor-metrics)
+ [가중 분위수 손실(wQL)](#metrics-wQL)
+ [가중 절대 백분율 오차(WAPE)](#metrics-WAPE)
+ [평균 제곱근 오차(RMSE)](#metrics-RMSE)
+ [평균 절대 백분율 오차(MAPE)](#metrics-mape)
+ [평균 절대 조정 오차(MASE)](#metrics-mase)
+ [정확도 지표 내보내기](#backtest-exports)
+ [예측 유형 선택](#forecast-types)
+ [레거시 예측기 작업](#legacy-metrics)

## 정확도 지표 해석
<a name="predictor-metrics"></a>

 Amazon Forecast는 평균 제곱근 오차(RMSE), 가중 분위수 손실(wQL), 평균 가중 분위수 손실(평균 wQL), 평균 절대 조정 오차(MASE), 평균 절대 백분율 오차(MAPE), 가중 절대 백분율 오차(WAPE) 지표를 제공하여 예측기를 평가합니다. Forecast는 전체 예측기에 대한 지표와 함께 각 백테스트 기간의 지표를 계산합니다.

Amazon Forecast 소프트웨어 개발 키트(SDK)와 Amazon Forecast 콘솔을 사용하여 예측기의 정확도 지표를 볼 수 있습니다.

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

[GetAccuracyMetrics](API_GetAccuracyMetrics.md) 작업으로 `PredictorArn`을 지정하여 각 백테스트의 RMSE, MASE, MAPE, WAPE, 평균 wQL, wQL 지표를 봅니다.

```
{
    "PredictorArn": "arn:aws:forecast:region:acct-id:predictor/example-id"
}
```

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

**예측기** 페이지에서 예측기를 선택합니다. 예측기의 정확도 지표는 **예측기 지표** 섹션에 표시됩니다.

------

**참고**  
 평균 wQL, wQL, RMSE, MASE, MAPE, WAPE 지표의 경우 값이 낮을수록 모델이 우수함을 나타냅니다.

**Topics**
+ [정확도 지표 해석](#predictor-metrics)
+ [가중 분위수 손실(wQL)](#metrics-wQL)
+ [가중 절대 백분율 오차(WAPE)](#metrics-WAPE)
+ [평균 제곱근 오차(RMSE)](#metrics-RMSE)
+ [평균 절대 백분율 오차(MAPE)](#metrics-mape)
+ [평균 절대 조정 오차(MASE)](#metrics-mase)
+ [정확도 지표 내보내기](#backtest-exports)
+ [예측 유형 선택](#forecast-types)
+ [레거시 예측기 작업](#legacy-metrics)

## 가중 분위수 손실(wQL)
<a name="metrics-wQL"></a>

가중 분위수 손실(wQL) 지표는 지정된 분위수에서 모델의 정확도를 측정합니다. 과소 예측과 과대 예측으로 인한 비용이 서로 다를 때 특히 유용합니다. wQL 함수의 가중치(*τ*)를 설정하면 과소 예측과 과대 예측의 서로 다른 페널티를 자동으로 통합할 수 있습니다.

손실 함수는 다음과 같이 계산됩니다.

![\[Mathematical equation for weighted quantile loss function with tau parameter.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/metrics-quantile-loss.png)


위치:  
*τ* - 집합 \$10.01, 0.02, ..., 0.99\$1의 분위수  
qi,t(τ) - 모델이 예측하는 τ-분위수.  
yi,t - 점 (i,t)에서 관측된 값

wQL의 분위수 (τ)는 0.01(P1)에서 0.99(P99)까지일 수 있습니다. 평균 예측을 위한 wQL 지표는 계산할 수 없습니다.

기본적으로 Forecast는 `0.1`(P10), `0.5`(P50), `0.9`(P90)에서 wQL을 계산합니다.
+ **P10(0.1)**: 10%의 확률로 참값이 예측값보다 낮을 것으로 기대됩니다.
+ **P50(0.5)**: 50%의 확률로 참값이 예측값보다 낮을 것으로 기대됩니다. 이를 중앙값 예측이라고도 합니다.
+ **P90(0.9)**: 90%의 확률로 참값이 예측값보다 낮을 것으로 기대됩니다.

소매업에서는 재고 부족 비용이 과잉 재고 비용보다 높은 경우가 많으므로 P75(*τ* = 0.75)로 예측하는 것이 중앙값 분위수 (P50)으로 예측하는 것보다 더 많은 정보를 얻을 수 있습니다. 이 경우 wQL[0.75]는 과소 예측 (0.75)에 더 큰 페널티 가중치를 할당하고 과다 예측 (0.25)에는 더 작은 페널티 가중치를 할당합니다.

![\[Two probability distribution curves showing demand forecasting at P50 and P75 quantiles.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/p50-p75-prediction.jpg)


위 그림은 wQL [0.50]과 wQL [0.75]의 서로 다른 수요 예측을 보여줍니다. P75의 예측 값은 P50의 예측 값보다 훨씬 높습니다. P75 예측은 75%의 확률로 수요를 충족시킬 것으로 기대되는 반면 P50 예측은 50%의 확률로 수요를 충족시킬 것으로 기대되기 때문입니다.

모든 항목과 모든 시점에 걸쳐 관측된 값의 합계가 주어진 백테스트 기간에 약 0이면 가중치 분위수 손실 식이 정의되지 않습니다. 이 경우 Forecast는 wQL 식에서 분자인 비가중 분위수 손실을 출력합니다.

또한 Forecast는 지정된 모든 분위수에 대한 가중 분위수 손실의 평균값인 평균 wQL을 계산합니다. 기본적으로 이 값은 wQL[0.10], wQL[0.50], wQL[0.90]의 평균입니다.

## 가중 절대 백분율 오차(WAPE)
<a name="metrics-WAPE"></a>

가중 절대 백분율 오차(WAPE)는 관측값으로부터의 예측값의 전체적 편차를 측정합니다. 관측값의 합과 예측값의 합을 구하고 두 값 사이의 오차를 계산함으로써 WAPE를 계산할 수 있습니다. 값이 낮을수록 모델이 더 정확함을 나타냅니다.

 주어진 백테스트 기간에 모든 시점과 모든 항목의 관측값의 합이 거의 0이면 가중 절대 백분율 오차 식이 정의되지 않습니다. 이 경우 Forecast는 WAPE 식의 분자인 비가중 절대 오차 합계를 출력합니다.

![\[Mathematical formula for WAPE showing summation of absolute differences divided by sum of absolute values.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/WAPE.png)


위치:  
yi,t - 점 (i,t)에서 관측된 값  
ŷi,t - 점 (i,t)에서 예측된 값

 Forecast는 평균 예측을 예측값 ŷi,t로 사용합니다.

WAPE는 제곱 오차 대신 절대 오차를 사용하기 때문에 평균 제곱근 오차(RMSE)보다 이상치에 더 강합니다.

이전에는 Amazon Forecast에서 WAPE 지표를 절대 백분율 평균 오차(MAPE)라고 했고 예측 중앙값(P50)을 예측값으로 사용했습니다. 이제 Forecast는 평균 예측을 사용하여 WAPE를 계산합니다. 아래에 나온 것처럼 wQL[0.5] 지표는 WAPE[median] 지표와 동등합니다.

![\[Mathematical equation showing the equivalence of wQL[0.5] and WAPE[median] metrics.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/wql-to-wape.PNG)


## 평균 제곱근 오차(RMSE)
<a name="metrics-RMSE"></a>

평균 제곱근 오차(RMSE) 는 제곱 오차 평균의 제곱근이므로 다른 정확도 지표보다 이상치에 더 민감합니다. 값이 낮을수록 모델이 더 정확함을 나타냅니다.

![\[Mathematical formula for Root Mean Square Error (RMSE) with summation and square root.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/metrics-rmse.png)


위치:  
yi,t - 점 (i,t)에서 관측된 값  
ŷi,t - 점 (i,t)에서 예측된 값  
nT - 테스트 세트의 데이터 포인트 수

Forecast는 평균 예측을 예측값 ŷi,t로 사용합니다. 예측 지표를 계산할 때 nT는 백테스트 기간에 있는 데이터 포인트의 수입니다.

RMSE는 잔차의 제곱 값을 사용하므로 이상치의 영향을 증폭합니다. 큰 예측 오류가 몇 개만 발생해도 비용이 많이 들 수 있는 사용 사례에서는 RMSE가 더 적절한 지표입니다.

2020년 11월 11일 이전에 생성된 예측기는 기본적으로 0.5분위수(P50)를 사용하여 RMSE를 계산했습니다. 이제 Forecast는 평균 예측을 사용합니다.

## 평균 절대 백분율 오차(MAPE)
<a name="metrics-mape"></a>

평균 절대 백분율 오차(MAPE)는 각 시간 단위의 관측값과 예측값 사이의 백분율 오차의 절대값을 취하여 해당 값의 평균을 구합니다. 값이 낮을수록 모델이 더 정확함을 나타냅니다.

![\[Mathematical formula for Mean Absolute Percentage Error (MAPE) calculation.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/mape.png)


위치:  
At - 점 *t*에서 관측된 값  
Ft - 점 *t*에서 예측된 값  
n - 시계열의 데이터 포인트 수

Forecast는 평균 예측을 예측값 Ft로 사용합니다.

MAPE는 시점 간에 값이 크게 다르고 이상치가 큰 영향을 미치는 경우에 유용합니다.

## 평균 절대 조정 오차(MASE)
<a name="metrics-mase"></a>

평균 절대 조정 오차(MASE)는 평균 오차를 조정 인자로 나누어 계산합니다. 이 조정 인자는 예측 빈도를 기준으로 선택되는 계절성 값 *m*에 따라 달라집니다. 값이 낮을수록 모델이 더 정확함을 나타냅니다.

![\[Mathematical formula for Mean Absolute Scaled Error (MASE) with summation and absolute value notations.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/mase.png)


위치:  
Yt - 점 *t*에서 관측된 값  
Yt-m - 점 *t-m*에서 관측된 값  
ej - 점 *j*에서의 오차(관측값 - 예측값)  
m - 계절성 값

Forecast는 평균 예측을 예측값으로 사용합니다.

MASE는 본질적으로 주기적이거나 계절적 특성이 있는 데이터 세트에 적합합니다. 예를 들어 여름에는 수요가 많고 겨울에는 수요가 적은 항목을 예측할 때 계절적 영향을 고려하면 도움이 될 수 있습니다.

## 정확도 지표 내보내기
<a name="backtest-exports"></a>

**참고**  
내보내기 파일은 데이터 세트 가져오기의 정보를 직접 반환할 수 있습니다. 따라서 가져온 데이터에 수식이나 명령이 포함된 경우 파일이 CSV 삽입에 취약해집니다. 이러한 이유로, 파일을 내보내는 경우 보안 경고가 표시될 수 있습니다. 악의적인 활동을 방지하려면 내보낸 파일을 읽을 때 링크와 매크로를 비활성화하세요.

Forecast를 사용하면 백테스트 중에 생성된 예측값과 정확도 지표를 내보낼 수 있습니다.

이러한 내보내기를 사용하여 특정 시점 및 분위수에서 특정 항목을 평가하고 예측기를 더 잘 이해할 수 있습니다. 백테스트 내보내기는 지정된 S3 위치로 전송되며 다음 두 개의 폴더를 포합됩니다.
+ **forecasted-values** 각 백테스트의 예측 유형별 예측값이 포함된 CSV 또는 Parquet 파일을 포함합니다.
+ **accuracy-metrics-values**: 모든 백테스트의 평균과 함께 각 백테스트에 대한 지표가 포함된 CSV 또는 Parquet 파일을 포함합니다. 이러한 지표에는 각 분위수별 wQL, 평균 wQL, RMSE, MASE, MAPE, WAPE가 포함됩니다.

`forecasted-values` 폴더에는 각 백테스트 기간의 각 예측 유형별 예측값이 포함되어 있습니다. 또한 항목 ID, 차원, 타임스탬프, 대상 값, 백테스트 기간 시작 및 종료 시간에 대한 정보도 포함됩니다.

`accuracy-metrics-values` 폴더에는 각 백테스트 기간의 정확도 지표와 모든 백테스트 기간의 평균 지표가 포함되어 있습니다. 여기에는 지정된 각 분위수별 wQL 지표뿐만 아니라 평균 wQL, RMSE, MASE, MAPE, WAPE 지표가 포함되어 있습니다.

두 폴더 내의 파일은 다음과 같은 명명 규칙을 따릅니다. `<ExportJobName>_<ExportTimestamp>_<PartNumber>.csv` 

Amazon Forecast 소프트웨어 개발 키트(SDK)와 Amazon Forecast 콘솔을 사용하여 정확도 지표를 내보낼 수 있습니다.

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

[`CreatePredictorBacktestExportJob`](API_CreatePredictorBacktestExportJob.md) 작업을 사용하여 `PredictorArn` 및 `PredictorBacktestExportJobName`과 함께 [`DataDestination`](API_DataDestination.md) 객체의 S3 위치 및 IAM 역할을 지정합니다.

예시:

```
{
   "Destination": { 
      "S3Config": { 
         "Path": "s3://bucket/example-path/",
         "RoleArn": "arn:aws:iam::000000000000:role/ExampleRole"
      }
   },
   "Format": PARQUET;
   "PredictorArn": "arn:aws:forecast:region:predictor/example",
   "PredictorBacktestExportJobName": "backtest-export-name",
}
```

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

**예측기** 페이지에서 예측기를 선택합니다. **예측기 지표** 섹션에서 **백테스트 결과 내보내기**를 선택합니다.

**예측기 백테스트 내보내기 생성** 단계 중에 **내보내기 이름**, **IAM 역할**, **S3 예측기 백테스트 내보내기 위치** 필드를 설정합니다.

![\[Form for exporting predictor backtest data to S3, with fields for name, IAM role, and location.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/console-export-screen.PNG)


------

## 예측 유형 선택
<a name="forecast-types"></a>

Amazon Forecast는 예측 유형을 사용하여 예측을 생성하고 예측기를 평가합니다. 예측 유형의 형식은 다음 두 가지입니다.
+ **평균 예측 유형** - 평균을 기대값으로 사용하는 예측입니다. 일반적으로 특정 시점에 대한 점 예측으로 사용됩니다.
+ **분위수 예측 유형** - 지정된 분위수에서의 예측입니다. 일반적으로 예측 구간을 제공하는 데 사용됩니다. 예측 구간은 예측 불확실성을 고려하기 위한 가능한 값의 범위입니다. 예를 들어 `0.65` 분위수에서의 예측은 65%의 확률로 관측값보다 낮은 값을 추정합니다.

기본적으로 Forecast는 예측기 예측 유형에 `0.1`(P10), `0.5`(P50), `0.9`(P90) 값을 사용합니다. `mean`과 `0.01`(P1)부터 `0.99`(P99)까지의 분위수를 포함하여 최대 5개의 사용자 지정 예측 유형을 선택할 수 있습니다.

분위수는 예측의 상한과 하한을 제공할 수 있습니다. 예를 들어 예측 유형 `0.1`(P10)과 `0.9`(P90)을 사용하면 80% 신뢰 구간이라는 값 범위가 제공됩니다. 관측값은 10%의 확률로 P10 값보다 낮을 것으로 기대되며, P90 값은 90%의 확률로 관측값보다 높을 것으로 기대됩니다. P10과 P90에서 예측을 생성하면 참값이 80%의 확률로 이 한계 사이에 위치할 것으로 기대할 수 있습니다. 이 값 범위는 아래 그림의 P10과 P90 사이의 음영 영역으로 표시되어 있습니다.

![\[Graph showing forecast quantiles with P99, P90, P50, P10, and P1 lines over time.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/quantiles-intervals.png)


과소 예측으로 인한 비용이 과대 예측으로 인한 비용과 다른 경우 분위수 예측을 점 예측으로 사용할 수도 있습니다. 예를 들어 일부 소매업에서는 재고 부족 비용이 과잉 재고 비용보다 높습니다. 이러한 경우 0.65(P65)에서의 예측이 중앙값(P50) 또는 평균 예측보다 더 많은 정보를 제공합니다.

예측기를 훈련할 때 Amazon Forecast 소프트웨어 개발 키트(SDK)와 Amazon Forecast 콘솔을 사용하여 사용자 지정 예측 유형을 선택할 수 있습니다.

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

[`CreateAutoPredictor`](API_CreateAutoPredictor.md) 작업을 사용하여 `ForecastTypes` 파라미터에 사용자 지정 예측 유형을 지정합니다. 파라미터 형식을 문자열 배열로 지정하세요.

예를 들어 `0.01`, `mean`, `0.65`, `0.99` 예측 유형에서 예측기를 생성하려면 다음 코드를 사용하세요.

```
{
    "ForecastTypes": [ "0.01", "mean", "0.65", "0.99" ],
},
```

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

**예측기 훈련** 단계 중에 **예측 유형** 필드에서 사용자 지정 예측 유형을 지정합니다. **새 예측 유형 추가**를 선택하고 예측 유형 값을 입력합니다.

 예를 들어 `0.01`, `mean`, `0.65`, `0.99` 예측 유형을 사용하여 예측기를 생성하려면 아래 나온 것처럼 **예측 유형** 필드에 다음 값을 입력합니다.

![\[Form for entering forecast types with fields for type names and quantile values between .01 and .99.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/predictor-custom-quantiles.png)


------

## 레거시 예측기 작업
<a name="legacy-metrics"></a>

### 백테스트 파라미터 설정
<a name="backtesting-parameters"></a>

Forecast는 백테스트를 사용하여 정확도 지표를 계산합니다. 여러 백테스트를 실행하는 경우 Forecast는 모든 백테스트 기간에 걸쳐 각 지표의 평균을 구합니다. 기본적으로 Forecast는 백테스트 기간의 크기(테스트 세트)가 예측 기간의 길이(예측 윈도우)와 동일한 백테스트 하나를 계산합니다. 예측기를 훈련할 때 *백테스트 기간 길이*와 *백테스트 시나리오 수*를 모두 설정할 수 있습니다.

Forecast는 채워진 값을 백테스트 프로세스에서 생략하며, 지정된 백테스트 기간 내에 채워진 값이 있는 모든 항목은 해당 백테스트에서 제외됩니다. 이는 Forecast가 백테스트 중에 예측된 값과 관측된 값만 비교하고, 채워진 값은 관측된 값이 아니기 때문입니다.

백테스트 기간은 최소한 예측 기간만큼 커야 하고 전체 대상 시계열 데이터 세트 길이의 절반보다 작아야 합니다. 1\$15개의 백테스트 중에서 선택할 수 있습니다.

![\[Graph showing training and testing periods for four backtest scenarios over time.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/evaluation-backtests.png)


일반적으로 백테스트 수를 늘리면 더 신뢰할 수 있는 정확도 지표가 생성됩니다. 시계열의 더 많은 부분이 테스트 중에 사용되고 Forecast는 모든 백테스트에 걸쳐 지표의 평균을 구할 수 있기 때문입니다.

Amazon Forecast 소프트웨어 개발 키트(SDK)와 Amazon Forecast 콘솔을 사용하여 백테스트 파라미터를 설정할 수 있습니다.

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

[CreatePredictor](API_CreatePredictor.md) 작업을 사용하여 [EvaluationParameters](API_EvaluationParameters.md) 데이터 형식으로 백테스트 파라미터를 설정합니다. `BackTestWindowOffset` 파라미터를 사용한 백테스트 중의 테스트 세트 길이와 `NumberOfBacktestWindows` 파라미터를 사용한 백테스트 기간 수를 지정합니다.

예를 들어 10개의 시점으로 구성된 테스트 세트로 2개의 백테스트를 실행하려면 다음 코드를 사용하세요.

```
"EvaluationParameters": {
    "BackTestWindowOffset": 10,
    "NumberOfBacktestWindows": 2
}
```

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

**예측기 훈련** 단계에서는 **백테스트 기간 오프셋** 필드를 사용하여 백테스트 중에 테스트 세트의 길이를 설정하고, **백테스트 기간 수** 필드를 사용하여 백테스트 기간의 수를 설정합니다.

예를 들어 10개의 시점으로 구성된 테스트 세트로 2개의 백테스트를 실행하려면 다음 값을 사용하세요.

![\[Input fields for number of backtest windows and backtest window offset with example values.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/predictor-backtest-windows.png)


------

### HPO 및 AutoML
<a name="HPO-AutoML"></a>

기본적으로 Amazon Forecast는 하이퍼파라미터 최적화(HPO) 중의 하이퍼파라미터 튜닝과 AutoML 중의 모델 선택에 `0.1`(P10), `0.5`(P50), `0.9`(P90) 분위수를 사용합니다. 예측기를 생성할 때 사용자 지정 예측 유형을 지정하면 Forecast는 HPO 및 AutoML 중에 해당 예측 유형을 사용합니다.

사용자 지정 예측 유형이 지정된 경우 Forecast는 지정된 예측 유형을 사용하여 HPO 및 AutoML 중에 최적의 결과를 결정합니다. HPO 중에 Forecast는 첫 번째 백테스트 기간을 사용하여 최적의 하이퍼파라미터 값을 찾습니다. AutoML 중에 Forecast는 모든 백테스트 기간의 평균과 HPO의 최적 하이퍼파라미터 값을 사용하여 최적의 알고리즘을 찾습니다.

AutoML과 HPO 모두에서 Forecast는 예측 유형에 대한 평균 손실을 최소화하는 옵션을 선택합니다. 또한 AutoML 및 HPO 중에 평균 가중 분위수 손실(평균 wQL), 가중 절대 백분율 오차(WAPE), 평균 제곱근 오차(RMSE), 평균 절대 백분율 오차(MAPE) 또는 평균 절대 조정 오차(MASE) 중 하나를 사용하여 예측기를 최적화할 수 있습니다.

Amazon Forecast 소프트웨어 개발 키트(SDK)와 Amazon Forecast 콘솔을 사용하여 최적화 지표를 선택할 수 있습니다.

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

[`CreatePredictor`](API_CreatePredictor.md) 작업을 사용하여 `ObjectiveMetric` 파라미터에 사용자 지정 예측 유형을 지정합니다.

`ObjectiveMetric` 파라미터는 다음 값 중 하나를 받습니다.
+ `AverageWeightedQuantileLoss` - 평균 가중 분위수 손실
+ `WAPE` - 가중 절대 백분율 오차
+ `RMSE` - 평균 제곱근 오차
+ `MAPE` - 평균 절대 백분율 오차
+ `MASE` - 평균 절대 조정 오차 

예를 들어 AutoML로 예측기를 생성하고 MASE(평균 절대 조정 오차) 정확도 지표를 사용하여 최적화하려면 다음 코드를 사용하세요.

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

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

**예측기 훈련** 단계에서 **자동(AutoML)**을 선택합니다. **목표 지표** 섹션에서 예측기를 최적화하는 데 사용할 정확도 지표를 선택합니다.

예를 들어 다음 이미지는 AutoML로 생성하고 MASE(평균 절대 조정 오차) 정확도 지표를 사용하여 최적화된 예측기를 보여줍니다.

콘솔을 사용하는 경우 AutoML을 사용하여 예측기를 생성할 때만 목표 지표를 지정할 수 있습니다. 알고리즘을 수동으로 선택하면 HPO의 목표 지표를 지정할 수 없습니다.

------

# 예측기 재훈련
<a name="retrain-predictors"></a>

**참고**  
재훈련은 AutoPredictor([`CreateAutoPredictor`](API_CreateAutoPredictor.md))로 생성한 예측기에만 사용할 수 있습니다. 기존 레거시 예측기를 AutoPredictor로 업그레이드할 수 있습니다. [AutoPredictor로 업그레이드](howitworks-predictor.md#upgrading-autopredictor)을 참조하세요.

업데이트된 데이터 세트로 예측기를 재훈련하면 예측기를 최신 상태로 유지할 수 있습니다. 예측기를 재훈련할 때 Amazon Forecast는 동일한 예측기 구성 설정을 유지합니다. 재훈련 후에도 원래 예측기는 활성 상태로 유지되고 재훈련된 예측기는 별도의 예측기 ARN을 갖게 됩니다.

예측기 재훈련은 다음 두 가지 방법으로 예측 정확도를 개선할 수 있습니다.

1. **최신 데이터 추가**: 재훈련된 예측기는 모델을 훈련할 때 더 많은 최신 데이터를 통합합니다.

1. **예측기 개선**: 재훈련된 예측기는 Amazon Forecast 알고리즘과 추가 데이터 세트의 모든 업데이트 및 개선 사항을 통합합니다.

예측기를 재훈련하는 것이 처음부터 새 예측기를 생성하는 것보다 최대 50% 더 빠를 수 있습니다. 예측기 훈련 시간이 더 빨라지고 Forecast는 기존 구성 설정을 자동으로 사용합니다.

**Python 노트북**  
예측기 재훈련에 대한 단계별 지침은 [예측기 재훈련](https://github.com/aws-samples/amazon-forecast-samples/blob/main/notebooks/advanced/Retraining_AutoPredictor/Retraining.ipynb)을 참조하세요.

소프트웨어 개발 키트(SDK) 또는 Amazon Forecast 콘솔을 사용하여 예측기를 재훈련할 수 있습니다.

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

**예측기를 재훈련하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. 재훈련할 예측기를 선택합니다.

1. **예측기 작업** 드롭다운에서 **재훈련**을 선택합니다.

1. 업그레이드된 예측기의 고유한 이름을 설정합니다.

1. **예측기 재훈련**을 선택합니다.

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

**예측기를 재훈련하려면**

[`CreateAutoPredictor`](API_CreateAutoPredictor.md) 작업을 사용하여 예측기에 고유한 이름을 할당하고 `ReferencePredictorArn` 값을 재훈련하려는 예측기로 설정합니다.

```
{
  "PredictorName": "RetrainedPredictor",
  "ReferencePredictorArn": "arn:aws:forecast:us-west-2:938097332257:predictor/OriginalPredictor"
}
```

예측기를 재훈련할 때는 `PredictorName` 및 `ReferencePredictorArn` 파라미터에만 값을 할당하세요.

------

# 날씨 지수
<a name="weather"></a>

Amazon Forecast 날씨 지수는 과거 및 예상 날씨 정보를 모델에 통합하는 기본 제공 특성화입니다. 기온과 강수량이 제품 수요에 큰 영향을 미칠 수 있는 소매업 사용 사례에 특히 유용합니다.

날씨 지수가 활성화되면 Forecast는 예측기 훈련 중에 정확도 개선이 발견되는 시계열에만 날씨 특성화를 적용합니다. 백테스트 중에 날씨 정보로 시계열을 보완해도 예측 정확도가 향상되지 않는 경우 Forecast는 날씨 지수를 특정 시계열에 적용하지 않습니다.

날씨 지수를 적용하려면 대상 시계열 데이터 세트와 관련 시계열 데이터 세트에 [지리적 위치 속성](#adding-geolocation)을 포함해야 합니다. 또한 대상 시계열 타임스탬프의 [시간대](#specifying-timezones)를 지정해야 합니다. 데이터 세트 요구 사항에 대한 자세한 내용은 [조건 및 제한](#weather-conditions-restrictions)을 참조하세요.

**Python 노트북**  
날씨 지수 사용에 대한 단계별 안내는 [뉴욕 택시: 날씨 지수 포함 Amazon Forecast](https://github.com/aws-samples/amazon-forecast-samples/tree/master/notebooks/advanced/Weather_index)를 참조하세요.

**Topics**
+ [날씨 지수 활성화](#enabling-weather)
+ [데이터 세트에 지리적 위치 정보 추가](#adding-geolocation)
+ [시간대 지정](#specifying-timezones)
+ [조건 및 제한](#weather-conditions-restrictions)

## 날씨 지수 활성화
<a name="enabling-weather"></a>

날씨 지수는 예측기 훈련 단계에서 활성화됩니다. [`CreateAutoPredictor`](API_CreateAutoPredictor.md) 작업을 사용할 경우 날씨 지수는 [AdditionalDataset](API_AdditionalDataset.md) 데이터 형식에 포함됩니다.

날씨 지수를 활성화하려면 먼저 대상 시계열 및 관련 시계열 데이터 세트에 지리적 위치 속성을 포함하고 타임스탬프의 시간대를 정의해야 합니다. 자세한 내용은 [지리적 위치 정보 추가](#adding-geolocation) 및 [시간대 지정](#specifying-timezones)을 참조하세요.

날씨 지수는 Forecast 콘솔 또는 Forecast 소프트웨어 개발 키트(SDK)를 사용하여 활성화할 수 있습니다.

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

**날씨 지수를 활성화하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. **새 예측기 훈련**을 선택합니다.

1. **날씨 지수 활성화**를 선택합니다.

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

**날씨 지수를 활성화하려면**

[`CreateAutoPredictor`](API_CreateAutoPredictor.md) 작업을 사용하여 [AdditionalDataSet](API_AdditionalDataset.md) 데이터 형식에 `"Name": "weather"`과 `"Value": "true"`를 추가하면 날씨 지수를 활성화할 수 있습니다.

```
    "DataConfig": { 
        ...
        "AdditionalDatasets": [
            ...                      
            {             
                "Name": "weather",       
            }      
            ]   
        },
```

------

## 데이터 세트에 지리적 위치 정보 추가
<a name="adding-geolocation"></a>

날씨 지수를 사용하려면 대상 시계열 및 관련 시계열 데이터 세트의 각 항목마다 지리적 위치 속성을 포함해야 합니다. 이 속성은 데이터 세트 스키마 내의 `geolocation` 속성 유형으로 정의됩니다.

데이터 세트의 모든 지리적 위치 값은 단일 지역 내로 한정되어야 합니다. 지역은 미국(하와이 및 알래스카 제외), 캐나다, 남미, 중미, 아시아 태평양, 유럽, 아프리카 및 중동입니다.

다음 두 가지 형식 중 하나로 지리적 위치 속성을 지정합니다.
+ **위도 및 경도**(모든 지역) - 위도와 경도를 10진수 형식으로 지정합니다(예: 47.61\$1-122.33).
+ **우편번호**(미국만 해당) - 국가 코드(US)와 5자리 우편번호를 차례로 지정합니다(예: US\$198121).

위도 및 경도 형식은 모든 지역에서 지원됩니다. 우편번호 형식은 미국 지역에서만 지원됩니다.

**Topics**
+ [위도 및 경도 경계](#geolocation-bounds)
+ [데이터 세트 스키마에 지리적 위치 포함](#geolocation-schema)
+ [지리적 위치 형식 설정](#geolocation-format)

### 위도 및 경도 경계
<a name="geolocation-bounds"></a>

허용되는 지역의 위도 및 경도 경계는 다음과 같습니다.

------
#### [ US Region ]

**경계**: 위도(24.6, 50.0), 경도(-126.0, -66.4).

![\[Map of North America showing United States, parts of Canada and Mexico with major cities.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/weather-us-bounds.png)


------
#### [ Canada Region ]

**경계**: 위도(41.0, 75.0), 경도(-142.0, -52.0).

![\[Map showing northern Canada and parts of the US, highlighting territories and major cities.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/weather-can-bounds.PNG)


------
#### [ Europe Region ]

**경계**: 위도(34.8, 71.8), 경도(-12.6, 44.8).

![\[Map of Northern Europe and surrounding regions showing countries and major cities.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/weather-euro-bounds.png)


------
#### [ South America Region ]

**경계**: 위도(-56.6, 14.0), 경도(-82.4, -33.00).

![\[Map of South America showing countries, major cities, and Brazilian states.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/weather-sa-bounds.PNG)


------
#### [ Asia Pacific Region ]

**경계**: 위도(-47.8, 55.0), 경도(67.0, 180.60).

![\[Map showing East Asia, Southeast Asia, and Australia with country names and ocean labels.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/weather-apac-bounds.png)


------
#### [ Central America Region ]

**경계**: 위도(6.80, 33.20), 경도(-118.80, -58.20).

![\[Map showing southern US, Mexico, Central America, and Caribbean with major cities and bodies of water.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/weather-ca-bounds.png)


------
#### [ Africa & Middle East Region ]

**경계**: 위도(-35.60, 43.40), 경도(-18.80, -58.20).

![\[Map showing North Africa, Middle East, and parts of Europe with country names and borders.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/weather-africa-bounds.png)


------

### 데이터 세트 스키마에 지리적 위치 포함
<a name="geolocation-schema"></a>

콘솔 또는 [CreateDataset](API_CreateDataset.md) 작업을 사용하여 대상 시계열 및 모든 관련 시계열의 위치 속성 유형을 JSON 스키마 내에서 'geolocation'으로 정의합니다. 스키마 내 속성 순서는 데이터 세트에 나타나는 순서여야 합니다.

```
 { 
  "Attributes":[
    {
       "AttributeName": "timestamp",
       "AttributeType": "timestamp"
    },
    {
       "AttributeName": "target_value",
       "AttributeType": "float"
    },
    {
       "AttributeName": "item_id",
       "AttributeType": "string"
    },
    {
       "AttributeName": "location",
       "AttributeType": "geolocation"
    }
  ]
}
```

### 지리적 위치 형식 설정
<a name="geolocation-format"></a>

지리적 위치 속성의 형식은 **우편번호** 또는 **위도 및 경도** 형식일 수 있습니다. Forecast 콘솔 또는 Forecast 소프트웨어 개발 키트(SDK)를 사용하여 지리적 위치 형식을 설정할 수 있습니다.

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

**시계열 데이터 세트에 지리적 위치 속성을 추가하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터세트 그룹 생성**을 선택합니다.

1. **스키마 빌더**에서 지리적 위치 **속성 유형** 유형을 `geolocation`으로 설정합니다.

1. **지리적 위치 형식** 드롭다운에서 위치 형식을 선택합니다.

![\[Dataset details form with name, frequency, and schema builder for attribute specification.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/schema-builder-geolocation.png)


JSON 형식으로 속성을 정의하고 **지리적 위치 형식** 드롭다운에서 위치 형식을 선택할 수도 있습니다.

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

**시계열 데이터 세트에 지리적 위치 속성을 추가하려면**

[CreateDatasetImportJob](API_CreateDatasetImportJob.md) 작업을 사용하여 `GeolocationFormat`의 값을 다음 중 하나로 설정합니다.
+ **위도 및 경도**(모든 지역): `"LAT_LONG"`
+ **우편번호**(미국만 해당): `"CC_POSTALCODE"`

예를 들어 위도 및 경도 형식을 지정하려면 다음을 `CreateDatasetImportJob` 요청에 포함하세요.

```
{
    ...
    "GeolocationFormat": "LAT_LONG"
}
```

------

## 시간대 지정
<a name="specifying-timezones"></a>

Amazon Forecast가 시간대 정보를 지리적 위치 속성에 자동으로 동기화하도록 하거나 전체 데이터 세트에 단일 시간대를 수동으로 할당할 수 있습니다.

**Topics**
+ [시간대를 지리적 위치에 자동으로 동기화](#timezones-automatic)
+ [수동으로 단일 시간대 선택](#timezones-manual)

### 시간대를 지리적 위치에 자동으로 동기화
<a name="timezones-automatic"></a>

이 옵션은 여러 시간대의 타임스탬프가 포함되어 있고 이러한 타임스탬프가 현지 시간으로 표시되는 데이터 세트에 적합합니다. Forecast는 항목의 지리적 위치 속성을 기반으로 대상 시계열 데이터 세트의 모든 항목에 시간대를 할당합니다.

Forecast 콘솔 또는 Forecast SDK를 사용하여 타임스탬프를 지리적 위치 속성에 자동으로 동기화할 수 있습니다.

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

**시간대를 지리적 위치 속성에 동기화하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. 탐색 창에서 **데이터세트 그룹 생성**을 선택합니다.

1. **데이터 세트 가져오기 세부 정보**에서 **시간대와 위치 동기화**를 선택합니다.

![\[Dataset import form with fields for name, time zone, S3 data location, and IAM role.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/sync-timezone-with-geolocation.PNG)


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

**시간대를 지리적 위치 속성에 동기화하려면**

[CreateDatasetImportJob](API_CreateDatasetImportJob.md) 작업을 사용하여 `"UseGeolocationForTimeZone"`을 `"true"`로 설정합니다.

```
{
    ...
    "UseGeolocationForTimeZone": "true"
}
```

------

### 수동으로 단일 시간대 선택
<a name="timezones-manual"></a>

**참고**  
*미국 지역*, *캐나다 지역*, *남아메리카 지역*, *중앙아메리카 지역*, *아시아 태평양 지역*, *유럽 지역*, *아프리카 및 중동 지역* 외의 시간대를 수동으로 선택할 수 있습니다. 다만 모든 지리적 위치 값은 이러한 지역 중 하나 내의 값이어야 합니다.

이 옵션은 모든 타임스탬프가 단일 시간대 내에 있는 데이터 세트 또는 모든 타임스탬프가 단일 시간대로 정규화된 경우에 적합합니다. 이 옵션을 사용하면 데이터 세트의 모든 항목에 동일한 시간대가 적용됩니다.

날씨 지수는 다음 시간대를 받습니다.

 **미국 지역** 
+  America/Los\$1Angeles 
+  America/Phoenix 
+  America/Denver 
+  America/Chicago 
+  America/New\$1York 

 **캐나다 지역** 
+ America/Vancouver
+ America/Edmonton
+ America/Regina 
+ America/Winnipeg 
+ America/Toronto
+ America/Halifax
+ America/St\$1Johns

 **유럽 지역** 
+ Europe/London 
+ Europe/Paris 
+ Europe/Helsinki 

 **남아메리카 지역** 
+ America/Buenos\$1Aires
+ America/Noronha
+ America/Caracas 

 **아시아 태평양 지역** 
+ Asia/Kabul 
+ Asia/Karachi 
+ Asia/Kolkata 
+ Asia/Kathmandu 
+ Asia/Dhaka 
+ Asia/Rangoon 
+ Asia/Bangkok 
+ Asia/Singapore 
+ Asia/Seoul 
+ Australia/Adelaide 
+ Australia/Melbourne 
+ Australia/Lord\$1Howe 
+ Australia/Eucla 
+ Pacific/Norfolk 
+ Pacific/Auckland 

 **중앙아메리카** 
+ America/Puerto\$1Rico

 **아프리카 및 중동** 
+ Africa/Nairobi 
+ Asia/Tehran 
+ Asia/Dubai

 **기타** 
+ Pacific/Midway 
+ Pacific/Honolulu 
+ Pacific/Marquesas 
+ America/Anchorage 
+ Atlantic/Cape\$1Verde 
+ Asia/Anadyr 
+ Pacific/Chatham 
+ Pacific/Enderbury 
+ Pacific/Kiritimati 

데이터 세트의 항목이 허용 지역 중 한 곳에 있지만 타임스탬프가 해당 지역 외부의 시간대로 표준화된 경우 **기타** 목록에서 시간대를 선택하세요.

유효한 시간대 이름의 전체 목록은 [Joda-Time 라이브러리](http://joda-time.sourceforge.net/timezones.html)를 참조하세요.

Forecast 콘솔 또는 Forecast SDK를 사용하여 데이터 세트의 시간대를 수동으로 설정할 수 있습니다.

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

**데이터 세트의 단일 시간대를 선택하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. 탐색 창에서 **데이터세트 그룹 생성**을 선택합니다.

1. **데이터 세트 가져오기 세부 정보**에서 **시간대 선택**을 선택합니다.

예를 들어 다음을 사용하여 로스앤젤레스 시간(태평양 표준시)을 데이터 세트에 적용할 수 있습니다.

![\[Dataset import form with fields for name, time zone, data location, and IAM role.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/select-timezone.PNG)


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

**데이터 세트의 단일 시간대를 선택하려면**

[CreateDatasetImportJob](API_CreateDatasetImportJob.md) 작업을 사용하여 `"TimeZone"`을 유효한 시간대로 설정합니다.

예를 들어 다음을 사용하여 로스앤젤레스 시간(태평양 표준시)을 데이터 세트에 적용할 수 있습니다.

```
{
    ...
    "TimeZone": "America/Los_Angeles"
}
```

------

## 조건 및 제한
<a name="weather-conditions-restrictions"></a>

날씨 지수를 사용할 때는 다음 조건 및 제한 사항이 적용됩니다.
+ **사용 가능한 알고리즘**: 레거시 예측기를 사용하는 경우 CNN-QR, DeepAR\$1, Prophet 알고리즘으로 예측기를 훈련하면 날씨 지수를 활성화할 수 있습니다. ARIMA, ETS, NPTS에는 날씨 지수가 적용되지 않습니다.
+ **예측 빈도**: 유효한 예측 빈도는 `Minutely`, `Hourly`, `Daily`입니다.
+ **예측 기간**: 예측 기간은 미래 14일을 초과할 수 없습니다. 각 예측 빈도별 예측 기간 한도는 아래 목록을 참조하세요.
  + `1 minute` - 500
  + `5 minutes` - 500
  + `10 minutes` - 500
  + `15 minutes` - 500
  + `Hourly` - 330
  + `Daily` - 14
+ **시계열 길이**: 날씨 지수를 사용하여 모델을 훈련하는 경우 Forecast는 날씨 데이터 세트 특성화 시작 날짜 이전의 타임스탬프가 있는 모든 시계열 데이터 세트를 잘라냅니다. Forecast 날씨 데이터 세트 특성화에 포함된 시작 날짜는 다음과 같습니다.
  + **미국 지역**: 2018년 7월 2일
  + **유럽 지역**: 2018년 7월 2일
  + **아시아 태평양 지역**: 2018년 7월 2일
  + **캐나다 지역**: 2019년 7월 2일
  + **남아메리카 지역**: 2020년 1월 2일
  + **중앙아메리카 지역**: 2020년 9월 2일
  + **아프리카 및 중동 지역**: 2021년 3월 25일

  날씨 지수를 활성화하면 시작 날짜 이전의 타임스탬프가 있는 데이터 포인트는 예측기 훈련 중에 사용되지 않습니다.
+ **위치 수**: 대상 시계열 데이터 세트의 고유 위치는 2,000개를 초과할 수 없습니다.
+ **지역 경계**: 데이터 세트의 모든 항목은 단일 지역 내에 있어야 합니다.
+ **최소 시계열 길이**: 날씨 지수 테스트 시 추가 데이터 요구 사항으로 인해 시계열 데이터 세트의 최소 길이는 다음과 같습니다.

  `3 × ForecastHorizon + (BacktestWindows + 1) × BacktestWindowOffset`

  시계열 데이터 세트가 이 요구 사항을 충족하지 않는 경우 다음을 줄이는 것을 고려해 보세요.
  + `ForecastHorizon` - 예측 기간을 줄입니다.
  + `BacktestWindowOffset` - 백테스트 중에 테스트 세트의 길이를 줄입니다.
  + `BacktestWindows` - 백테스트 수를 줄입니다.

# 공휴일 특성화
<a name="holidays"></a>

공휴일은 특성 추출된 국경일 정보 데이터 세트를 모델에 통합하는 기본 제공 특성화입니다. 공휴일은 250여 국가의 공휴일 달력을 기본적으로 지원합니다. Amazon Forecast는 [Holidays API 라이브러리](https://holidayapi.com/countries)와 [Jollyday API](https://jollyday.sourceforge.net/data.html)를 모두 통합하여 공휴일 달력을 생성합니다.

공휴일 특성화는 공휴일이 수요에 큰 영향을 미칠 수 있는 소매 도메인에서 특히 유용합니다.

공휴일 특성화는 최소 5분, 최대 1개월의 예측 빈도를 지원합니다.

**Topics**
+ [공휴일 특성화 활성화](#enabling-holidays)
+ [국가 코드](#holidays-country-codes)
+ [추가 공휴일 달력](#holiday-calendars)

## 공휴일 특성화 활성화
<a name="enabling-holidays"></a>

공휴일 특성화는 Amazon Forecast에 [추가 데이터 세트](API_AdditionalDataset.md)로 포함되며 예측기를 훈련하기 전에 활성화됩니다. 과거 데이터에 최소 2년 분량의 데이터가 포함되는 것이 좋습니다. 이를 통해 Forecast는 특정 공휴일과 관련된 수요 패턴을 식별할 수 있습니다. 국가를 선택하면 공휴일은 훈련 중에 해당 국가의 공휴일 달력을 데이터 세트의 모든 항목에 적용합니다.

 Amazon Forecast 콘솔 또는 Forecast 소프트웨어 개발 키트(SDK)를 사용하여 공휴일을 활성화할 수 있습니다.

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

[`CreateAutoPredictor`](API_CreateAutoPredictor.md) 작업을 사용하여 `"Name": "holiday`"를 추가하고 두 글자 국가 코드인 `"CountryCode"`를 매핑하도록 `"Configuration"`을 설정하여 공휴일을 활성화합니다. [국가 코드](#holidays-country-codes)을(를) 참조하세요.

예를 들어 미국 공휴일 달력을 포함하려면 다음 코드를 사용하세요.

```
      "DataConfig": {          
        "AdditionalDatasets": [          
            {             
                "Name": "holiday",            
                "Configuration": {
                    "CountryCode" : ["US"]
                }      
            },      
          ]   
        },
```

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

**예측기 훈련** 단계에서 **휴일이 있는 국가** 드롭다운에서 국가를 선택합니다.

![\[Toggle switch to activate holidays and dropdown menu to select a country for forecast accuracy.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/holidays-dropdown-2.png)


------

## 국가 코드
<a name="holidays-country-codes"></a>

 Amazon Forecast는 다음 국가의 공휴일 달력을 기본 지원합니다. API로 국가를 지정할 때는 **국가 코드**를 사용하세요.


**지원되는 국가**  

| 국가 | 국가 코드 | 
| --- | --- | 
|   아프가니스탄   |   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   | 
|   홍콩   |   HK   | 
|   헝가리   |   HU   | 
|   아이슬란드   |   IS   | 
|   인도   |   IN   | 
|   인도네시아   |   ID   | 
|   이란   |   IR   | 
|   이라크   |   IQ   | 
|   아일랜드   |   IE   | 
|   맨 섬   |   IM   | 
|   이스라엘   |   IL   | 
|   이탈리아   |   IT   | 
|   아이버리 코스트   |   CI   | 
|   자메이카   |   JM   | 
|   일본   |   JP   | 
|   저지   |   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   | 
|   몬트세라트 섬   |   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   | 
|   영국   |   GB   | 
|   유엔   |   UN   | 
|   미국   |   US   | 
|   미국령 군소 제도   |   UM   | 
|   미국령 버진아일랜드   |   VI   | 
|   우루과이   |   UY   | 
|   우즈베키스탄   |   UZ   | 
|   바누아투   |   VU   | 
|   바티칸 시티   |   VA   | 
|   베네수엘라   |   VE   | 
|   베트남   |   VN   | 
|   월리스 푸투나   |   WF   | 
|   서사하라   |   EH   | 
|   예멘   |   YE   | 
|   잠비아   |   ZM   | 
|   짐바브웨   |   ZW   | 

## 추가 공휴일 달력
<a name="holiday-calendars"></a>

Amazon Forecast는 인도, 한국, 아랍에미리트의 공휴일도 지원합니다. 해당 공휴일은 아래에 나열되어 있습니다.

------
#### [ India - "IN" ]

1월 26일 - 공화국의 날 

8월 15일 - 독립기념일

10월 2일 - 간디 자얀티

------
#### [ Korea - "KR" ]

1월 1일 - 새해 

3월 1일 - 3.1절 

5월 5일 - 어린이날

6월 6일 - 현충일

8월 15일 - 광복절

10월 3일 - 개천절

10월 9일 - 한글날

12월 25일 - 크리스마스

------
#### [ United Arab Emirates - "AE" ]

1월 1일 - 새해 

12월 1일 - 순교자의 날

12월 2-3일 - 국경일

라마단\$1

이드 알 피트르\$1

이드 알 아드하\$1

이슬람 새해\$1

\$1이슬람 공휴일은 음력에 따라 결정됩니다.

------

# 예측기 설명 가능성
<a name="predictor-explainability"></a>

예측기 설명 가능성은 데이터 세트의 속성이 대상 변수에 미치는 영향을 더 잘 이해하는 데 도움이 됩니다. Forecast는 영향 점수라는 지표를 사용하여 각 속성의 상대적 영향을 정량화하고 예측 값을 증가시키는지 감소시키는지 결정합니다.

예를 들어 대상이 `sales`이고 `price` 및 `color`의 두 관련 속성이 있는 예측 시나리오를 생각해 보세요. Forecast는 항목의 가격이 판매에 큰 영향을 미치는 반면(높은 영향 점수), 항목의 색상이 미치는 영향은 미미(낮은 영향 점수)하다는 것을 발견할 수 있습니다.

예측기 설명 가능성을 활성화하려면 예측기에 관련 시계열, 항목 메타데이터 또는 공휴일과 날씨 지수 같은 추가 데이터 세트 중 하나 이상이 포함되어야 합니다. 자세한 정보는 [제한 및 모범 사례](#predictor-explainability-best-practices)을 참조하세요.

특정 시계열 및 시점에 대한 영향 점수를 생성하려면 예측기 설명 가능성 대신 예측 설명 가능성을 사용하세요. [예측 설명 가능성](forecast-explainability.md)을 참조하세요.

**Topics**
+ [영향 점수 해석](#predictor-explainability-impact-scores)
+ [예측기 설명 가능성 생성](#creating-predictor-explainability)
+ [예측기 설명 가능성 내보내기](#exporting-predictor-explainability)
+ [제한 및 모범 사례](#predictor-explainability-best-practices)

## 영향 점수 해석
<a name="predictor-explainability-impact-scores"></a>

영향 점수는 속성이 예측값에 미치는 상대적 영향을 측정합니다. 예를 들어 '가격' 속성의 영향 점수가 '매장 위치' 속성보다 두 배 높으면 항목 가격이 매장 위치보다 예측값에 미치는 영향이 두 배라는 결론을 내릴 수 있습니다.

 영향 점수는 속성이 예측 값을 증가시키는지 감소시키는지에 대한 정보도 제공합니다. 콘솔에서 이는 두 개의 그래프로 표시됩니다. 파란색 막대가 있는 속성은 예측값을 증가시키고, 빨간색 막대가 있는 속성은 예측값을 감소시킵니다.

![\[Bar graphs showing Price and Promo increasing impact scores, StoreLocation decreasing impact score.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/quicksight-unfiltered.png)


콘솔에서 영향 점수 범위는 0에서 1까지입니다. 여기서 점수가 0이면 영향이 없음을 나타내고 1에 가까우면 영향이 큼을 나타냅니다. SDK에서 영향 점수의 범위는 –1에서 1까지이며, 여기서 부호는 영향의 방향을 나타냅니다.

중요한 점은 영향 점수는 속성의 절대적 영향이 아니라 상대적 영향을 측정한다는 점입니다. 따라서 영향 점수를 사용하여 특정 속성이 모델 정확도를 향상시키는지 여부를 판단할 수는 없습니다. 속성의 영향 점수가 낮다고 해서 반드시 예측값에 미치는 영향이 적은 것은 아니며, 예측기가 사용하는 다른 속성보다 예측값에 미치는 영향이 적다는 뜻입니다.

## 예측기 설명 가능성 생성
<a name="creating-predictor-explainability"></a>

**참고**  
예측기당 최대 1개의 예측기 설명 가능성을 생성할 수 있습니다.

예측기 설명 가능성을 활성화하면 Amazon Forecast는 데이터 세트의 모든 속성에 대한 영향 점수를 계산합니다. 영향 점수는 속성이 전체 예측 값에 미치는 영향으로 해석할 수 있습니다. 예측기를 생성할 때 예측기 설명 가능성을 활성화하거나, 예측기를 생성한 후 이 기능을 활성화할 수 있습니다.

### 새 예측기의 예측기 설명 가능성 활성화
<a name="creating-predictor-explainability-new"></a>

새 예측기를 생성할 때 예측기 설명 가능성을 활성화하면 예측기 리소스와 설명 가능성 리소스가 모두 생성됩니다. 소프트웨어 개발 키트(SDK) 또는 Amazon Forecast 콘솔을 사용하여 새 예측기의 예측기 설명 가능성을 활성화할 수 있습니다.

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

**예측기 설명 가능성을 활성화하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. **새 예측기 훈련**을 선택합니다.

1. **예측기 구성** 섹션에서 **설명 가능성 활성화**를 선택합니다.

1. 다음 필수 필드에 값을 입력합니다.
   + **이름** - 고유한 예측기 이름입니다.
   + **예측 빈도** - 예측의 세분 수준입니다.
   + **예측 기간** - 예측할 시간 단계 수입니다.

1. **시작**을 선택합니다

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

SDK for Python(Boto3)으로 새 예측기의 설명 가능성을 활성화하려면 `create_auto_predictor` 메서드를 사용하고 ExplainPredictor를 true로 설정하세요.

다음 코드는 장래의 24(`ForecastHorizon`)일(`ForecastFrequency`)을 예측하는 자동 예측기를 생성하고 `ExplainPredictor`가 true로 설정되어 있습니다. 필수 및 선택적 파라미터에 대한 자세한 내용은 [CreateAutoPredictor](API_CreateAutoPredictor.md)를 참조하세요.

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

create_predictor_response = forecast.create_auto_predictor(
    PredictorName = 'predictor_name',
    ForecastHorizon = 24,
    ForecastFrequency = 'D',
    DataConfig = {
        "DatasetGroupArn": "arn:aws:forecast:region:account:dataset-group/datasetGroupName"
    },
    ExplainPredictor = True
)
```

------

### 기존 예측기의 예측기 설명 가능성 활성화
<a name="creating-predictor-explainability-old"></a>

기존 예측기의 예측기 설명 가능성을 활성화하면 해당 리소스에 대한 설명 가능성 리소스가 생성됩니다. 설명 가능성 리소스가 아직 포함되어 있지 않은 예측기에 대해서만 설명 가능성 리소스를 생성할 수 있습니다. 업데이트된 데이터 세트의 영향 점수를 보려면 업데이트된 데이터로 예측기를 재훈련하거나 다시 생성하세요.

소프트웨어 개발 키트(SDK) 또는 Amazon Forecast 콘솔을 사용하여 새 예측기의 예측기 설명 가능성을 활성화할 수 있습니다.

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

**예측기 설명 가능성을 활성화하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. 예측기를 선택합니다.

1. **예측기 설명 가능성** 섹션에서 **설명 가능성 활성화**를 선택합니다.

1. 예측기 설명 가능성에 고유한 이름을 입력합니다.

1. **시작**을 선택합니다

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

SDK for Python(Boto3)으로 기존 예측기의 예측기 설명 가능성을 활성화하려면 `create_explainability` 메서드를 사용하세요. 설명 가능성의 이름과 예측기의 ARN을 지정하고, `ExplainabilityConfig`에서 `TimePointGranularity`와 `TimeSeriesGranularity`를 모두 **ALL**로 설정합니다. 콘솔에서 볼 수 있는 설명 가능성 시각화를 생성하려면 `EnableVisualization`을 **True**로 설정합니다.

필수 및 선택적 파라미터에 대한 자세한 내용은 [CreateExplainability](API_CreateExplainability.md)를 참조하세요.

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

create_explainability_response = forecast.create_explainability(
    ExplainabilityName = 'explainability_name',
    ResourceArn = 'arn:aws:forecast:region:accountNumber:predictor/predictorName',
    ExplainabilityConfig = { 
      "TimePointGranularity": "ALL",
      "TimeSeriesGranularity": "ALL"
    },
    EnableVisualization = True
)
```

------

## 예측기 설명 가능성 내보내기
<a name="exporting-predictor-explainability"></a>

**참고**  
내보내기 파일은 데이터 세트 가져오기의 정보를 직접 반환할 수 있습니다. 따라서 가져온 데이터에 수식이나 명령이 포함된 경우 파일이 CSV 삽입에 취약해집니다. 이러한 이유로, 파일을 내보내는 경우 보안 경고가 표시될 수 있습니다. 악의적인 활동을 방지하려면 내보낸 파일을 읽을 때 링크와 매크로를 비활성화하세요.

Forecast를 사용하면 영향 점수의 CSV 또는 Parquet 파일을 S3 위치로 내보낼 수 있습니다. 영향 점수의 범위는 –1에서 1까지이며, 여기서 부호는 영향의 방향을 나타냅니다. Amazon Forecast 소프트웨어 개발 키트(SDK)와 Amazon Forecast 콘솔을 사용하여 영향 점수를 내보낼 수 있습니다.

![\[Table showing normalized impact scores for price, promotion, weather index, and US holidays.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/explainability-global.png)


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

**예측기 설명 가능성을 내보내려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. 예측기를 선택합니다.

1. **예측기 설명 가능성** 섹션에서 **내보내기**를 선택합니다.

1. **내보내기 이름** 필드에 내보내기의 고유한 이름을 입력합니다.

1. **S3 설명 가능성 내보내기 위치** 필드에 CSV 파일을 내보낼 S3 위치를 제공합니다.

1. **IAM 역할** 필드에는 지정된 S3 위치에 액세스할 수 있는 역할을 제공합니다.

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

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

SDK for Python(Boto3)을 사용하여 예측기 설명 가능성을 내보내려면 `create_explainability_export` 메서드를 사용합니다. 작업에 이름을 지정하고, 설명 가능성의 ARN을 지정하고, `Destination` 객체에 Amazon S3 대상 위치 및 IAM 서비스 역할을 지정합니다.

필수 및 선택적 파라미터에 대한 자세한 내용은 [CreateExplainabilityExport](API_CreateExplainabilityExport.md)를 참조하세요.

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

export_response = forecast.create_explainability_export(
    Destination = {
        "S3Config": {
            "Path": "s3://bucketName/filename.csv",
            "RoleArn": "arn:aws:iam::accountNumber:role/roleName"
        }
    },
    ExplainabilityArn = 'arn:aws:forecast:region:accountNumber:explainability/explainabilityName',
    ExplainabilityExportName = 'job_name'
)
```

------

## 제한 및 모범 사례
<a name="predictor-explainability-best-practices"></a>

예측기 설명 가능성을 사용할 때는 다음 제한 및 모범 사례를 고려하세요.
+ **예측기 설명 가능성은 AutoPredictor로 생성된 일부 예측기에서만 사용할** 수 있습니다. AutoML로 생성되거나 수동 선택을 통해 생성된 레거시 예측기에는 설명 가능성을 활성화할 수 없습니다. [AutoPredictor로 업그레이드](howitworks-predictor.md#upgrading-autopredictor)를 참조하세요.
+ **일부 모델에서는 예측기 설명 가능성을 사용할 수 없습니다**. ARIMA(AutoRegressive Integrated Moving Average), ETS(Exponential Smoothing State Space Model) 및 NPTS(Non-Parametric Time Series) 모델은 외부 시계열 데이터를 포함하지 않습니다. 따라서 이러한 모델은 추가 데이터 세트를 포함하더라도 설명 가능성 보고서를 생성하지 않습니다.
+ **설명 가능성에는 속성이 필요합니다** - 예측기에는 관련 시계열, 항목 메타데이터, 공휴일 또는 날씨 지수 중 하나 이상이 포함되어야 합니다.
+ **예측기는 설명 가능성 리소스 하나로 제한됩니다.** 즉, 예측기에 대해 설명 가능성 리소스를 여러 개 만들 수 없습니다. 업데이트된 데이터 세트의 영향 점수에 관심이 있다면 예측기를 재훈련하세요.
+ **영향 점수 0은 영향이 없음을 나타냅니다** - 영향 점수가 0인 속성은 예측 값에 큰 영향을 미치지 않습니다.
+ **실패한 예측기 설명 가능성 작업 재시도** - Forecast가 성공적으로 예측기를 성공적으로 생성되지만 예측기 설명 가능성 작업이 실패할 경우 콘솔에서 또는 CreateExplainability 작업을 사용하여 예측기 설명 가능성 생성을 재시도할 수 있습니다.
+ **특정 시점 및 시계열에 대한 영향 점수를 생성할 수 없습니다** - 특정 시점 및 시계열에 대한 영향 점수를 보려면 [예측 설명 가능성](forecast-explainability.md)을 참조하세요.
+ **예측기 설명 가능성 시각화는 생성 후 90일 동안 사용할 수 있습니다** - 90일 후에 시각화를 보려면 예측기를 다시 훈련하세요.

# 예측기 모니터링
<a name="predictor-monitoring"></a>

**참고**  
 예측기 모니터링을 활성화하면 Amazon Forecast는 예측 데이터를 삭제한 후에도 예측기 성능 분석을 위해 각 예측의 데이터를 저장합니다. 이 데이터를 삭제하려면 모니터링 리소스를 삭제하세요.

 예측기 모니터링을 사용하면 시간 경과에 따라 예측기의 성능이 어떻게 변하는지 볼 수 있습니다. 경제 발전이나 고객 행동 변화 등 다양한 요인으로 인해 성능이 달라질 수 있습니다.

 예를 들어 대상이 `sales`이고 `price` 및 `color`의 두 관련 속성이 있는 예측 시나리오를 생각해 보세요. 첫 번째 예측기를 생성한 후 몇 달이 지나 특정 색상이 예기치 않게 고객에게 인기가 높아질 수 있습니다. 이로 인해 이 속성을 가진 항목의 판매량이 증가할 수 있습니다. 이 새 데이터는 예측기의 성능과 예측기가 생성하는 예측의 정확도에 영향을 미칠 수 있습니다.

 예측기 모니터링을 활성화하면 Forecast는 사용자가 예측을 생성하고 더 많은 데이터를 가져올 때 예측기의 성능을 분석합니다. Forecast는 새 데이터를 이전 예측과 비교하여 성능의 변화를 감지합니다. Forecast 콘솔에서 시간 경과에 따른 다양한 정확도 지표의 변화를 그래프로 확인할 수 있습니다. 또는 [ListMonitorEvaluations](API_ListMonitorEvaluations.md) 작업을 통해 모니터링 결과를 얻을 수 있습니다.

 예측기 모니터링은 예측기를 재훈련할 시기가 되었는지 판단하는 데 도움이 될 수 있습니다. 성능이 저하되는 경우 더 많은 최신 데이터를 사용하여 예측기를 재훈련하는 것이 좋습니다. 예측기를 재훈련하기로 선택한 경우 새 예측기에는 이전 예측기의 모니터링 데이터가 포함됩니다. 예측기 모니터링을 사용하여 프로덕션 환경에 대한 컨텍스트 데이터를 수집하거나 다양한 실험을 비교할 수도 있습니다.

예측기 모니터링은 AutoPredictor에만 사용할 수 없습니다. 기존 레거시 예측기를 AutoPredictor로 업그레이드할 수 있습니다. [AutoPredictor로 업그레이드](howitworks-predictor.md#upgrading-autopredictor)를 참조하세요.

**Topics**
+ [예측기 모니터링 워크플로](#predictor-monitoring-workflow)
+ [예측기 모니터링 활성화](enabling-predictor-monitoring.md)
+ [모니터링 결과 보기](predictor-monitoring-results.md)
+ [제한 및 모범 사례](#predictor-monitoring-best-practices)

## 예측기 모니터링 워크플로
<a name="predictor-monitoring-workflow"></a>

예측기 모니터링 결과를 가져오려면 먼저 예측기를 사용하여 예측을 생성한 다음 추가 데이터를 가져와야 합니다. 모니터링 워크플로는 다음과 같습니다.

1. 자동 예측기에 대한 예측기 모니터링 활성화:
   + 모니터링이 활성화된 새 예측기를 생성합니다. [새 예측기에 대한 예측기 모니터링 활성화](enabling-predictor-monitoring.md#enabling-predictor-monitoring-new)을(를) 참조하세요.
   + 또는 기존 예측기에 대한 모니터링을 활성화합니다. [기존 예측기에 대한 예측기 모니터링 활성화](enabling-predictor-monitoring.md#enabling-predictor-monitoring-existing)을(를) 참조하세요.

1. 예측기를 사용하여 하나 이상의 예측을 생성합니다.

1. 더 많은 데이터를 가져옵니다. Forecast로 데이터 가져오기에 대한 자세한 내용은 [데이터 세트 가져오기](howitworks-datasets-groups.md)을 참조하세요.

1. 예측기 모니터링 결과 보기:
   + 예측기의 **모니터링** 탭에서 결과를 볼 수 있습니다.
   + 또는 [ListMonitorEvaluations](API_ListMonitorEvaluations.md) 작업을 통해 모니터링 결과를 얻을 수 있습니다.

   자세한 내용은 [모니터링 결과 보기](predictor-monitoring-results.md) 단원을 참조하십시오.

# 예측기 모니터링 활성화
<a name="enabling-predictor-monitoring"></a>

예측기를 생성할 때 예측기 모니터링을 활성화하거나 기존 예측기에 대해 예측기 모니터링을 활성화할 수 있습니다.

**참고**  
예측기 모니터링은 AutoPredictor에만 사용할 수 없습니다. 기존 레거시 예측기를 AutoPredictor로 업그레이드할 수 있습니다. [AutoPredictor로 업그레이드](howitworks-predictor.md#upgrading-autopredictor)를 참조하세요.

**Topics**
+ [새 예측기에 대한 예측기 모니터링 활성화](#enabling-predictor-monitoring-new)
+ [기존 예측기에 대한 예측기 모니터링 활성화](#enabling-predictor-monitoring-existing)

## 새 예측기에 대한 예측기 모니터링 활성화
<a name="enabling-predictor-monitoring-new"></a>

콘솔, AWS CLI AWS SDKs 및 [CreateAutoPredictor](API_CreateAutoPredictor.md) 작업을 사용하여 새 예측기에 대한 예측기 모니터링을 활성화할 수 있습니다.

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

**예측기 모니터링을 활성화하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. **새 예측기 훈련**을 선택합니다.

1. **예측기 구성** 섹션에서 **모니터링 활성화**를 선택합니다.

1. 다음 필수 필드에 값을 입력합니다.
   + **이름** - 고유한 예측기 이름입니다.
   + **예측 빈도** - 예측의 세분 수준입니다.
   + **예측 기간** - 예측할 시간 단계 수입니다.

1. 모니터링이 활성화된 자동 예측기를 생성하려면 **시작**을 선택합니다. 예측기를 사용하여 예측을 생성한 다음 추가 데이터를 가져오면 모니터링 결과를 확인할 수 있습니다.

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

SDK for Python(Boto3)을 사용하여 새 예측기에 대한 예측기 모니터링을 활성화하려면 `create_auto_predictor` 메서드를 사용하고 `MonitoringConfig`에서 모니터 이름을 제공합니다.

다음 코드는 장래의 24(`ForecastHorizon`)일(`ForecastFrequency`)을 예측하는 자동 예측기를 생성하고 `MyPredictorMonitor`를 `MonitorName`으로 지정합니다. 예측을 생성한 다음 추가 데이터를 가져오면 예측기 모니터링의 결과를 볼 수 있습니다. 결과 검색에 대한 자세한 내용은 [모니터링 결과 보기](predictor-monitoring-results.md) 단원을 참조하세요.

 예측기 생성을 위한 필수 및 선택적 파라미터에 대한 자세한 내용은 [CreateAutoPredictor](API_CreateAutoPredictor.md)를 참조하세요.

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

create_predictor_response = forecast.create_auto_predictor(
    PredictorName = 'predictor_name',
    ForecastHorizon = 24,
    ForecastFrequency = 'D',
    DataConfig = {
        "DatasetGroupArn": "arn:aws:forecast:region:account:dataset-group/datasetGroupName"
    },
    MonitorConifg = {
        "MonitorName": "MyMonitorName"
    }
)
```

------

## 기존 예측기에 대한 예측기 모니터링 활성화
<a name="enabling-predictor-monitoring-existing"></a>

콘솔 AWS CLI, 및 AWS SDKs.

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

**예측기 모니터링을 활성화하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. 예측기를 선택합니다.

1. **모니터링** 탭으로 이동합니다.

1. **모니터링 세부 정보** 섹션에서 **모니터링 시작**을 선택합니다.

   **모니터링 상태**가 활성이면 예측기 모니터링이 활성화된 것입니다. 예측을 생성한 다음 추가 데이터를 가져오면 예측기 모니터링의 결과를 볼 수 있습니다. 자세한 내용은 [모니터링 결과 보기](predictor-monitoring-results.md) 섹션을 참조하세요.

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

SDK for Python(Boto3)으로 기존 예측기의 예측기 모니터링을 활성화하려면 `create_monitor` 메서드를 사용하세요. 모니터링 이름을 지정하고, `ResourceArn`에서 모니터링할 예측기의 Amazon 리소스 이름(ARN)을 지정합니다. `describe_monitor` 메서드를 사용하고 모니터 ARN을 제공하여 모니터의 상태를 가져옵니다. 예측을 생성한 다음 추가 데이터를 가져오면 예측기 모니터링의 결과를 볼 수 있습니다. 자세한 내용은 [모니터링 결과 보기](predictor-monitoring-results.md)을 참조하세요.

필수 및 선택적 파라미터에 대한 자세한 내용은 [CreateMonitor](API_CreateMonitor.md) 및 [DescribeMonitor](API_DescribeMonitor.md)를 참조하세요.

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

create_monitor_response = forecast.create_monitor(
    MonitorName = 'monitor_name',
    ResourceArn = 'arn:aws:forecast:region:accountNumber:predictor/predictorName'
)

monitor_arn = create_monitor_response['MonitorArn']

describe_monitor_response = forecast.describe_monitor(
    MonitorArn = monitor_arn
)
print("Monitor status: " + describe_monitor_response['Status'])
```

------

# 모니터링 결과 보기
<a name="predictor-monitoring-results"></a>

예측을 생성한 다음 추가 데이터를 가져오면 예측기 모니터링의 결과를 볼 수 있습니다. Forecast 콘솔에서 결과의 시각화를 보거나 [ListMonitorEvaluations](API_ListMonitorEvaluations.md) 작업을 통해 프로그래밍 방식으로 결과를 검색할 수 있습니다.

 Forecast 콘솔은 각 [예측기 지표](metrics.md)의 결과 그래프를 표시합니다. 그래프에는 예측기와 예측기 이벤트(예: 재훈련)의 수명 주기 동안 각 지표가 어떻게 변했는지가 포함됩니다.

 [ListMonitorEvaluations](API_ListMonitorEvaluations.md) 작업은 다양한 기간의 지표 결과와 예측기 이벤트를 반환합니다.

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

**예측기 모니터링 결과를 보려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/forecast/](https://console.aws.amazon.com/forecast/) Amazon Forecast 콘솔을 엽니다.

1. **데이터 세트 그룹**에서 데이터 세트 그룹을 선택합니다.

1. 탐색 창에서 **예측기**를 선택합니다.

1. 예측기를 선택하고 **모니터링** 탭을 선택합니다.
   +  **모니터링 결과** 섹션은 시간 경과에 따른 다양한 정확도 지표가 어떻게 변했는지 보여줍니다. 드롭다운 목록을 사용하여 그래프가 추적하는 지표를 변경할 수 있습니다.
   + **모니터링 기록** 섹션에는 결과에서 추적된 다양한 이벤트의 세부 정보가 나열됩니다.

    다음은 시간 경과에 따른 예측기 `Avg wQL` 점수의 변화를 보여주는 그래프의 예입니다. 이 그래프에서 `Avg wQL` 값이 시간이 지남에 따라 증가하고 있음을 알 수 있습니다. 이 증가는 예측기 정확도가 감소하고 있음을 나타냅니다. 이 정보를 사용하여 모델을 재검증하고 조치를 취해야 하는지 여부를 결정하세요.  
![\[Graph showing increasing Avg wQL score over time, indicating decreasing predictor accuracy.\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/predictor-drift.png)

------
#### [ SDK for Python (Boto3) ]

 SDK for Python(Boto3)을 사용하여 모니터링 결과를 가져오려면 `list_monitor_evaluations` 메서드를 사용합니다. 모니터의 Amazon 리소스 이름(ARN)을 제공하고, 선택적으로 `MaxResults` 파라미터로 검색할 최대 결과 수를 지정합니다. 선택적으로 `Filter`를 지정하여 결과를 필터링할 수 있습니다. `SUCCESS` 또는 `FAILURE`의 `EvaluationState`를 기준으로 평가를 필터링할 수 있습니다. 다음 코드는 최대 20개의 성공적 모니터링 평가를 가져옵니다.

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

monitor_results = forecast.list_monitor_evaluations(
    MonitorArn = 'monitor_arn',
    MaxResults = 20,
    Filters = [ 
      { 
         "Condition": "IS",
         "Key": "EvaluationState",
         "Value": "SUCCESS"
      }
   ]
)
print(monitor_results)
```

 다음은 JSON 응답의 예입니다.

```
{
  "NextToken": "string",
  "PredictorMonitorEvaluations": [
    {
      "MonitorArn": "MonitorARN",
      "ResourceArn": "PredictorARN",
      "EvaluationTime": "2020-01-02T00:00:00Z",
      "EvaluationState": "SUCCESS",
      "WindowStartDatetime": "2019-01-01T00:00:00Z",
      "WindowEndDatetime": "2019-01-03T00:00:00Z",
      "PredictorEvent": {
        "Detail": "Retrain",
        "Datetime": "2020-01-01T00:00:00Z"
      },
      "MonitorDataSource": {
        "DatasetImportJobArn": "arn:aws:forecast:region:accountNumber:dataset-import-job/*",
        "ForecastArn": "arn:aws:forecast:region:accountNumber:forecast/*",
        "PredictorArn": "arn:aws:forecast:region:accountNumber:predictor/*",
      
      },
      "MetricResults": [
        {
          "MetricName": "AverageWeightedQuantileLoss",
          "MetricValue": 0.17009070456599376
        },
        {
          "MetricName": "MAPE",
          "MetricValue": 0.250711322309796
        },
        {
          "MetricName": "MASE",
          "MetricValue": 1.6275608734888485
        },
        {
          "MetricName": "RMSE",
          "MetricValue": 3100.7125081405547
        },
        {
          "MetricName": "WAPE",
          "MetricValue": 0.17101159704738722}
      ]
    }
  ]
}
```

------

## 제한 및 모범 사례
<a name="predictor-monitoring-best-practices"></a>

예측기 모니터링을 사용할 때는 다음 제한 및 모범 사례를 고려하세요.
+ **예측기 모니터링은 자동 예측기에만 사용할 수 있습니다** - AutoML을 사용하거나 수동 선택을 통해 생성한 레거시 예측기에서는 모니터링을 활성화할 수 없습니다. [AutoPredictor로 업그레이드](howitworks-predictor.md#upgrading-autopredictor)를 참조하세요.
+ **예측기 모니터링은 자동 예측기마다 고유합니다** - 자동 예측기당 하나의 모니터만 생성할 수 있습니다.
+ **예측기 모니터링에는 새 데이터와 예측 생성이 필요합니다** - 새 예측을 생성하는 데 사용되는 새 데이터를 가져오면 예측기 모니터링 결과를 사용할 수 있게 됩니다. 새 데이터를 가져오지 않거나 새로 가져온 데이터가 전체 예측 기간을 포괄하지 않는 경우에는 모니터링 결과를 볼 수 없습니다.
+ **예측기 모니터링에는 새 예측이 필요합니다** - 모니터링 결과를 생성하려면 새 예측을 지속적으로 생성해야 합니다. 새 예측을 생성하지 않는 경우 모니터링 결과가 표시되지 않습니다.
+  **Amazon Forecast는 예측기 성능 분석을 위해 각 예측의 데이터를 저장합니다** - 예측을 삭제하더라도 Forecast는 이러한 데이터를 저장합니다. 이러한 데이터를 삭제하려면 연결된 모니터를 삭제하세요.
+ [StopResource](API_StopResource.md) 작업은 모든 현재 평가와 모든 미래 평가를 중지합니다.
+ avGWQL 지표는 평균이 아닌 분위수에 대한 예측을 생성할 때만 사용할 수 있습니다.
+ 진행 중인 모니터 평가는 [ListMonitorEvaluations](API_ListMonitorEvaluations.md) 작업에 표시되지 않습니다.

# Amazon Forecast 알고리즘
<a name="aws-forecast-choosing-recipes"></a>

Amazon Forecast 예측자는 알고리즘을 사용하여 시계열 데이터 세트로 모델을 학습시킵니다. 그런 다음 학습된 모델을 사용하여 지표와 예측을 생성합니다.

 모델 훈련에 어떤 알고리즘을 사용해야 할지 잘 모르겠으면 예측 변수를 만들 때 AutoML을 선택하고 Forecast에서 데이터 세트에 맞는 최적의 모델을 훈련시키도록 하세요. 그렇지 않으면 Amazon Forecast 알고리즘 중 하나를 수동으로 선택할 수 있습니다.

**Python 노트북**  
AutoML 사용에 대한 단계별 가이드는 [Getting Started with AutoML](https://github.com/aws-samples/amazon-forecast-samples/blob/master/notebooks/advanced/Getting_started_with_AutoML/Getting_started_with_AutoML.ipynb)를 참조하세요.

## 내장된 Forecast 알고리즘
<a name="forecast-algos"></a>

 Amazon Forecast는 선택할 수 있는 6가지 내장 알고리즘을 제공합니다. 이러한 알고리즘은 자기회귀 통합 이동 평균(ARIMA)과 같이 일반적으로 사용되는 통계 알고리즘부터 CNN-QR 및 DeepAr\$1 같은 복잡한 신경망 알고리즘에 이르기까지 다양합니다.

### [CNN-QR](aws-forecast-algo-cnnqr.md)
<a name="cnnqr"></a>

 `arn:aws:forecast:::algorithm/CNN-QR` 

 Amazon Forecast CNN-QR, 컨벌루션 신경망 - 분위수 회귀는 인과 컨벌루션 신경망(CNN)을 사용하여 시계열을 예측하는 독점적인 기계 학습 알고리즘입니다. CNN–QR은 수백 개의 시계열을 포함하는 대규모 데이터 세트에서 가장 잘 작동합니다. CNN-QR은 항목 메타데이터를 받아들이며 미래 값이 없는 관련 시계열 데이터를 받아들이는 유일한 Forecast 알고리즘입니다.

### [DeepAR\$1](aws-forecast-recipe-deeparplus.md)
<a name="deeparplus"></a>

`arn:aws:forecast:::algorithm/Deep_AR_Plus`

 Amazon Forecast DeepAR\$1는 반복 신경망(RNN)을 사용하여 시계열을 예상하는 독점적인 기계 학습 알고리즘입니다. DeepAR\$1는 수백 개의 특성 시계열을 포함하는 대규모 데이터 세트에서 가장 잘 작동합니다. 알고리즘은 미래 예측 관련 시계열 및 항목 메타데이터를 받아들입니다.

### [Prophet](aws-forecast-recipe-prophet.md)
<a name="prophet"></a>

`arn:aws:forecast:::algorithm/Prophet`

 Prophet은 비선형 추세가 연도별, 주별, 일별 계절성에 맞는 가법 모델을 기반으로 하는 시계열 예측 알고리즘입니다. 계절적 영향이 강하고 여러 시즌의 과거 데이터를 가진 시계열에 가장 적합합니다.

### [NPTS](aws-forecast-recipe-npts.md)
<a name="npts"></a>

`arn:aws:forecast:::algorithm/NPTS`

 Amazon Forecast Non-Parametric Time Series(NPTS) 독점 알고리즘은 확장 가능하고 확률적 기준 예측자입니다. NPTS는 희소하거나 간헐적인 시계열로 작업할 때 특히 유용합니다. 예측은 표준 NPTS, 계절 NPTS, 기후 예측 및 계절 기후 예측기라는 네 가지 알고리즘 변형을 제공합니다.

### [ARIMA](aws-forecast-recipe-arima.md)
<a name="arima"></a>

`arn:aws:forecast:::algorithm/ARIMA`

 Autoregressive Integrated Moving Average(ARIMA)는 일반적으로 사용되는 시계열 예측용 로컬 통계 알고리즘입니다. 이 알고리즘은 시계열이 100개 미만인 단순 데이터 세트에 특히 유용합니다.

### [ETS](aws-forecast-recipe-ets.md)
<a name="ets"></a>

`arn:aws:forecast:::algorithm/ETS`

 Exponential Smoothing(ETS)은 시계열 예상에 일반적으로 사용되는 통계 알고리즘입니다. 이 알고리즘은 시계열이 100개 미만인 단순 데이터 세트와 계절성 패턴이 있는 데이터 세트에 특히 유용합니다. ETS는 시간이 지남에 따라 가중치가 기하급수적으로 감소하면서 시계열 데이터 세트의 모든 관측치에 대한 가중 평균을 예측으로 계산합니다.

## Forecast 알고리즘 비교
<a name="comparing-algos"></a>

 다음 표를 사용하여 시계열 데이터 세트에 가장 적합한 옵션을 찾아보세요.


|  | 신경망 | 유연한 로컬 알고리즘 | 기준 알고리즘 |  | CNN-QR | DeepAR\$1 | Prophet | NPTS | ARIMA | ETS | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| 컴퓨팅 집약적인 훈련 프로세스 | 높음 | 높음 | 중간 | 낮음 | 낮음 | 낮음 | 
| 과거 관련 시계열 허용\$1 | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | 
| 미래 예측 관련 시계열 허용\$1 | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | 
| 항목 메타데이터(제품 색상, 브랜드 등) 허용 | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | 
| 날씨 지수 내장 특성화를 받아들입니다. | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | 
| 희소한 데이터 세트에 적합 | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | 
| 하이퍼파라미터 최적화(HPO) 수행 | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | 
| 기본 하이퍼파라미터 값을 재정의할 수 있습니다. | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[Yes\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-yes.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | ![\[No\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/icon-no.png)  | 

\$1관련 시계열에 대한 자세한 내용은 [관련 시계열](related-time-series-datasets.md)을 참조하세요.

# Autoregressive Integrated Moving Average(ARIMA) 알고리즘
<a name="aws-forecast-recipe-arima"></a>

Autoregressive Integrated Moving Average([ARIMA](https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average))는 일반적으로 사용되는 시계열 예측용 로컬 통계 알고리즘입니다. ARIMA는 입력 데이터 세트에서 표준 시간 구조(패턴화된 시간 구조)를 캡처합니다. Amazon Forecast ARIMA 알고리즘은 CRAN(Comprehensive R Archive Network)의 `Package 'forecast'`에 있는 [Arima 함수](https://cran.r-project.org/web/packages/forecast/forecast.pdf#Rfn.Arima.1)를 직접적으로 호출합니다.

## ARIMA의 작동 방법
<a name="aws-forecast-recipe-arima-how-it-works"></a>

ARIMA 알고리즘은 고정 시계열로 매핑될 수 있는 데이터 세트에 특히 유용합니다. 자기 상관 등 고정 시계열의 통계적 특성은 시간과 무관합니다. 고정 시계열의 데이터 세트는 일반적으로 신호 및 노이즈 조합을 포함합니다. 신호는 정현적 진동 패턴을 나타낼 수도 있고 계절적 요소를 가질 수도 있습니다. ARIMA는 노이즈에서 신호를 분리하는 필터와 같은 기능을 하며, 앞으로의 예측을 위해 신호를 추론합니다.

## ARIMA 하이퍼파라미터와 튜닝
<a name="aws-forecast-recipe-arima-hyperparamters"></a>

ARIMA 하이퍼파라미터 및 튜닝에 대한 자세한 내용은 [CRAN](https://cran.r-project.org)의 [패키지 '예측'](https://cran.r-project.org/web/packages/forecast/forecast.pdf)에 있는 `Arima` 함수 설명서를 참조하세요.

Amazon Forecast는 다음 표를 사용하여 [CreateDataset](API_CreateDataset.md) 작업에 지정된 `DataFrequency` 파라미터를 R [ts](https://www.rdocumentation.org/packages/stats/versions/3.6.1/topics/ts) 함수의 `frequency` 파라미터로 변환합니다.


| DataFrequency(문자열) | R ts 빈도(정수) | 
| --- | --- | 
| Y | 1 | 
| M USD | 12 | 
| W | 52 | 
| D | 7 | 
| H | 24 | 
| 30min | 2 | 
| 15min | 4 | 
| 10min | 6 | 
| 5min | 12 | 
| 1min | 60 | 

24보다 작은 빈도 또는 짧은 시계열의 경우 [CRAN](https://cran.r-project.org)의 `Package 'forecast'`의 `auto.arima` 함수를 사용하여 하이퍼파라미터가 설정됩니다. 24 이상의 빈도 및 긴 시계열의 경우 여기서 [긴 계절성 기간에 대한 예측](https://robjhyndman.com/hyndsight/longseasonality/)에 설명한 대로 K = 4인 푸리에 급수를 사용합니다.

표에 표시되지 않은 지원되는 데이터 빈도는 기본적으로 1의 `ts` 빈도로 설정됩니다.

# CNN-QR 알고리즘
<a name="aws-forecast-algo-cnnqr"></a>

 Amazon Forecast CNN-QR(Convolution Neural Network - Quantile Regression)는 인과 컨벌루션 신경망(CNN)을 사용하여 스칼라(1차원적)를 예측하는 전용 기계 학습 알고리즘입니다. 이 지도 학습 알고리즘은 대규모 시계열 모음에서 하나의 글로벌 모델을 훈련하고 분위수 디코더를 사용하여 확률적 예측을 수행합니다.

**Topics**
+ [CNN-QR 시작하기](#aws-forecast-algo-cnnqr-getting-started)
+ [CNN-QR 작동 방식](#aws-forecast-algo-cnnqr-how-it-works)
+ [CNN-QR에서 관련 데이터 사용](#aws-forecast-algo-cnnqr-using-rts)
+ [CNN-QR 하이퍼파라미터](#aws-forecast-algo-cnnqr-hyperparameters)
+ [팁과 모범 사례](#aws-forecast-algo-cnnqr-tips)

## CNN-QR 시작하기
<a name="aws-forecast-algo-cnnqr-getting-started"></a>

 CNN-QR을 사용하여 다음 두 가지 방법으로 예측기를 훈련할 수 있습니다.

1. CNN-QR 알고리즘 수동 선택.

1. AutoML 선택(CNN-QR은 AutoML의 일부입니다).

 어떤 알고리즘을 사용해야 할지 잘 모르겠다면 AutoML을 선택하는 것이 좋습니다. Forecast는 CNN-QR이 데이터에 가장 정확한 알고리즘인 경우 CNN-QR을 선택합니다. CNN-QR이 가장 정확한 모델로 선택되었는지 확인하려면 [DescribePredictor](https://docs.aws.amazon.com/forecast/latest/dg/API_DescribePredictor.html) API를 사용하거나 콘솔에서 예측기 이름을 선택합니다.

CNN-QR의 몇 가지 주요 사용 사례는 다음과 같습니다.
+  **데이터 세트가 크고 복잡한 예측** - CNN-QR은 크고 복잡한 데이터 세트로 훈련할 때 가장 효과적입니다. 신경망은 여러 데이터 세트에서 학습할 수 있으므로 관련 시계열과 항목 메타데이터가 있을 때 유용합니다.
+  **과거 관련 시계열을 사용한 예측** - CNN-QR에서는 관련 시계열에 예측 기간 내의 데이터 포인트를 포함할 필요가 없습니다. 이러한 유연성이 추가되어 항목 가격, 이벤트, 웹 지표, 제품 범주와 같은 더 넓은 범위의 관련 시계열과 항목 메타데이터를 포함할 수 있습니다.

## CNN-QR 작동 방식
<a name="aws-forecast-algo-cnnqr-how-it-works"></a>

CNN-QR은 확률적 예측을 위한 시퀀스 대 시퀀스(Seq2Seq) 모델로, 인코딩 시퀀스를 기준으로 예측이 디코딩 시퀀스를 얼마나 잘 재구성하는지 테스트합니다.

이 알고리즘은 인코딩 시퀀스와 디코딩 시퀀스에서 서로 다른 특성을 허용하므로 인코더에서 관련 시계열을 사용하고 디코더에서는 관련 시계열을 생략할 수 있습니다(반대의 경우도 마찬가지). 기본적으로 예측 기간에 데이터 포인트가 있는 관련 시계열이 인코더와 디코더 모두에 포함됩니다. 예측 기간에 데이터 포인트가 없는 관련 시계열은 인코더에만 포함됩니다.

CNN-QR은 학습 가능한 특성 추출기 역할을 하는 계층적 인과 관계 CNN을 사용하여 분위수 회귀를 수행합니다.

주말의 급증 같은 시간 의존적인 패턴을 쉽게 학습할 수 있도록 CNN-QR은 시계열 세분 수준을 기반으로 특성 시계열을 자동으로 생성합니다. 예를 들어 CNN-QR은 주간 시계열 빈도로 두 개의 특성 시계열(월중 날짜 및 연중 날짜)을 생성합니다. 이 알고리즘은 이 파생된 특성 시계열을 훈련 및 추론 중에 제공하는 사용자 지정 특성 시계열과 함께 사용합니다. 다음 예제는 대상 시계열 `zi,t`와 두 개의 파생 시계열 특성을 보여줍니다. `ui,1,t`는 하루 중 시간을 나타내고 `ui,2,t`는 요일을 나타냅니다.

![\[\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/cnnqr-time-frequencies.PNG)


CNN-QR은 데이터 빈도 및 훈련 데이터의 크기를 기반으로 이러한 특성 시계열을 자동으로 포함합니다. 다음 표는 지원되는 기본 시간 주기마다 파생될 수 있는 기능을 나열합니다.


****  

| 시계열의 빈도 | 파생 요인(feature) | 
| --- | --- | 
| 분 | minute-of-hour, hour-of-day, day-of-week, day-of-month, day-of-year | 
| 시간 | hour-of-day, day-of-week, day-of-month, day-of-year | 
| 일 | day-of-week, day-of-month, day-of-year | 
| 주 | week-of-month, week-of-year | 
| 월 | month-of-year | 

훈련 중에 훈련 데이터 세트의 각 시계열은 인접 컨텍스트와 미리 정의된 길이가 고정된 예측 기간의 쌍으로 구성됩니다. 이것이 아래 그림에 나와 있습니다. 컨텍스트 기간은 녹색으로, 예측 기간은 파란색으로 표시됩니다.

주어진 훈련 세트에서 훈련된 모델을 사용하여 훈련 세트의 시계열 및 다른 시계열에 대한 예측을 생성할 수 있습니다. 훈련 데이터 세트는 대상 시계열로 구성되며, 대상 시계열은 관련 시계열 및 항목 메타데이터 목록에 연결될 수 있습니다.

다음 예제는 `i`로 색인화된 훈련 데이터 세트의 요소에서 어떻게 작동하는지 보여줍니다. 훈련 데이터 세트는 대상 시계열 `zi,t`과 두 개의 연결된 관련 시계열 `xi,1,t` 및 `xi,2,t`로 구성됩니다. 첫 번째 관련 시계열 `xi,1,t`는 미래 예측 시계열이고 두 번째 관련 시계열 `xi,2,t`는 과거 시계열입니다.

![\[\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/cnnqr-short-long-rts.png)


CNN-QR은 대상 시계열 `zi,t`와 관련 시계열 `xi,1,t` 및 `xi,2,t`에 걸쳐 학습하여 주황색 선으로 표시된 예측 기간에서 예측을 생성합니다.

## CNN-QR에서 관련 데이터 사용
<a name="aws-forecast-algo-cnnqr-using-rts"></a>

 CNNQR은 과거 및 미래 예측 관련 시계열 데이터 세트를 모두 지원합니다. 미래 예측 관련 시계열 데이터 세트를 제공하는 경우 누락된 값은 [앞으로 채우기 방법](howitworks-missing-values.md)을 사용하여 채워집니다. 과거 및 미래 예측 관련 시계열에 대한 자세한 내용은 [관련 시계열 데이터 세트 사용](related-time-series-datasets.md)을 참조하세요.

CNN-QR에서 항목 메타데이터 데이터 세트를 사용할 수도 있습니다. 이것은 대상 시계열의 항목에 대한 정적 정보가 포함된 데이터 세트입니다. 항목 메타데이터는 과거 데이터가 거의 또는 전혀 없는 콜드 스타트 예측 시나리오에 특히 유용합니다. 항목 메타데이터에 대한 자세한 내용은 [항목 메타데이터](item-metadata-datasets.md)를 참조하세요.

## CNN-QR 하이퍼파라미터
<a name="aws-forecast-algo-cnnqr-hyperparameters"></a>

 Amazon Forecast는 선택된 하이퍼파라미터에서 CNN-QR 모델을 최적화합니다. CNN-QR을 수동으로 선택하는 경우 이러한 하이퍼파라미터를 위한 훈련 파라미터를 전달할 수 있습니다. 다음 표에는 CNN-QR 알고리즘의 튜닝 가능한 하이퍼파라미터가 나열되어 있습니다.


| 파라미터 이름 | 값 | 설명 | 
| --- | --- | --- | 
| context\$1length |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-algo-cnnqr.html)  |  예측을 하기 전에 모델이 읽는 시점의 수입니다. 일반적으로 CNN-QR의 `context_length` 값은 DeepAR\$1보다 큽니다. CNN-QR은 추가 과거 데이터를 살펴보기 위해 지연을 사용하지 않기 때문입니다. `context_length`의 값이 미리 정의된 범위를 벗어나는 경우 CNN-QR은 기본 `context_length`를 적절한 값으로 자동 설정합니다.  | 
| use\$1related\$1data |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-algo-cnnqr.html)  |  모델에 포함할 관련 시계열 데이터의 종류를 결정합니다. 다음 네 가지 옵션 중 하나를 선택하세요. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-algo-cnnqr.html) `HISTORICAL`은 모든 과거 관련 시계열을 포함하고 `FORWARD_LOOKING`은 모든 미래 예측 관련 시계열을 포함합니다. `HISTORICAL` 또는 `FORWARD_LOOKING` 관련 시계열의 하위 집합은 선택할 수 없습니다.  | 
| use\$1item\$1metadata |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-algo-cnnqr.html)  |  모델에 항목 메타데이터가 포함되는지 여부를 결정합니다. 다음 두 가지 옵션 중 하나를 선택하세요. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-algo-cnnqr.html) `use_item_metadata`는 제공된 모든 항목 메타데이터를 포함하거나 아무것도 포함하지 않습니다. 항목 메타데이터의 하위 집합은 선택할 수 없습니다.  | 
| epochs |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-algo-cnnqr.html)  |  훈련 데이터에 통해 과정을 이수한 최대 횟수입니다. 데이터 세트가 작을수록 더 많은 에포크가 필요합니다. `ForecastHorizon` 및 `context_length` 값이 크면 에포크를 줄여 훈련 시간을 개선하는 것이 좋습니다.  | 

### 하이퍼파라미터 최적화(HPO)
<a name="aws-forecast-algo-cnnqr-hpo"></a>

하이퍼파라미터 최적화(HPO)는 특정 학습 목표에 최적인 하이퍼파라미터를 선택하는 작업입니다. Forecast를 사용하면 다음 두 가지 방법으로 이 프로세스를 자동화할 수 있습니다.

1. AutoML을 선택하면 HPO가 CNN-QR을 위해 자동으로 실행됩니다.

1. CNN-QR을 수동으로 선택하고 `PerformHPO = TRUE`를 설정합니다.

관련 시계열 및 항목 메타데이터가 추가된다고 해서 CNN-QR 모델의 정확도가 항상 향상되는 것은 아닙니다. AutoML을 실행하거나 HPO를 활성화하면 CNN-QR은 제공된 관련 시계열 및 항목 메타데이터를 사용/사용하지 않고 모델의 정확도를 테스트하여 정확도가 가장 높은 모델을 선택합니다.

Amazon Forecast는 HPO 중에 다음 세 가지 하이퍼파라미터를 자동으로 최적화하고 최종 훈련된 값을 제공합니다.
+ **context\$1length** - 신경망이 얼마나 먼 과거까지 볼 수 있는지 결정합니다. HPO 프로세스는 훈련 시간을 고려하면서 모델 정확도를 극대화하는 `context_length` 값을 자동으로 설정합니다.
+ **use\$1related\$1data** - 모델에 포함할 관련 시계열 데이터의 형식을 결정합니다. HPO 프로세스는 관련 시계열 데이터가 모델을 개선하는지 여부를 자동으로 확인하고 최적의 설정을 선택합니다.
+ **use\$1item\$1metadata** - 모델에 항목 메타데이터를 포함할지 여부를 결정합니다. HPO 프로세스는 항목 메타데이터가 모델을 개선하는지 여부를 자동으로 확인하고 최적의 설정을 선택합니다.

**참고**  
`Holiday` 보완 특성이 선택되었을 때 `use_related_data`가 `NONE` 또는 `HISTORICAL`로 설정된 경우 공휴일 데이터를 포함해도 모델 정확도가 향상되지 않습니다.

수동 선택 중에 `PerformHPO = TRUE`를 설정한 경우 `context_length` 하이퍼파라미터에 대한 HPO 구성을 설정할 수 있습니다. 하지만 AutoML을 선택하면 HPO 구성의 어떤 측면도 변경할 수 없습니다. HPO 구성에 대한 자세한 내용은 [IntergerParameterRange](https://docs.aws.amazon.com/forecast/latest/dg/API_IntegerParameterRange.html) API를 참조하세요.

## 팁과 모범 사례
<a name="aws-forecast-algo-cnnqr-tips"></a>

 **큰 ForecastHorizon 값을 사용하지 마세요** - 100을 초과하는 `ForecastHorizon` 값을 사용하면 훈련 시간이 늘어나고 모델 정확도가 떨어질 수 있습니다. 앞으로 더 예측하기를 원한다면 더 높은 빈도로 집계하는 것을 고려하십시오. 예를 들어 `1min` 대신 `5min`을 사용하세요.

 **CNN은 더 긴 컨텍스트 길이를 허용합니다** - CNN은 일반적으로 RNN보다 더 효율적이므로 CNN-QR을 사용하면 DeepAR\$1보다 약간 높은 `context_length`를 설정할 수 있습니다.

 **관련 데이터의 특성 추출** - 모델을 훈련할 때 관련 시계열 및 항목 메타데이터를 다양하게 조합하여 실험하고 추가 정보가 정확도를 향상시키는지 평가하세요. 관련 시계열 및 항목 메타데이터를 다양하게 조합하고 변환하면 결과가 달라집니다.

 **CNN-QR은 평균 분위수에서 예측하지 않습니다** - [CreateForecast](https://docs.aws.amazon.com/forecast/latest/dg/API_CreateForecast.html) API를 사용하여 `ForecastTypes`를 `mean`으로 설정하면 대신 중앙값 분위수(`0.5` 또는`P50`)에서 예측이 생성됩니다.

# DeepAR\$1 알고리즘
<a name="aws-forecast-recipe-deeparplus"></a>

Amazon Forecast DeepAR\$1는 반복 신경망(RNN)을 사용하여 스칼라(1차원) 시계열을 예상하는 지도 학습 알고리즘입니다. Autoregressive Integrated Moving Average(ARIMA) 또는 Exponential Smoothing(ETS)과 같은 기존 예측 메서드는 각 시계열에 하나의 모델만이 맞고, 해당 모델을 사용하여 시계열의 미래를 추론합니다. 그러나 많은 애플리케이션에서 일련의 횡단적 단위에 걸쳐 비슷한 시계열이 많이 있습니다. 이러한 시계열 그룹화에는 다양한 제품, 서버 로드 및 웹 페이지에 대한 요청이 필요합니다. 이러한 경우 단일 모델을 모든 시계열과 결합하여 교육하는 것이 이득이 될 수 있습니다. DeepAR\$1는 이러한 접근 방법을 사용합니다. 데이터 세트에 수백 개의 기능 시계열이 포함되어 있는 경우, DeepAR\$1 알고리즘이 표준 ARIMA 및 ETS 방법보다 우수합니다. 또한 교육을 받은 모델과 유사한 새 시계열에 대해 예상을 발생하기 위해 교육받은 모델을 사용할 수도 있습니다.

**Python 노트북**  
DeepAR\$1 알고리즘 사용에 대한 단계별 지침은 [DeepAR\$1 시작하기](https://github.com/aws-samples/amazon-forecast-samples/blob/master/notebooks/advanced/Getting_started_with_DeepAR%2B/Getting_started_with_DeepAR%2B.ipynb)를 참조하세요.

**Topics**
+ [DeepAR\$1 작동 방법](#aws-forecast-recipe-deeparplus-how-it-works)
+ [DeepAR\$1 하이퍼파라미터](#aws-forecast-recipe-deeparplus-hyperparameters)
+ [DeepAR\$1 모델 튜닝](#aws-forecast-recipe-deeparplus-tune-model)

## DeepAR\$1 작동 방법
<a name="aws-forecast-recipe-deeparplus-how-it-works"></a>

교육 과정에서 DeepAR\$1는 교육 데이터 세트 및 선택 테스트 데이터 세트를 사용합니다. 테스트 데이터 세트를 사용하여 교육받은 모델을 평가합니다. 일반적으로 교육 및 테스트 데이터 세트에는 동일한 시계열 집합이 포함될 필요가 없습니다. 주어진 훈련 세트에 대해 훈련된 모델을 사용하여 훈련 세트에서 미래의 시계열 및 기타 시계열에 대한 예상을 생성할 수 있습니다. 교육 및 테스트 데이터 세트는 모두 바람직하게는 하나 이상의 대상 시계열로 구성됩니다. 선택적으로 특성 시계열 벡터 및 범주형 특성 벡터와 연결할 수 있습니다(자세한 내용은 *SageMaker AI 개발자 안내서*의 [DeepAR 입력/출력 인터페이스](https://docs.aws.amazon.com/sagemaker/latest/dg/deepar.html#deepar-inputoutput) 참조). 다음 예제는 `i`로 색인화된 교육 데이터 세트의 요소에 대해 어떻게 작용하는지 보여줍니다. 교육 데이터 세트는 대상 시계열, `zi,t` 및 두 개의 연결된 기능 시계열, `xi,1,t` 및 `xi,2,t`으로 구성됩니다.

![\[\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/forecast-recipe-deeparplus-ts-full-159.base.png)


대상 시계열에 누락된 값이 있을 수 있습니다(시계열의 중단으로 그래프에 표시됨). DeepAR\$1는 향후에 알려지는 기능 시계열만 지원합니다. 이렇게 하면 상반되는 'what-if'시나리오를 실행할 수 있습니다. 예를 들어, '제품의 가격을 어떤 식으로든 변경하면 어떻게 됩니까?'

각 대상 시계열은 여러 가지 범주 요인(feature)과 연결될 수 있습니다. 이들을 사용하여 시계열이 특정 그룹에 속한다고 인코딩할 수 있습니다. 범주 기능을 사용하면 모델에서 그룹화에 대한 일반적인 행동을 학습할 수 있으므로 정확성이 향상됩니다. 모델은 그룹의 모든 시계열의 공통 속성을 포착하는 각 그룹에 대한 임베딩 벡터를 학습하여 이를 구현합니다.

주말의 스파이크와 같이 시간 의존적인 패턴을 쉽게 학습할 수 있도록 DeepAR\$1는 시계열 세부 수준을 기반으로 기능 시계열을 자동으로 생성합니다. 예를 들어, DeepAR\$1는 주간 시계열 빈도로 두 개의 기능 시계열(월중 날짜 및 연중 날짜)을 생성합니다. 이 파생된 기능 시계열을 교육 및 추론 중에 제공하는 사용자 지정 기능 시계열과 함께 사용합니다. 다음 예제는 두 개의 파생 시계열 기능을 보여줍니다. `ui,1,t`은 시간을 나타내고 `ui,2,t`는 요일을 나타냅니다.

![\[\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/forecast-recipe-deeparplus-ts-full-159.derived.png)


DeepAR\$1는 데이터 빈도 및 교육 데이터의 크기를 기반으로 이러한 기능 시계열을 자동으로 포함합니다. 다음 표는 지원되는 기본 시간 주기마다 파생될 수 있는 기능을 나열합니다.


****  

| 시계열의 빈도 | 파생 요인(feature) | 
| --- | --- | 
| 분 | minute-of-hour, hour-of-day, day-of-week, day-of-month, day-of-year | 
| 시간 | hour-of-day, day-of-week, day-of-month, day-of-year | 
| 일 | day-of-week, day-of-month, day-of-year | 
| 주 | week-of-month, week-of-year | 
| 월 | month-of-year | 

DeepAR\$1 모델은 교육 데이터 세트의 각 시계열에서 여러 교육 예제를 무작위로 샘플링하여 교육합니다. 각 훈련 예제는 미리 정의된 길이가 고정된 한 쌍의 인접 컨텍스트 및 예상 창으로 구성됩니다. `context_length` 하이퍼파라미터는 과거 네트워크에서 확인 가능한 거리를 제어하며, `ForecastHorizon` 파라미터는 향후 예상할 수 있는 범위를 제어합니다. 교육 도중 Amazon Forecast는 지정된 예상 길이보다 짧은 시계열로 교육 데이터 세트의 요소를 무시합니다. 다음 예제에서는 요소 `i`에서 가져온 12시간의 컨텍스트 길이(녹색으로 강조 표시)와 6시간의 예상 길이(파란색으로 강조 표시)를 갖는 5개의 샘플을 보여줍니다. 간략하게 하기 위해 기능 시계열 `xi,1,t`과 `ui,2,t`를 제외했습니다.

![\[\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/forecast-recipe-deeparplus-ts-full-159.sampled.png)


계절성 패턴을 캡처하기 위해 DeepAR\$1은 대상 시계열에서 지연된 값(기간을 지난)을 자동으로 공급합니다. 시간별 빈도로 채취된 표본을 사용한 이 예제에서는 각 시간 지수 `t = T`에 대해 모델이 과거(분홍색으로 강조 표시)에 약 1, 2, 3일 동안 발생했던 `zi,t` 값을 노출합니다.

![\[\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/images/forecast-recipe-deeparplus-ts-full-159.lags.png)


추론을 위해 교육된 모델은 교육 중에 사용되었을 수도 있고 사용되지 않았을 수도 있는 대상 시계열을 입력으로 받아 다음 `ForecastHorizon` 값에 대한 확률 분포를 예상합니다. DeepAR\$1가 전체 데이터 세트에 대해 교육을 받았기 때문에 이 예상에는 비슷한 시계열의 학습 패턴이 고려됩니다.

DeepAR의 수학에 대한 자세한 정보는 코넬대학교 도서관 웹사이트의 [DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks](https://arxiv.org/abs/1704.04110)를 참조하십시오.

## DeepAR\$1 하이퍼파라미터
<a name="aws-forecast-recipe-deeparplus-hyperparameters"></a>

다음 표에는 DeepAR\$1 알고리즘에 사용할 수 있는 하이퍼파라미터가 나열되어 있습니다. 볼드 처리된 파라미터가 하이퍼파라미터 최적화(HPO)에 참여할 수 있습니다.


| 파라미터 이름 | 설명 | 
| --- | --- | 
| context\$1length |  예상하기 전에 모델이 읽는 시간 지점의 수입니다. 이 파라미터의 값은 `ForecastHorizon`과 동일해야 합니다. 모델은 또한 대상으로부터 시차가 발생한 입력을 수신하기 때문에 `context_length`는 일반적인 계절성보다 작을 수 있습니다. 예를 들어 일별 시계열은 연도별 계절성을 보유할 수 있습니다. 모델은 자동으로 1년의 시차를 포함시키기 때문에 컨텍스트 길이는 1년보다 짧을 수 있습니다. 모델이 고르는 시차 값은 시계열의 빈도에 따라 다릅니다. 예를 들어 일별 빈도의 시차 값은 1주, 2주, 3주, 4주 및 1년입니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html)  | 
| epochs |  훈련 데이터의 최대 전달 횟수입니다. 최적값은 데이터의 크기와 학습률에 따라 다릅니다. 더 나은 결과를 얻으려면 작은 데이터 세트와 낮은 학습률에 더 많은 epoch가 필요합니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html)  | 
| learning\$1rate |  훈련에 사용되는 학습률. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html)  | 
| learning\$1rate\$1decay |  학습률이 감소하는 속도입니다. 최대한 학습 속도가 `max_learning_rate_decays`번 줄어들고 교육이 중단됩니다. 이 파라미터는 `max_learning_rate_decays`가 0보다 큰 경우에만 사용됩니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html)  | 
| likelihood |  모델은 확률론적 예측을 생성하고, 분포의 분위를 제공하고 샘플을 반환할 수 있습니다. 데이터에 따라 불확실성 추정에 사용할 적절한 가능도(노이즈 모델)를 선택합니다. 유효값 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html)  | 
| max\$1learning\$1rate\$1decays |  발생해야 하는 학습률 감소의 최대 수. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html) | 
| num\$1averaged\$1models |  DeepAR\$1에서는 교육 궤적에서 여러 모델을 접할 수 있습니다. 각 모델에는 서로 다른 예측 강점과 약점이 있을 수 있습니다. DeepAR\$1는 모델 행동을 평균화하여 모든 모델의 강점을 활용할 수 있습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html)  | 
| num\$1cells |  RNN의 각 은닉층에서 사용할 셀의 수. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html)  | 
| num\$1layers |  RNN의 은닉층 수. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-deeparplus.html)  | 

## DeepAR\$1 모델 튜닝
<a name="aws-forecast-recipe-deeparplus-tune-model"></a>

Amazon Forecast DeepAR\$1 모델을 튜닝하려면 교육 프로세스 및 하드웨어 구성을 최적화하기 위해 다음 권장사항을 따르십시오.

### 프로세스 최적화 모범 사례
<a name="aws-forecast-recipe-deeparplus-best-practices"></a>

 최상의 결과를 얻으려면 다음 권장 사항을 따르십시오.
+ 교육 및 테스트 데이터 세트를 분리할 때를 제외하고는 항상 교육 및 테스트의 경우 또한 추론을 위해 모델을 호출할 때 전체 시계열을 제공합니다. `context_length`을 설정한 방법에 관계없이 시계열을 나누지 않거나 그 중 일부만 제공합니다. 모델은 지연된 값 기능에 대해 `context_length`보다 더 뒤쪽의 데이터 포인트를 사용합니다.
+ 모델 튜닝의 경우 데이터 세트를 교육 및 테스트 데이터 세트로 분리할 수 있습니다. 일반적인 평가 시나리오에서는 교육에 사용된 것과 동일한 시계열을 사용하여 모델을 테스트해야 하지만 향후 교육 중에 표시된 마지막 시간이 표시된 직후 `ForecastHorizon` 시간을 표시해야 합니다. 이러한 기준을 충족하는 교육 및 테스트 데이터 세트를 생성하려면 전체 데이터 세트(모든 시계열)를 테스트 데이터 세트로 사용하고 각 시계열에서 마지막 `ForecastHorizon` 지점을 제거하여 교육을 받습니다. 이렇게 하면 교육 중 모델이 테스트 중에 평가되는 시점의 대상 값을 볼 수 없습니다. 테스트 단계에서 테스트 데이터 세트에 있는 각 시계열의 `ForecastHorizon` 지점이 보류되고 예측이 생성됩니다. 이후 예측은 마지막 `ForecastHorizon` 지점의 실제 값과 비교됩니다. 테스트 데이터 세트에서 시계열을 여러 번 반복하면서 더 복잡한 평가를 생성할 수 있지만 여러 종단점에서 잘라내어 평가할 수 있습니다. 이는 서로 다른 시점의 여러 예측에 대해 평균화된 정확도 지표를 산출합니다.
+ `ForecastHorizon`에 매우 큰 값(> 400)을 사용하면 모델이 느려지고 정확도가 떨어지므로 사용하지 마십시오. 앞으로 더 예측하기를 원한다면 더 높은 빈도로 집계하는 것을 고려하십시오. 예를 들어 `1min` 대신 `5min`을 사용하세요.
+ 시차 때문에, 모델은 `context_length`보다 더 뒤떨어져 보일 수 있습니다. 따라서 이 파라미터 큰 값으로 설정할 필요가 없습니다. 이 파라미터의 시작점은 `ForecastHorizon`과 동일한 값입니다.
+ DeepAR\$1모델을 가능한 많은 시계열로 교육하십시오. 단일 시계열에서 교육된 DeepAR\$1 모델은 이미 잘 작동할 수도 있지만 ARIMA 또는 ETS와 같은 표준 예측 메서드가 더 정확할 수 있고 이 사용 사례에 더 맞게 조정될 수 있습니다. DeepAR\$1는 데이터 세트에 수백 개의 기능 시계열이 포함되어 있을 때 표준 방법보다 뛰어난 성능을 내기 시작합니다. 현재 DeepAR\$1에는 모든 교육 시계열에서 사용 가능한 총 관측 수가 최소 300개 이상 필요합니다.

# Exponential Smoothing(ETS) 알고리즘
<a name="aws-forecast-recipe-ets"></a>

Exponential Smoothing[(ETS)](https://en.wikipedia.org/wiki/Exponential_smoothing)은 시계열 예상에 일반적으로 사용되는 로컬 통계 알고리즘입니다. Amazon Forecast ETS 알고리즘은 CRAN(Comprehensive R Archive Network)의 `Package 'forecast'`에 있는 [ets 함수](https://cran.r-project.org/web/packages/forecast/forecast.pdf#Rfn.ets.1)를 직접적으로 호출합니다.

## ETS 작동 방식
<a name="aws-forecast-recipe-ets-how-it-works"></a>

ETS 알고리즘은 데이터와 관련된 계절성 및 다른 주요 가정이 있는 데이터 세트에 특히 유용합니다. ETS는 입력 시계열 데이터 세트 내 모든 예측의 가중 평균을 계산해 예측합니다. 이 가중치는 단순한 이동 평균 메서드의 상수 가중치와 달리 시간이 지나면 급속히 감소합니다. 이 가중치는 스무딩 파라미터라고 알려진 상수 파라미터에 의존합니다.

## ETS 하이퍼파라미터와 튜닝
<a name="aws-forecast-recipe-ets-hyperparamters"></a>

ETS 하이퍼파라미터 및 튜닝에 대한 자세한 내용은 [CRAN](https://cran.r-project.org)의 [패키지 '예측'](https://cran.r-project.org/web/packages/forecast/forecast.pdf)에 있는 `ets` 함수 설명서를 참조하세요.

Amazon Forecast는 다음 표를 사용하여 [CreateDataset](API_CreateDataset.md) 작업에 지정된 `DataFrequency` 파라미터를 R [ts](https://www.rdocumentation.org/packages/stats/versions/3.6.1/topics/ts) 함수의 `frequency` 파라미터로 변환합니다.


| DataFrequency(문자열) | R ts 빈도(정수) | 
| --- | --- | 
| Y | 1 | 
| M USD | 12 | 
| W | 52 | 
| D | 7 | 
| H | 24 | 
| 30min | 2 | 
| 15min | 4 | 
| 10min | 6 | 
| 5min | 12 | 
| 1min | 60 | 

표에 표시되지 않은 지원되는 데이터 빈도는 기본적으로 1의 `ts` 빈도로 설정됩니다.

# Non-Parametric Time Series(NPTS) 알고리즘
<a name="aws-forecast-recipe-npts"></a>

Amazon Forecast Non-Parametric Time Series(NPTS) 알고리즘은 확장 가능하고 확률론적인 기준 예측자입니다. 과거 관측치로부터 샘플링하여 주어진 시계열의 미래 가치 분포를 예측합니다. 예측치는 관측된 값으로 제한됩니다. NPTS는 시계열이 간헐적(또는 희박하고 많은 0을 포함)이고 급증할 때 특히 유용합니다. 예를 들어 시계열에 적은 개수가 많은 개별 항목에 대한 수요를 예측합니다. Amazon Forecast는 과거 관측치의 샘플링 방식과 샘플링 방식이 다른 NPTS의 변형을 제공합니다. NPTS 변형을 사용하려면 하이퍼파라미터 설정을 선택합니다.

## NPTS 작동 방식
<a name="aws-forecast-recipe-npts-how-it-works"></a>

지수 평활(ETS) 및 자동 회귀적 통합 이동 평균(ARIMA)과 같은 고전적 예측 방법과 마찬가지로 NPTS는 각 시계열에 대해 개별적으로 예상을 발생합니다. 데이터 세트의 시계열은 각기 다른 길이를 가질 수 있습니다. 관측이 가능한 시점을 교육 범위라고 하고 예측이 필요한 시간 지점을 예측 범위라고 합니다.

Amazon Forecast NPTS 예측자는 NPTS, 계절 NPTS, 기후학 예측자 및 계절 기후 예측자를 포함합니다.

**Topics**
+ [NPTS](#aws-forecast-recipe-npts-variants-npts)
+ [계절별 NPTS](#aws-forecast-recipe-npts-variants-seasonal)
+ [기후 예측자](#aws-forecast-recipe-npts-variants-climatological)
+ [계절 기후 예측자](#aws-forecast-recipe-npts-variants-seasonal-climatological)
+ [계절 기능](#aws-forecast-recipe-npts-seasonal-features)
+ [모범 사례](#aws-forecast-recipe-npts-recommended-practices)

### NPTS
<a name="aws-forecast-recipe-npts-variants-npts"></a>

이 변형에서, 예측은 시계열의 교육 범위에서 모든 관측치에서 샘플링함으로써 생성됩니다. 그러나 모든 관측치에서 균일하게 샘플링하는 대신 이 변형은 예측이 필요한 현재 시간 단계에서 얼마나 멀리 떨어져 있는지에 따라 과거의 관측치 각각에 가중치를 지정합니다. 특히 과거 관측치의 거리에 따라 급격하게 감소하는 가중치를 사용합니다. 이런 식으로 최근 과거의 관측치는 먼 과거의 관측치보다 훨씬 더 높은 확률로 샘플링됩니다. 이로써 가까운 과거가 먼 과거보다 미래를 더 잘 나타내는 지표라고 가정합니다. `exp_kernel_weights` 하이퍼파라미터로 가중치의 감소량을 제어할 수 있습니다.

Amazon Forecast에서 이 NPTS 변형을 사용하려면 `use_seasonal_model`하이퍼파라미터를 `False`로 설정하고 다른 모든 기본 설정을 그대로 사용합니다.

### 계절별 NPTS
<a name="aws-forecast-recipe-npts-variants-seasonal"></a>

계절별 NPTS는 NPTS와 유사하지만 모든 관측치로부터 샘플링하는 대신 과거 *계절*의 관측치만 사용합니다. 기본적으로 계절은 시계열의 세분 수준에 따라 결정됩니다. 예를 들어, 시간별 시계열의 경우 시간 *t*동안 예측하기 위해 이 변형은 이전 날짜의 시간 *t*에 해당하는 관측치를 샘플링합니다. NPTS와 마찬가지로, 전날의 *t* 시간일 때 관측은 초기의 *t* 시간일 때 관측보다 더 많은 가중치가 부여됩니다. 시계열의 세부 수준에 따라 계절성을 결정하는 방법에 대한 자세한 내용은 [계절 기능](#aws-forecast-recipe-npts-seasonal-features) 항목을 참조하십시오.

### 기후 예측자
<a name="aws-forecast-recipe-npts-variants-climatological"></a>

기후 예측자 변형은 모든 과거 관측치를 일정한 확률로 샘플링합니다.

기후 예측자를 사용하려면 `kernel_type`하이퍼파라미터를 `uniform`로 설정하고 `use_seasonal_model`하이퍼파라미터를 `False`로 설정합니다. 다른 모든 하이퍼파라미터의 기본 설정을 적용합니다.

### 계절 기후 예측자
<a name="aws-forecast-recipe-npts-variants-seasonal-climatological"></a>

계절별 NPTS와 마찬가지로 계절 기후 예측자는 지난 계절의 관측을 샘플링하지만 일정한 확률로 샘플링합니다.

계절 기후 예측자를 사용하려면 `kernel_type` 하이퍼파라미터를 `uniform`로 설정합니다. 다른 모든 하이퍼파라미터에 대한 기타 모든 기본 설정을 적용합니다.

### 계절 기능
<a name="aws-forecast-recipe-npts-seasonal-features"></a>

계절별 NPTS와 계절 기후 예측자의 계절에 해당하는 것을 결정하려면 다음 표에 나열된 기능을 사용하십시오. 표에는 세부 수준을 기반으로 지원되는 기본 시간 빈도에 대한 파생 기능이 나열되어 있습니다. Amazon Forecast에는 이러한 기능 시계열이 포함되어 있으므로 제공하지 않아도 됩니다.


****  

| 시계열의 빈도 | 계절성 결정 기능 | 
| --- | --- | 
| 분 | minute-of-hour | 
| 시간 | hour-of-day | 
| 일 | day-of-week | 
| 주 | day-of-month | 
| 월 | month-of-year | 

### 모범 사례
<a name="aws-forecast-recipe-npts-recommended-practices"></a>

Amazon Forecast NPTS 알고리즘을 사용할 때 데이터를 준비하고 최적의 결과를 얻으려면 다음과 같은 모범 사례를 고려하십시오.
+ NPTS는 각 시계열에 대한 예측을 개별적으로 생성하기 때문에 예측 모델을 호출할 때 전체 시계열을 제공하십시오. 또한 `context_length` 하이퍼파라미터의 기본값을 적용하십시오. 이로 인해 알고리즘이 전체 시계열을 사용하게 됩니다.
+  교육 데이터가 너무 길기 때문에 `context_length`을 변경하면, 데이터가 충분히 크고 과거의 여러 계절을 다룰 수 있는지 확인하십시오. 예를 들어, 일별 시계열의 경우 이 값은 365일 이상이어야 합니다(데이터 양을 제공하는 경우).

## NPTS 하이퍼파라미터
<a name="aws-forecast-recipe-npts-hyperparamters"></a>

다음 표에는 NPTS 알고리즘에 사용할 수 있는 하이퍼파라미터가 나열되어 있습니다.


| 파라미터 이름 | 설명 | 
| --- | --- | 
| context\$1length | 모델이 예측 생성에 사용하는 과거 시점의 수. 기본적으로 교육 범위의 모든 시점을 사용합니다. 일반적으로 이 하이퍼파라미터의 값은 커야 하며 여러 과거 계절을 포함해야 합니다. 예를 들어, 일별 시계열의 경우 이 값은 365일 이상이어야 합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-npts.html)  | 
| kernel\$1type | 과거 관측치의 샘플링에 가중치를 정의하는 데 사용할 커널.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-npts.html)  | 
| exp\$1kernel\$1weights |  `kernel_type`이 `exponential`인 경우에만 유효합니다. 커널의 조정 파라미터입니다. 먼 과거의 관측치에 주어진 가중치의 더 빠른(지수) 감소에 대해서는 큰 값을 사용하십시오. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-npts.html)  | 
| use\$1seasonal\$1model | 계절 변형을 사용할지 여부.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-npts.html)  | 
| use\$1default\$1time\$1features |  *계절별 NPTS* 및 *계절 기후 예측자* 변형에 대해서만 유효함 계절성을 결정하기 위해 시계열의 세부 수준에 따라 계절별 기능을 사용할지 여부. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-recipe-npts.html)  | 

# Prophet 알고리즘
<a name="aws-forecast-recipe-prophet"></a>

[Prophet](https://facebook.github.io/prophet/)은 인기 있는 로컬 베이지안 구조의 시계열 모델입니다. Amazon Forecast Prophet 알고리즘은 Prophet의 Python 구현의 [Prophet 클래스](https://facebook.github.io/prophet/docs/quick_start.html#python-ap)를 사용합니다.

## Prophet 작동 방법
<a name="aws-forecast-recipe-prophet-how-it-works"></a>

Prophet은 다음과 같은 데이터 세트에 특히 유용합니다.
+ 상세한 기록 관측치(시간별, 일별 또는 주별)의 연장된 기간(개월 또는 년) 포함
+ 강력한 다중 계절성
+ 이전에 알려진 중요하지만 불규칙한 이벤트 포함
+ 데이터 포인트가 누락되었거나 큰 특이값
+ 한도에 근접하는 비선형 성장 추세

Prophet은 조각적 선형 또는 로지스틱 성장 커브 추세를 보이는 애디티브 회귀 모델입니다. 여기에는 푸리에 시리즈를 사용해 모델링한 연간 계절적 요소와 더미 변수를 사용해 모델링한 주간 계절적 요소가 포함됩니다.

자세한 정보는 [Prophet: 대규모 예측](https://research.facebook.com/blog/2017/2/prophet-forecasting-at-scale/)을 참고하십시오.

## Prophet 하이퍼파라미터 및 관련 시계열
<a name="aws-forecast-recipe-prophet-hyperparamters"></a>

Amazon Forecast는 기본 Prophet [하이퍼파라미터](https://facebook.github.io/prophet/docs/quick_start.html#python-ap)를 사용합니다. Prophet은 관련 시계열 CSV 파일로 Amazon Forecast에 제공되는 관련 시계열도 특성으로 지원합니다.