Parámetros de entrenamiento de modelos de previsión

En esta página se proporciona información detallada sobre los parámetros que se usan en el entrenamiento de modelos de previsión. Para saber cómo entrenar un modelo de previsión, consulta los artículos Entrenar un modelo de previsión y Entrenar un modelo con el flujo de trabajo tabular para previsiones.

Métodos de entrenamiento de modelos

Elige uno de los siguientes métodos para entrenar tu modelo:

Codificador denso de series temporales (TiDE): modelo de codificador-decodificador denso optimizado basado en DNN. Gran calidad del modelo con entrenamiento e inferencia rápidos, especialmente para contextos y horizontes largos. Más información

Temporal Fusion Transformer (TFT): modelo de DNN basado en la atención diseñado para ofrecer una alta precisión e interpretabilidad alineando el modelo con la tarea general de previsión multihorizonte. Más información

AutoML (L2L): es una buena opción para una amplia gama de casos prácticos. Más información

Seq2Seq+: una buena opción para experimentar. Es probable que el algoritmo converja más rápido que AutoML porque su arquitectura es más sencilla y utiliza un espacio de búsqueda más pequeño. Nuestros experimentos muestran que Seq2Seq+ funciona bien con un presupuesto de tiempo reducido y en conjuntos de datos de menos de 1 GB.

Tipo de función y disponibilidad en la previsión

Todas las columnas que se usen para entrenar un modelo de previsión deben tener un tipo: atributo o covariable. Las covariables se designan como disponibles o no disponibles en el momento de la previsión.

Tipo de serie Disponible en el momento de la previsión Descripción Ejemplos Campos de la API
Atributo Disponible Un atributo es una característica estática que no cambia con el tiempo. Color del artículo, descripción del producto. time_series_attribute_columns
Covariable Disponible

Una variable exógena que se espera que cambie con el tiempo. Una covariable disponible en el momento de la previsión es un indicador adelantado.

Debe proporcionar datos de inferencia para esta columna en cada punto del horizonte de previsión.

Festivos, promociones o eventos programados. available_at_forecast_columns
Covariable No disponible Una covariable no disponible en el momento de la previsión. No es necesario que proporcione valores para estas funciones al crear una previsión. El tiempo real. unavailable_at_forecast_columns

Consulte más información sobre la relación entre la disponibilidad de las funciones y el horizonte de previsión, la ventana de contexto y la ventana de previsión.

Horizonte de previsión, ventana de contexto y ventana de previsión

Las funciones de previsión son atributos estáticos o covariables que varían con el tiempo. Consulta Tipo de función y disponibilidad en la previsión.

Cuando entrenas un modelo de previsión, debes especificar qué datos de entrenamiento de covariables son los más importantes para captar. Se expresa en forma de una ventana de previsión, que es una serie de filas compuestas por lo siguiente:

  • El contexto o el historial de datos hasta el momento de la inferencia.
  • El horizonte o las filas que se usan para la inferencia.

En conjunto, las filas de la ventana definen una instancia de serie temporal que sirve como entrada de modelo: es lo que Vertex AI usa para entrenar, evaluar y hacer inferencias. La fila que se usa para generar la ventana es la primera fila del horizonte e identifica de forma única la ventana en la serie temporal.

El horizonte de previsión determina hasta qué punto en el futuro el modelo prevé el valor objetivo de cada fila de datos de inferencia.

La ventana de contexto define cuánto tiempo atrás se remonta el modelo durante el entrenamiento (y para las previsiones). Es decir, en cada punto de datos de entrenamiento, la ventana de contexto determina cuánto tiempo atrás busca el modelo patrones predictivos. Consulta las prácticas recomendadas para encontrar un valor adecuado para la ventana de contexto.

Por ejemplo, si Ventana de contexto = 14 y Horizonte de previsión = 7, cada ejemplo de ventana tendrá 14 + 7 = 21 filas.

Disponibilidad en la previsión

Las covariables de previsión se pueden dividir en las que están disponibles en el momento de la previsión y las que no.

Cuando se trata de covariables que están disponibles en el momento de la previsión, Vertex AI tiene en cuenta los valores de las covariables tanto de la ventana de contexto como del horizonte de previsión para el entrenamiento, la evaluación y la inferencia. Cuando se trata de covariables que no están disponibles en el momento de la previsión, Vertex AI tiene en cuenta los valores de las covariables de la ventana de contexto, pero excluye explícitamente los valores de las covariables del horizonte de previsión.

Estrategias de ventana de tiempo

Vertex AI genera ventanas de previsión a partir de los datos de entrada mediante una estrategia de ventana móvil. La estrategia predeterminada es Recuento.

  • Recuento. El número de ventanas generadas por Vertex AI no debe superar el máximo proporcionado por el usuario. Si el número de filas del conjunto de datos de entrada es inferior al número máximo de ventanas, se utiliza cada fila para generar una ventana. De lo contrario, Vertex AI realiza un muestreo aleatorio para seleccionar las filas. El valor predeterminado del número máximo de ventanas es 100,000,000. El número máximo de ventanas no puede superar 100,000,000.
  • Stride. Vertex AI usa una de cada X filas de entrada para generar una ventana, hasta un máximo de 100.000.000 ventanas. Esta opción es útil para las inferencias estacionales o periódicas. Por ejemplo, puede limitar las previsiones a un solo día de la semana si asigna el valor 7 a la longitud del paso. El valor puede estar entre 1 y 1000.
  • Columna. Puede añadir una columna a sus datos de entrada en la que los valores sean True o False. Vertex AI genera una ventana para cada fila de entrada en la que el valor de la columna es True. Los valores de True y False se pueden definir en cualquier orden, siempre que el número total de filas de True sea inferior a 100,000,000. Aunque lo ideal es usar valores booleanos, también se aceptan valores de cadena. En los valores de cadena no se distingue entre mayúsculas y minúsculas.

Si generas menos ventanas de 100,000,000 que las predeterminadas, puedes reducir el tiempo necesario para el preprocesamiento y la evaluación del modelo. Además, el submuestreo de ventanas te permite controlar mejor la distribución de las ventanas que se ven durante el entrenamiento. Si se usa correctamente, puede dar lugar a resultados mejores y más coherentes.

Cómo se usan la ventana de contexto y el horizonte de previsión durante el entrenamiento y las previsiones

Supongamos que tiene datos que se recogen mensualmente, con una ventana de contexto de 5 meses y un horizonte de previsión de 5 meses. Si entrenas tu modelo con 12 meses de datos, obtendrás los siguientes conjuntos de entradas y previsiones:

  • [1-5]:[6-10]
  • [2-6]:[7-11]
  • [3-7]:[8-12]

Una vez entrenado el modelo, podría usarse para predecir los meses del 13 al 17:

  • [8-12]:[13-17]

El modelo solo utiliza los datos que se incluyen en la ventana de contexto para hacer la previsión. Se ignorarán los datos que proporciones que queden fuera de la ventana de contexto.

Una vez que se hayan recogido los datos del mes 13, se podrán usar para hacer predicciones hasta el mes 18:

  • [9-13]:[14-18]

Puedes seguir haciéndolo en el futuro siempre que obtengas buenos resultados. Con el tiempo, podrías volver a entrenar el modelo con los nuevos datos. Por ejemplo, si vuelve a entrenar el modelo después de añadir 6 meses más de datos, los datos de entrenamiento se usarían de la siguiente manera:

  • [2-6]:[7-11]
  • [3-7]:[8-12]
  • [4-8]:[9-13]
  • [5-9]:[10-14]
  • [6-10]:[11-15]
  • [7-11]:[12-16]
  • [8-12]:[13-17]
  • [9-13]:[14-18]

Después, puedes usar el modelo para predecir los meses del 19 al 23:

  • [14-18]:[19-23]

Objetivos de optimización para modelos de previsión

Cuando entrenas un modelo, Vertex AI selecciona un objetivo de optimización predeterminado en función del tipo de modelo y del tipo de datos que se utilice en la columna de destino. En la siguiente tabla se ofrecen algunos detalles sobre los problemas para los que los modelos de previsión son más adecuados:

