View a markdown version of this page

부록 A: 자주 묻는 질문 - Amazon Forecast에서 시계열 예측 원칙

부록 A: 자주 묻는 질문

Q: Amazon Forecast를 시작하려면 어떻게 해야 합니까?

  1. 먼저 필요한 것은 AWS 계정입니다.

  2. 그런 다음 AWS Management Console에서 Forecast 서비스를 열고 데이터 세트 그룹을 만든 다음 .csv 파일을 대상 시계열 데이터 세트로 가져옵니다(필수). 시작하는 데 필요한 최소 데이터는 예측하려는 수량에 대한 과거 데이터입니다(예: 각 가구의 타임스탬프당 전기).

  3. 마지막으로 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의 서비스 팀에 문의하세요.