시계열 예측에서 실제 세계 데이터 다루기

시계열 예측에서 실제 세계 데이터 다루기 (Dealing with real-world data in Time-Series Forecasting)

이 문서는 Snowflake ML 함수의 시계열 예측(Timeseries Forecasting)에서 실제 세계 데이터를 다루는 방법을 설명해요.

출처: Dealing with real-world data in Time-Series Forecasting

본문

개요

시계열 데이터는 실제로는 결측값, 노이즈, 불규칙한 시간 간격, 외래값(이상치) 같은 문제를 포함하는 경우가 많아요. Snowflake ML 예측 함수는 이러한 실제 세계 데이터를 처리하기 위한 전처리(preprocessing) 기능을 제공해요.

결측값 (Missing values)

시계열 데이터에서 결측값이 있으면 예측 모델이 제대로 동작하지 않을 수 있어요. Snowflake 예측 함수는 데이터를 학습에 사용하기 전에 지정된 방식으로 결측값을 처리해요.

일반적으로 결측값은 다음 방식으로 채워질 수 있어요:

  • 앞선 값으로 대체 (forward fill).
  • 시계열 내삽.

예측 함수의 매개변수를 통해 결측값 처리 방식을 제어할 수 있어요.

외래값 (Outliers)

비정상적인 값(외래값)은 예측 정확도를 떨어뜨릴 수 있어요. Snowflake 예측 함수는 학습 데이터의 외래값을 감지하고 적절히 처리하는 옵션을 제공해요. 외래값 처리를 비활성화하라는 지시가 없다면 함수가 기본적으로 외래값을 다루기도 해요.

데이터 그룹화

예측을 여러 시계열(예: 여러 제품, 여러 지역)에 대해 수행해야 한다면 grouping_cols에 그룹화 컬럼을 지정할 수 있어요. 이렇게 하면 각 그룹에 대해 별도의 예측을 수행할 수 있어요.

매개변수 예시

예측 함수(예: FORECAST)를 호출할 때 전처리 관련 매개변수를 지정할 수 있어요. 예:

SELECT FORECAST(
  over (ORDER BY ts),
  input_data => TABLE(...),
  grouping_cols => ['product'],
  missing_data_behavior => 'FILL_FORWARD'
);

고려 사항

  • 결측값과 외래값 처리 방식은 예측 목적에 맞게 선택해야 해요.
  • 그룹별 데이터가 일관된 시간 간격을 갖도록 정리하는 것이 좋아요.

더 알아보기 (Learn more)