Objetivo de optimización Valor de la API Usa este objetivo si quieres...
RMSE minimize-rmse Minimizar la raíz cuadrada del error cuadrático medio (RMSE). Captura más valores extremos de forma precisa y tiene menos sesgos al agregar inferencias. Valor predeterminado.
MAE minimize-mae Minimizar el error absoluto medio (MAE). Se ven los valores extremos como valores atípicos que tienen un impacto menor en el modelo.
RMSLE minimize-rmsle Minimiza el error logarítmico cuadrático medio de la raíz (RMSLE). Penaliza los errores según el tamaño relativo en lugar del valor absoluto. Resulta muy útil cuando tanto los valores predichos como los disponibles pueden ser de gran tamaño.
RMSPE minimize-rmspe Minimizar la raíz cuadrada del error porcentual cuadrático medio (RMSPE). Captura una gran variedad de valores de forma precisa. Es similar al RMSE, pero está relacionado con la magnitud del destino. Resulta muy útil cuando el intervalo de valores es amplio.
WAPE minimize-wape-mae Minimiza la combinación del error absoluto porcentual ponderado (WAPE) y el error absoluto medio (MAE). Resulta muy útil cuando los valores reales son bajos.
Pérdida cuantílica minimize-quantile-loss Minimiza la pérdida de pinball escalada de los cuantiles definidos para cuantificar la incertidumbre de las estimaciones. Las inferencias de cuantiles cuantifican la incertidumbre de las inferencias. Miden la probabilidad de que una inferencia se encuentre dentro de un intervalo.

Regiones de vacaciones

En algunos casos prácticos, los datos de previsión pueden mostrar un comportamiento irregular los días que corresponden a festivos regionales. Si quieres que tu modelo tenga en cuenta este efecto, selecciona la región o las regiones geográficas que correspondan a tus datos de entrada. Durante el entrenamiento, Vertex AI crea características categóricas de festivos en el modelo en función de la fecha de la columna de tiempo y de las regiones geográficas especificadas.

A continuación, se muestra un extracto de las fechas y las características categóricas de los festivos de Estados Unidos. Ten en cuenta que una característica categórica se asigna a la fecha principal, a uno o varios días previos a las festividades y a uno o varios días posteriores a las festividades. Por ejemplo, en Estados Unidos, el Día de la Madre del 2013 fue el 12 de mayo. Las funciones del Día de la Madre se asignan a la fecha principal, seis días antes de la festividad y un día después.

Fecha Función categórica de festivos
2013-05-06MothersDay
2013-05-07MothersDay
2013-05-08MothersDay
2013-05-09MothersDay
2013-05-10MothersDay
2013-05-11MothersDay
2013-05-12MothersDay
2013-05-13MothersDay
2013-05-26US_MemorialDay
2013-05-27US_MemorialDay
2013-05-28US_MemorialDay

Los valores aceptables para las regiones festivas son los siguientes:

  • GLOBAL: detecta los festivos de todas las regiones del mundo.
  • NA: detecta los festivos de Norteamérica.
  • JAPAC: detecta los festivos de Japón y Asia-Pacífico.
  • EMEA: detecta los festivos de Europa, Oriente Medio y África.
  • LAC: detecta los festivos de Latinoamérica y el Caribe.
  • Códigos de país ISO 3166-1: detecta las festividades de cada país.

Para ver la lista completa de fechas festivas de cada región geográfica, consulta la tabla holidays_and_events_for_forecasting de BigQuery. Puedes abrir esta tabla a través de la consola Google Cloud siguiendo estos pasos:

  1. En la Google Cloud consola, en la sección BigQuery, ve a la página BigQuery Studio.

    Ir a BigQuery Studio

  2. En el panel Explorador, abre el proyecto bigquery-public-data. Si no encuentras este proyecto o quieres obtener más información, consulta Abrir un conjunto de datos público.
  3. Abre el conjunto de datos ml_datasets.
  4. Abre la tabla holidays_and_events_for_forecasting.

A continuación, se muestra un fragmento de la tabla holidays_and_events_for_forecasting:

ejemplo de festivos para la previsión