Características del calendario para la previsión de series temporales en AutoML
Este artículo se centra en las características basadas en calendarios que AutoML crea para aumentar la precisión de los modelos de regresión de previsión. Dado que los días festivos pueden tener una fuerte influencia sobre cómo se comporta el sistema modelado, el tiempo anterior, durante y después de un día festivo puede inclinar los patrones de la serie. Cada día festivo genera una ventana sobre el conjunto de datos existente al que el aprendiz puede asignar un efecto. Esto puede ser especialmente útil en escenarios como días festivos que generan altas demandas de productos específicos. Consulte el artículo de información general sobre los métodos para obtener más información general sobre la metodología de previsión en AutoML. Encontrará instrucciones y ejemplos para entrenar modelos de previsión en AutoML en nuestro artículo configuración de AutoML para la previsión de series temporales.
Como parte de la ingeniería de características, AutoML transforma columnas de tipo datetime proporcionadas en los datos de entrenamiento en nuevas columnas de características basadas en calendarios. Estas características pueden ayudar a los modelos de regresión a aprender patrones estacionales con varias cadencias. AutoML siempre puede crear características de calendario a partir del índice de tiempo de la serie temporal, ya que se trata de una columna necesaria en los datos de entrenamiento. Las características del calendario también se realizan a partir de otras columnas con tipo datetime, si hay alguna. Consulte la guía de uso de AutoML para obtener más información sobre los requisitos de datos.
AutoML tiene en cuenta dos categorías de características de calendario: características estándar basadas completamente en valores de fecha y hora y características de vacaciones que son específicas de un país o región del mundo. Veremos estas características en el resto del artículo.
Características de calendario estándar
En la tabla siguiente se muestra el conjunto completo de características de calendario estándar de AutoML junto con una salida de ejemplo. En el ejemplo se usa el formato estándar YY-mm-dd %H-%m-%d
para la representación datetime.
Nombre de característica | Descripción | Salida de ejemplo para 2011-01-01 00:25:30 |
---|---|---|
year |
Característica numérica que representa el año natural | 2011 |
year_iso |
Representa el año ISO tal y como se define en ISO 8601. Los años ISO comienzan en la primera semana del año que tiene un jueves. Por ejemplo, si el 1 de enero es un viernes, el año ISO comienza el 4 de enero. Los años ISO pueden diferir de los años naturales. | 2010 |
half |
Característica que indica si la fecha está en la primera o segunda mitad del año. Es 1 si la fecha es anterior al 1 de julio y al 2 de otro modo. | |
quarter |
Característica numérica que representa el trimestre de la fecha especificada. Toma los valores 1, 2, 3 o 4 que representan primero, segundo, tercero y cuarto trimestre del año natural. | 1 |
month |
Característica numérica que representa el mes natural. Toma los valores de 1 a 12. | 1 |
month_lbl |
Característica de cadena que representa el nombre del mes. | "January" |
day |
Característica numérica que representa el día del mes. Toma valores de 1 a 31. | 1 |
hour |
Característica numérica que representa la hora del día. Toma valores entre 0 y 23. | 0 |
minute |
Característica numérica que representa el minuto dentro de la hora. Toma valores entre 0 y 59. | 25 |
second |
Característica numérica que representa el segundo de la fecha y hora especificada. En caso de que solo se proporcione el formato de fecha, se supone que es 0. Toma valores entre 0 y 59. | 30 |
am_pm |
Característica numérica que indica si la hora está en la mañana o por la noche. Es 0 las veces anteriores a las 12 p.m. y 1 para las horas posteriores a las 12 p.m. | 0 |
am_pm_lbl |
Característica de cadena que indica si la hora está en la mañana o por la noche. | "am" |
hour12 |
Característica numérica que representa la hora del día en un reloj de 12 horas. Toma valores entre 0 y 12 para la primera mitad del día y entre 1 y 11 para la segunda mitad. | 0 |
wday |
Característica numérica que representa el día de la semana. Toma valores entre 0 y 6, donde 0 corresponde al lunes. | 5 |
wday_lbl |
Característica de cadena que representa el nombre del día de la semana. | |
qday |
Característica numérica que representa el día dentro del trimestre. Toma los valores de 1 a 92. | 1 |
yday |
Característica numérica que representa el día del año. Toma valores de 1 a 365, o 1 a 366 en el caso de año bisiesto. | 1 |
week |
Característica numérica que representa la semana ISO tal como se define en ISO 8601. Las semanas ISO siempre comienzan el lunes y terminan el domingo. Los valores tardan de 1 a 52 o 53 años que tienen el 1 de enero cayendo el jueves o por años bisiestos teniendo el 1 de enero cayendo el miércoles. | 52 |
Es posible que el conjunto completo de características de calendario estándar no se cree en todos los casos. El conjunto generado depende de la frecuencia de la serie temporal y de si los datos de entrenamiento contienen características datetime además del índice de hora. En la tabla siguiente se muestran las características creadas para distintos tipos de columna:
Propósito de la columna | Características de calendario |
---|---|
Índice de tiempo | El conjunto completo menos las características del calendario que tienen una correlación alta con otras características. Por ejemplo, si la frecuencia de la serie temporal es diaria, se quitarán todas las características con una frecuencia más granular que diaria, ya que no proporcionan información útil. |
Otra columna datetime | Conjunto reducido que consta de Year , Month , Day , DayOfWeek DayOfYear , QuarterOfYear , WeekOfMonth , Hour , Minute , y Second . Si la columna es una fecha sin hora, Hour , Minute , y Second será 0. |
Características de vacaciones
AutoML puede crear características que representan los días festivos de un país o región específicos. Estas características se configuran en AutoML mediante el country_or_region_for_holidays
parámetro que acepta un código de país ISO.
Nota:
Las características de vacaciones solo se pueden hacer para series temporales con frecuencia diaria.
En la tabla siguiente se resumen las características de vacaciones:
Nombre de característica | Descripción |
---|---|
Holiday |
Característica de cadena que especifica si una fecha es una fiesta nacional o regional. Los días dentro de algún intervalo de vacaciones también están marcados. |
isPaidTimeOff |
Característica binaria que toma el valor 1 si el día es un "festivo retribuido" en el país o región especificados. |
AutoML usa Azure Open Datasets como origen para obtener información de vacaciones. Para más información, consulte la documentación de PublicHolidays.
Para comprender mejor la generación de características de vacaciones, tenga en cuenta los siguientes datos de ejemplo:
Para que las características de los días festivos estadounidenses para estos datos se establezcan country_or_region_for_holiday
en "US" en la configuración de previsión, como se muestra en el ejemplo de código siguiente:
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'
)
Las características de vacaciones generadas tienen un aspecto similar la siguiente salida:
Tenga en cuenta que las características generadas tienen el prefijo _automl_
antepuesto a sus nombres de columna. AutoML generalmente usa este prefijo para distinguir las características de entrada de las características diseñadas.
Pasos siguientes
- Más información sobre cómo configurar AutoML para entrenar un modelo de previsión de series temporales.
- Examine las Preguntas más frecuentes sobre la previsión de AutoML.
- Obtenga información sobre las Características de previsión de AutoML con retardo.
- Obtenga información sobre cómo AutoML usa el aprendizaje automático para crear modelos de previsión.