AutoML의 시계열 예측을 위한 일정 기능
이 문서에서는 예측 회귀 모델의 정확도를 높이기 위해 AutoML에서 만드는 일정 기반 기능에 중점을 둡니다. 휴일은 모델링된 시스템의 작동 방식에 큰 영향을 미칠 수 있으므로 연휴 전, 도중 및 이후의 시간은 시리즈의 패턴을 편향할 수 있습니다. 각 휴일은 학습자가 효과를 할당할 수 있는 기존 데이터 세트에 대한 창을 생성합니다. 이는 특정 제품에 대한 높은 수요를 생성하는 휴일과 같은 시나리오에서 특히 유용할 수 있습니다. AutoML의 예측 방법에 대한 일반적인 정보는 방법 개요 문서를 참조하세요. AutoML에서 예측 모델을 학습하는 지침과 예는 시계열 예측을 위한 AutoML 설정 문서에서 찾을 수 있습니다.
기능 엔지니어링의 일환으로 AutoML은 학습 데이터에 제공된 날짜/시간 형식 열을 달력 기반 기능의 새 열로 변환합니다. 이러한 기능은 회귀 모델이 여러 주기에서 계절 패턴을 학습하는 데 도움이 될 수 있습니다. AutoML은 학습 데이터의 필수 열이므로 항상 시계열의 시간 인덱스에서 일정 기능을 만들 수 있습니다. 일정 기능은 날짜/시간 유형이 있는 다른 열에서도 만들어집니다(있는 경우). 데이터 요구 사항에 대한 자세한 내용은 AutoML에서 데이터 가이드를 사용하는 방법을 참조하세요.
AutoML은 날짜 및 시간 값을 전적으로 기반으로 하는 표준 기능과 세계의 국가 또는 지역과 관련된 휴일 기능이라는 두 가지 일정 기능 범주를 고려합니다. 문서의 나머지 부분에서 이러한 기능을 살펴보겠습니다.
표준 일정 기능
다음 표에서는 예제 출력과 함께 AutoML의 표준 일정 기능의 전체 집합을 보여 둡 수 있습니다. 이 예제에서는 datetime 표현에 표준 YY-mm-dd %H-%m-%d
형식을 사용합니다.
기능 이름 | 설명 | 출력 예: 2011-01-01 00:25:30 |
---|---|---|
year |
연도를 나타내는 숫자 기능 | 2011 |
year_iso |
ISO 8601에 정의된 ISO 연도를 나타냅니다. ISO 연도는 목요일이 있는 연도의 첫 번째 주에 시작됩니다. 예를 들어 1월 1일이 금요일인 경우 ISO 연도는 1월 4일에 시작됩니다. 따라서 ISO 연도는 달력 연도와 다를 수 있습니다. | 2010 |
half |
날짜가 올해 첫 번째 또는 하반기에 있는지 여부를 나타내는 기능입니다. 날짜가 7월 1일 이전이면 1이고 그렇지 않으면 2입니다. | |
quarter |
지정된 날짜의 분기를 나타내는 숫자 기능입니다. 연도의 첫 번째, 두 번째, 세 번째, 네 번째 분기를 나타내는 값 1, 2, 3 또는 4를 사용합니다. | 1 |
month |
달력 월을 나타내는 숫자 기능 1에서 12까지의 값을 사용합니다. | 1 |
month_lbl |
월의 이름을 나타내는 문자열 기능입니다. | ‘1월’ |
day |
월의 날짜를 나타내는 숫자 기능입니다. 1에서 31까지의 값을 사용합니다. | 1 |
hour |
하루의 시를 나타내는 숫자 기능입니다. 0에서 23까지의 값을 사용합니다. | 0 |
minute |
하루의 분을 나타내는 숫자 기능입니다. 0에서 59까지의 값을 사용합니다. | 25 |
second |
지정된 datetime의 초를 나타내는 숫자 기능입니다. 날짜 형식만 제공되는 경우 0으로 간주됩니다. 0에서 59까지의 값을 사용합니다. | 30 |
am_pm |
시간이 아침 또는 저녁인지 여부를 나타내는 숫자 기능입니다. 0은 오후 12시 이전의 시간이며, 오후 12시 이후에는 1입니다. | 0 |
am_pm_lbl |
시간이 아침 또는 저녁인지 여부를 나타내는 문자열 기능입니다. | 'am' |
hour12 |
12시간 시계의 하루 중 시간을 나타내는 숫자 기능입니다. 상반기에는 0~12, 하반기에는 1~11 값을 사용합니다. | 0 |
wday |
요일을 나타내는 숫자 기능입니다. 0에서 6까지의 값을 사용합니다. 여기서 0은 월요일에 해당합니다. | 5 |
wday_lbl |
요일의 이름을 나타내는 문자열 기능입니다. | |
qday |
분기 내의 날짜를 나타내는 숫자 기능입니다. 1에서 92까지의 값을 사용합니다. | 1 |
yday |
연도의 날짜를 나타내는 숫자 기능입니다. 1~365, 윤년의 경우 1~366 값을 사용합니다. | 1 |
week |
ISO 8601에 정의된 ISO 주를 나타내는 숫자 기능입니다. ISO 주는 항상 월요일에 시작하여 일요일에 끝납니다. 1~52, 즉 1월 1일이 목요일에 떨어지거나 1월 1일이 수요일에 떨어지는 윤년 동안에는 53의 값이 필요합니다. | 52 |
표준 일정 기능의 전체 집합은 모든 경우에 만들어지지 않을 수 있습니다. 생성된 집합은 시계열의 빈도 및 학습 데이터에 시간 인덱스 외에 날짜/시간 기능이 포함되어 있는지 여부에 따라 달라집니다. 다음 표에서는 다양한 열 형식에 대해 만든 기능을 보여줍니다.
열 용도 | 일정 기능 |
---|---|
시간 인덱스 | 전체 집합은 다른 기능과 높은 상관 관계가 있는 달력 기능을 뺀 값입니다. 예를 들어 시계열 빈도가 매일인 경우 유용한 정보를 제공하지 않으므로 매일보다 더 세분화된 빈도가 있는 모든 기능이 제거됩니다. |
날짜/시간 열 필터링 | Year , Month , Day , DayOfWeek , DayOfYear , QuarterOfYear , WeekOfMonth , Hour , Minute , Second 로 구성된 축소된 집합입니다. 열이 시간 없이 날짜인 경우 Hour , Minute , Second 는 0이 됩니다. |
휴일 기능
AutoML은 필요에 따라 특정 국가 또는 지역의 휴일을 나타내는 기능을 만들 수 있습니다. 이러한 기능은 ISO 국가 번호를 허용하는 country_or_region_for_holidays
매개 변수를 사용하여 AutoML에서 구성됩니다.
참고 항목
휴일 기능은 매일 빈도의 시계열에 대해서만 만들 수 있습니다.
다음 표에는 휴일 기능이 요약되어 있습니다.
기능 이름 | 설명 |
---|---|
Holiday |
날짜가 국가/지역 공휴일인지 지정하는 문자열 기능입니다. 휴일의 일부 범위 내의 일도 표시됩니다. |
isPaidTimeOff |
지정된 국가 또는 지역의 "유급 휴가"인 경우 값 1을 사용하는 이진 기능입니다. |
AutoML은 휴일 정보의 원본으로 Azure Open Datasets를 사용합니다. 자세한 내용은 PublicHolidays 설명서를 참조하세요.
휴일 기능 생성을 더 잘 이해하려면 다음 예제 데이터를 고려하세요.
이 데이터에 대한 미국 휴일 기능을 만들기 위해 다음 코드 샘플과 같이 예측 설정에서 country_or_region_for_holiday
를 'US'로 설정합니다.
from azure.ai.ml import automl
# create a forcasting job
forecasting_job = automl.forecasting(
compute='test_cluster', # Name of single or multinode AML compute infrastructure created by user
experiment_name=exp_name, # name of experiment
training_data=sample_data,
target_column_name='demand',
primary_metric='NormalizedRootMeanSquaredError',
n_cross_validations=3,
enable_model_explainability=True
)
# set custom forecast settings
forecasting_job.set_forecast_settings(
time_column_name='timeStamp',
country_or_region_for_holidays='US'
)
생성된 휴일 기능은 다음 출력과 같습니다.
생성된 기능에는 열 이름 앞에 _automl_
접두사가 추가되어 있습니다. AutoML은 일반적으로 이 접두사를 사용하여 입력 기능을 엔지니어링된 기능과 구분합니다.
다음 단계
- 시계열 예측 모델 학습을 위해 AutoML을 설정하는 방법에 대해 자세히 알아봅니다.
- AutoML 예측 질문과 대답을 찾아보세요.
- AutoML 예측 지연 기능에 대해 알아봅니다.
- AutoML이 기계 학습을 사용하여 예측 모델을 빌드하는 방법에 대해 알아봅니다.