변환 함수 - Amazon Forecast

Amazon Forecast는 더 이상 신규 고객에게 제공되지 않습니다. Amazon Forecast의 기존 고객은 서비스를 정상적으로 계속 사용할 수 있습니다. 자세히 알아보기

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

변환 함수

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

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

Transformation function builder interface with options to modify price and stock count.

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

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

Amazon Forecast는 다음 조건을 지원합니다.

  • EQUALS - 열의 값이 조건에 제공된 값과 같습니다.

  • NOT_EQUALS - 열의 값이 조건에 제공된 값과 같지 않습니다.

  • LESS_THAN - 열의 값이 조건에 제공된 값보다 작습니다.

  • GREATER_THAN - 열의 값이 조건에 제공된 값보다 큽니다.

Amazon Forecast는 다음 작업을 지원합니다.

  • ADD - 제공된 값을 열의 모든 행에 더합니다.

  • SUBTRACT - 제공된 값을 열의 모든 행에서 뺍니다.

  • MULTIPLY - 열의 모든 행을 제공된 값으로 곱합니다.

  • DIVIDE - 열의 모든 행을 제공된 값으로 나눕니다.

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

Example 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Example 8

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

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