데이터 세트 가져오기 - Amazon Forecast

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

데이터 세트 가져오기

데이터 세트에는 예측기를 훈련시키는 데 사용되는 데이터가 저장됩니다. 먼저 Amazon Forecast 데이터 세트를 1개 이상 생성한 후 훈련 데이터를 데이터 세트로 가져옵니다. 데이터 세트 그룹은 시계열에 따라 바뀌는 파라미터 세트를 자세히 설명하는 보완적 데이터 세트 모음입니다. 생성된 데이터 세트 그룹은 예측기를 훈련시키는 데 사용됩니다.

데이터 세트 그룹은 각각 최대 3개까지 데이터 세트를 가질 수 있으며, 이때 각 데이터 세트 유형은 대상 시계열, 관련 시계열 및 항목 메타데이터입니다.

Forecast 데이터 세트 및 데이터 세트 그룹을 생성하고 관리하려면 Forecast 콘솔, AWS Command Line Interface(AWS CLI) 또는 AWS SDK를 사용합니다.

예측 데이터세트의 예는 Amazon Forecast 샘플 GitHub 리포지토리를 참조하십시오.

데이터 세트

Forecast 데이터 세트를 생성하고 관리하려면 CreateDatasetDescribeDataset 작업을 포함하여 Forecast API를 사용할 수 있습니다. Forecast API 전체 목록은 API 참조 섹션을 참조하세요.

데이터 세트를 생성할 때는 다음과 같은 정보가 필요합니다.

  • 데이터 기록 빈도/간격입니다. 예를 들어 매주 소매 품목 판매를 집계하여 기록할 수도 있습니다. 시작하기 연습에서는 시간당 평균 전기 사용량을 사용합니다.

  • 예측 형식(도메인)과 데이터 세트 유형(도메인 내). 데이터 세트 도메인은 수행할 예측 유형을 지정하는 반면, 데이터 세트 유형은 훈련 데이터를 Forecast 친화적인 범주로 구성하는 데 유용합니다.

  • 데이터 세트 스키마입니다. 스키마는 데이터 세트의 열 헤더를 매핑합니다. 예를 들어 수요를 모니터링하면서 여러 매장의 상품 매출에 대한 시간당 데이터를 수집하였다고 가정하겠습니다. 이러한 경우 스키마는 타임스탬프, 위치 및 시간당 매출이 왼쪽에서 오른쪽으로 훈련 데이터 파일에 표시되는 순서를 정의합니다. string 또는 integer 같이 각 열의 데이터 유형을 정의하기도 합니다.

  • 지리적 위치 및 시간대 정보. 지리적 위치 속성은 속성 유형 geolocation과 함께 스키마 내에 정의됩니다. 시간대 정보는 CreateDatasetImportJob작업과 함께 정의됩니다. 날씨 지수를 사용하려면 지리적 위치와 시간대 데이터가 모두 포함되어야 합니다.

Forecast 데이터 세트의 각 열은 예측 차원 또는 특성을 나타냅니다. 예측 차원은 시간 경과에 따라 변경되지 않는 데이터의 측면을 설명합니다(예: store 또는 location). 예측 특징에는 시간 경과에 따라 변경되는 데이터의 모든 파라미터가 포함됩니다(예: price 또는 promotion). 이러한 차원(예: timestamp 또는 itemId)은 대상 시계열 및 관련 시계열 데이터 세트에 필요합니다.

데이터 세트 도메인 및 데이터 세트 유형

Forecast 데이터 세트를 생성할 때 도메인과 데이터 세트 유형을 선택합니다. Forecast는 소매 수요 또는 웹 트래픽 예측과 같은 다양한 사용 사례를 위한 도메인을 제공합니다. 또한 사용자 지정 도메인을 생성할 수도 있습니다. 전체 Forecast 도메인 목록은 미리 정의된 데이터 세트 도메인 및 데이터 세트 유형 섹션을 참조하세요.

