부록 A: 자주 묻는 질문
Q: Amazon Forecast를 시작하려면 어떻게 해야 합니까?
-
먼저 필요한 것은 AWS 계정입니다.
-
그런 다음 AWS Management Console
에서 Forecast 서비스를 열고 데이터 세트 그룹을 만든 다음 .csv파일을 대상 시계열 데이터 세트로 가져옵니다(필수). 시작하는 데 필요한 최소 데이터는 예측하려는 수량에 대한 과거 데이터입니다(예: 각 가구의 타임스탬프당 전기). -
마지막으로 CreatePredictor를 실행하고 CreateForecast를 실행해 결과를 생성하여 모델을 생성합니다. 자세한 내용은 시작하기 설명서 페이지를 참조하세요.
GitHub 소개 및 모범 사례 가이드
Q: Amazon Forecast가 저에게 적합한가요?
모든 기계 학습 문제가 예측 문제인 것은 아닙니다. 첫 번째 질문은 '비즈니스 문제의 설명에 시계열이 포함되어 있나요?'입니다. 예를 들어, 미래의 특정 시간 및 날짜에만 특정 값이 필요할까요? 예측은 사기 탐지 또는 사용자에게 영화 제목 추천과 같은 일반적이고 정적인 문제(특정 날짜/시간이 중요하지 않은 경우)에는 적합하지 않습니다. 정적 문제에는 훨씬 더 빠른 해결책이 있습니다.
시계열 데이터를 보유하는 것 외에도 데이터 자체도 '밀도가 높고' 기록이 길어야 합니다. 이 내용은 다음 표에 요약되어 있습니다.
표 2 - 기준 및 Amazon Forecast 알고리즘 클래스
| 기준 | Amazon Forecast 알고리즘 클래스 |
|---|---|
| 유사한 기본 패턴 + 계절 영향 + 관련 데이터를 가진 최대 5백만 개의 시계열이 있는 대규모 데이터 세트 각 시계열은 기록 길이가 길어야 하고 연간 이벤트를 캡처하려는 경우 기록이 2년 이상이 이상이어야 하며, 각 시계열에는 300개 이상, 이상적으로는 1,000개 이상의 데이터 포인트가 있어야 합니다. | Amazon Forecast 전용 딥 러닝 DeepAR+, CNN-QR |
| 대부분의 시계열에 300개 이상의 데이터 포인트 + 계절 영향 + 관련 데이터가 있는 1~100s 시계열의 작은 데이터 세트 | Prophet |
| 대부분의 시계열에 300개 이상의 데이터 포인트 + 계절 영향이 있는 1~10s 시계열의 작은 데이터 세트 | ETS, ARIMA |
| 대부분의 시계열에 300개 이상의 데이터 포인트가 있는 1~10s 시계열이 있는 간헐적(0이 많은 희소) | Amazon Forecast 전용 NPTS |
| 대부분의 시계열에 300개 미만의 데이터 포인트가 있는 1~10s 시계열의 작은 데이터 세트(일반 또는 희소) | Amazon Forecast에 비해 데이터가 너무 작습니다. 대신 Excel에서 ETS를 사용하거나 기존 통계 모델인 ARIMA 및 Prophet을 사용해 보세요. |
가장 좋은 방법은 데이터를 처음으로 분석할 때 Predictor에서 AutoML 모드를 사용하여 학습하는 것입니다. AutoML은 모든 알고리즘(HPO가 켜진 상태에서 실행되는 DL 알고리즘)을 자동으로 실행하여 데이터에 가장 적합한 알고리즘을 학습합니다.
Q: 누락된 데이터에 대해 어떻게 대응해야 하나요? 합리적인 예측을 하기에 너무 많은 시간이 필요한 때는 언제인가요?
데이터 기록에 문제가 있거나 데이터의 집계 수준이 너무 낮거나 너무 높은 경우일 수 있습니다. 일반적인 규칙은 예측 길이가 학습 데이터의 1/3보다 길 수 없다는 것입니다.
누락된 데이터의 양 외에 또 다른 고려 사항은 누락된 데이터의 대체입니다. 0을 모두 null로 변환하고 Amazon Forecast에서 누락된 값을 자동으로 입력하도록 할 수 있습니다. Amazon Forecast는 신제품 출시(콜드 스타트) 또는 수명이 다한 제품으로 인해 누락된 값이 발생하는지 여부를 자동으로 감지합니다. 값, 중앙값, 최소값, 최대값, 0, 평균 및 nan(대상 시계열만 해당)을 비롯한 여러 누락값 로직을 사용할 수 있습니다. null 채우기 구문에 대한 설명서를 참조하세요.
-
'frontfill' - (TTS만 해당) 신제품 또는 콜드 스타트 제품 및 해당 제품에 기록이 생기기 전에 null을 처리하는 방법을 나타냅니다.
-
'middlefill' - 시계열 값 중간에 있는 null을 나타냅니다.
-
'backfill' - 수명이 다한 제품과 제품 판매가 중단된 후 null을 처리하는 방법을 나타냅니다.
-
'futurefill' - (RTS만 해당) 학습 데이터가 끝난 후 발생하는 null을 나타냅니다.
Q: 입력된 과거 데이터에는 음수 값이 없는데 수요 예측에 음수 값이 표시됩니다. 이런 현상이 발생하는 이유는 무엇인가요? 이 문제를 방지하려면 어떻게 해야 하나요?
NPTS(음수가 아닌 데이터에서 학습됨) 및 DeepAR(음-이항 가능성 함수 사용)을 제외한 모든 모델의 경우 양수 생성을 보장할 수 없습니다. 해결책은 앞서 언급한 모델 중 하나로 변경하거나 예측 값을 음수가 아닌 값으로 자르는 것입니다.
Q: 정확도 지표가 분위에 따라 다른 이유는 무엇인가요? 모델이 같으니 오차도 같아야 하지 않나요?
가중치가 분위에 따라 어떻게 달라지는지에 대한 자세한 설명은 가중 분위 손실(wQL)을 참조하세요.
p10, p50, p90이라는 세 가지 다른 분위에 모든 예측이 있다고 가정해 봅시다. 세 예측 자체는 랜덤 변수입니다. 정확도는 각 분위 수준에서 실제와 예측치 간에 별도로 계산됩니다. 아래에서 'WQL', 즉 가중 분위 손실 표를 볼 수 있습니다. wQL 값은 서로 결정적인 관계가 없습니다. (리콜 손실은 오류를 의미하므로 순서가 지정되지 않습니다. 하지만 분위 예측은 순서대로 정렬됩니다.) 따라서 예를 들어 p90 wQL이 p50 wQL보다 커야 할 이유가 없습니다.
표 3 - 예측 분위 예제
| A | B | C | |
|---|---|---|---|
| 1 | P10 wQL | P50 wQL | P90 wQL |
| 2 | 0.18647 | 0.50879 | 0.30428 |
Q: 예측 정확도를 높이려면 어떻게 해야 하나요?
예측 정확도는 적절한 데이터를 적절한 양과 품질로 사용할 수 있는지 여부에 따라 달라집니다. 정확도가 만족스럽지 않다면 문제가 얼마나 예측 가능한지(또는 데이터가 얼마나 랜덤인지/노이즈가 있는지/고정적인지) 이해하는 것이 합리적일 수 있습니다. 고려해야 할 다른 요소로는 다양한 모델 평가, 하이퍼파라미터 설정, 관련 시계열 및 항목 메타데이터 데이터 세트를 사용한 추가 기능 통합 등이 있습니다. 구체적인 제안 사항은 GitHub의 이 모범 사례 문서를 참조하세요
Q: 제 사용 사례에 잘 맞는 알고리즘이 있는데 Amazon Forecast에서는 제공되지 않습니다. 어떻게 해야 하나요?
Amazon Forecast 팀이 이 사용 사례에 대해 기꺼이 도와드리겠습니다. 이메일을 통해 Amazon Forecast의 서비스 팀에 문의하세요<amazonforecast-poc@amazon.com>.