

 신규 고객은 Amazon Forecast를 더 이상 사용할 수 없습니다. Amazon Forecast의 기존 고객은 서비스를 정상적으로 계속 사용할 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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에 제공되는 관련 시계열도 특성으로 지원합니다.