Forecast 사용자는 각 도메인에서 다음과 같은 데이터 세트 유형을 지정할 수 있습니다.

  • 대상 시계열 데이터 세트(필수) - 훈련 데이터가 시계열이고 예측을 생성하려는 필드를 포함하는 경우 이 데이터 세트 유형을 사용합니다. 이러한 필드를 타겟 필드라고 합니다.

  • 관련 시계열 데이터 세트(선택 사항) - 훈련 데이터가 시계열이지만, 대상 필드를 포함하지 않는 경우 이 데이터 세트 유형을 선택합니다. 예를 들어 상품 수요를 예측하는 경우에는 관련 시계열 데이터 세트에 price 필드만 있고, demand 필드는 없는 경우도 있습니다.

  • 항목 메타데이터 데이터 세트(선택 사항) - 훈련 데이터가 시계열 데이터가 아니지만, 대상 시계열 또는 관련 시계열 데이터 세트의 항목에 대한 메타데이터 정보를 포함하는 경우 이 데이터 세트 유형을 선택합니다. 예를 들어, 항목 수요를 예측하는 경우 항목 메타데이터 데이터 세트는 color 또는 brand를 차원으로 포함할 수 있습니다.

    CNN-QR 또는 DeepAr+ 알고리즘을 사용하는 경우 Forecast는 항목 메타데이터 데이터 세트 유형이 제공하는 데이터만 고려합니다.

    항목 메타데이터는 예측을 수행할 직접적인 과거 데이터가 거의 없지만 유사한 메타데이터 속성을 가진 항목에 대한 과거 데이터가 있는 콜드 부팅 예측 시나리오에 특히 유용합니다. 항목 메타데이터를 포함하면 Forecast는 유사한 시계열을 기반으로 콜드 스타트 예측을 생성하므로, 더 정확한 예측을 생성할 수 있습니다.

훈련 데이터의 정보와 예측할 타겟에 따라 데이터 세트를 1개 이상 생성할 수 있습니다.

예를 들어 신발 및 양말과 같은 소매 품목에 대한 수요 예측을 생성한다고 가정하겠습니다. RETAIL 도메인에 다음 데이터 세트를 생성할 수 있습니다.

  • 대상 시계열 데이터 세트 - 소매 항목의 이전 시계열 수요 데이터(item_id, timestamp 및 대상 필드 demand)가 포함됩니다. 예측하려는 타겟 필드를 지정하기 때문에 데이터 세트 그룹에 대상 시계열 데이터 세트가 1개 이상 있어야 합니다.

    그 밖에 다른 차원을 최대 10개까지 대상 시계열 데이터 세트에 추가할 수 있습니다. 데이터 세트 그룹에 대상 시계열 데이터 세트만 있다면 상품 수준 또는 세부적인 예측 차원 수준에서만 예측을 생성할 수 있습니다. 자세한 설명은 CreatePredictor 섹션을 참조하세요.

  • 관련 시계열 데이터 세트 - price 또는 revenue 같이 대상 필드가 아닌 이전 시계열 데이터가 포함됩니다. 관련 시계열 데이터는 대상 시계열 데이터로 매핑될 수 있어야 하기 때문에 각 관련 시계열 데이터 세트에는 식별할 수 있는 필드가 동일하게 포함되어야 합니다. RETAIL 도메인에서는 item_idtimestamp가 여기에 해당합니다.

    관련 시계열 데이터 세트에는 대상 시계열 데이터 세트를 사용한 예측을 구체화하는 데이터가 포함될 수 있습니다. 예를 들어 관련 시계열 데이터 세트에 향후 날짜를 기준으로 예측을 생성하려고 하는 price 데이터가 포함되기도 합니다. 이를 통해 Forecast가 추가 컨텍스트 차원을 사용하여 예측할 수 있습니다. 자세한 설명은 관련 시계열 데이터 세트 사용 섹션을 참조하세요.

  • 항목 메타데이터 데이터 세트 - 소매 항목의 메타데이터를 포함합니다. 메타데이터의 예로는 brand, category,color, genre 등이 있습니다.

예측 차원이 포함된 데이터 세트 예

위의 예에 이어서 매장의 이전 매출을 기준으로 신발과 양말에 대한 수요를 예측한다고 가정하겠습니다. 아래 대상 시계열 데이터 세트에서 store는 시계열 예측 차원인 반면 demand는 타겟 필드입니다. 양말은 매장 두 곳(NYC, SFO)에서 판매되지만 신발은 ORD에서만 판매됩니다.

아래 표에서 처음 행 3개에는 NYC, SFO 및 ORD 매장의 첫 유효 매출 데이터가 포함되어 있습니다. 마지막 행 3개에는 각 매장마다 마지막으로 기록된 매출 데이터가 포함되어 있습니다. ... 행은 첫 번째 항목과 마지막 항목 사이에 기록된 모든 상품 매출 데이터를 나타냅니다.

timestamp item_id store demand
2019-01-01 socks NYC 25
2019-01-05 socks SFO 45
2019-02-01 shoes ORD 10
...
2019-06-01 socks NYC 100
2019-06-05 socks SFO 5
2019-07-01 shoes ORD 50

데이터 세트 스키마

각 데이터 세트는 스키마가 필요합니다. 여기에서 스키마란 교육 데이터에서 사용자가 입력하는 JSON 매핑을 말합니다. 여기에 데이터 세트에 반드시 추가할 차원 및 특징과 선택적으로 추가할 차원 및 특징이 모두 나열됩니다.

데이터 세트에 지리적 위치 속성이 포함된 경우 속성 유형 geolocation을 사용하여 스키마 내에서 속성을 정의하세요. 자세한 내용은 지리적 위치 정보 추가를 참조하세요. 날씨 지수를 적용하려면 대상 시계열 및 모든 관련 시계열 데이터 세트에 지리적 위치 속성을 포함해야 합니다.

일부 도메인에는 선택 사항이지만 추가를 권장하는 차원이 있습니다. 선택적 차원은 본 안내서 후반부에 있는 각 도메인 설명에서 확인할 수 있습니다. 예시는 RETAIL 도메인 단원을 참조하세요. 선택적 모든 차원은 데이터 유형 string을 사용합니다.

스키마는 모든 데이터 세트에서 필수입니다. 다음은 위의 예제 대상 시계열 데이터 세트에 함께 제공되는 스키마입니다.

{ "attributes": [ { "AttributeName": "timestamp", "AttributeType": "timestamp" }, { "AttributeName": "item_id", "AttributeType": "string" }, { "AttributeName": "store", "AttributeType": "string" }, { "AttributeName": "demand", "AttributeType": "float" } ] }

이 스키마를 사용하는 데이터 세트에 훈련 데이터를 업로드하면 Forecast는 timestamp 필드가 열 1, item_id 필드가 열 2, store 필드가 열 3, demand 필드(대상 필드)가 열 4라고 가정합니다.

관련 시계열 데이터 세트 유형에서는 관련 특징이 모두 부동 소수점 또는 정수 속성 유형을 가져야 합니다. 항목 메타데이터 데이터 세트 유형에서는 모든 특징이 문자열 속성 유형을 가져야 합니다. 자세한 설명은 SchemaAttribute 섹션을 참조하세요.

참고

데이터 세트의 모든 열에 attributeNameattributeType 페어가 필요합니다. Forecast는 스키마 속성의 이름으로 사용할 수 없는 많은 이름을 예약합니다. 예약된 이름의 목록은 예약된 필드 이름 단원을 참조하십시오.

데이터 세트 그룹

데이터 세트 그룹은 각각 데이터 세트 유형 중 하나인 1~3개의 무료 데이터 세트 컬렉션입니다. 데이터 세트를 데이터 세트 그룹으로 가져온 후 데이터 세트 그룹을 사용해 예측기를 훈련시킵니다.

Forecast는 데이터 세트 그룹을 생성하고 여기에 데이터 세트를 추가하는 다음 작업을 포함합니다.

데이터 수집 빈도의 충돌 해결

Forecast는 CreateDataset 작업에서 지정한 데이터 빈도에 맞지 않는 데이터로 예측기를 훈련할 수 있습니다. 예를 들어, 데이터 일부에 정시 타임스탬프가 지정되어 있지 않았더라도(02:20, 02:45) 시간 간격으로 기록된 데이터를 가져올 수 있습니다. Forecast는 사용자가 지정한 데이터 빈도를 사용하여 데이터에 대해 학습합니다. 그런 다음 Forecast는 예측기 훈련 중에 데이터를 집계합니다. 자세한 내용은 다양한 예측 빈도의 데이터 집계 섹션을 참조하세요.