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 superar100,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 entre1
y1000
. - Columna.
Puede añadir una columna a sus datos de entrada en la que los valores sean
True
oFalse
. Vertex AI genera una ventana para cada fila de entrada en la que el valor de la columna esTrue
. Los valores deTrue
yFalse
se pueden definir en cualquier orden, siempre que el número total de filas deTrue
sea inferior a100,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-06 | MothersDay |
2013-05-07 | MothersDay |
2013-05-08 | MothersDay |
2013-05-09 | MothersDay |
2013-05-10 | MothersDay |
2013-05-11 | MothersDay |
2013-05-12 | MothersDay |
2013-05-13 | MothersDay |
2013-05-26 | US_MemorialDay |
2013-05-27 | US_MemorialDay |
2013-05-28 | US_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:
-
En la Google Cloud consola, en la sección BigQuery, ve a la página BigQuery Studio.
- 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. - Abre el conjunto de datos
ml_datasets
. - Abre la tabla
holidays_and_events_for_forecasting
.
A continuación, se muestra un fragmento de la tabla holidays_and_events_for_forecasting
:
