¿Cómo funciona el algoritmo DeepAR? - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

¿Cómo funciona el algoritmo DeepAR?

Durante la capacitación, DeepAR acepta un conjunto de datos de capacitación y un conjunto de datos de prueba opcional. Utiliza el conjunto de datos de prueba para evaluar el modelo capacitado. En general, los conjuntos de datos no tienen que contener el mismo conjunto de serie temporal. Puede utilizar un modelo capacitado en un determinado conjunto de capacitación para generar las previsiones para el futuro de las series temporales en el conjunto de capacitación y para otras series temporales. Tanto la capacitación como el conjunto de datos de prueba constan de una o, preferiblemente, series temporales de destino. Cada serie temporal de destino puede asociarse opcionalmente a un vector de serie temporal de características y a un vector de características categóricas. Para obtener más información, consulte Interfaz de entrada/salida para el algoritmo DeepAR.

Por ejemplo, el siguiente es un elemento de un conjunto de entrenamiento indexado por i que se compone de una serie temporal de destino, Zi,t y dos series temporales de características asociadas, Xi,1,t y Xi,2,t:

Figura 1: serie temporal de destino y serie temporal de características asociadas

La serie temporal de destino puede contener los valores que faltan, que están representados por saltos de línea en la serie temporal. DeepAR+ solo admite series temporales de características que son conocidas en el futuro. Esto le permite ejecutar escenarios hipotéticos. escenarios ¿Qué ocurre, por ejemplo, si cambio el precio de un producto de algún modo?

Cada serie temporal de destino también puede asociarse a un número de características categóricas. Puede utilizar estas características para codificar a qué agrupaciones pertenece una serie temporal. Las características categóricas permiten que el modelo aprenda comportamiento típico para grupos que puede utilizar para aumentar la precisión del modelo. DeepAR lo implementa aprendiendo un vector de integración para cada grupo, que captura las propiedades comunes de todas las series temporales en el grupo.

¿Cómo funcionan las series temporales de características en el algoritmo DeepAR?

Para facilitar los patrones de aprendizaje que dependen del tiempo, como por ejemplo los picos durante fines de semana, DeepAR crea automáticamente series temporales de características basadas en la frecuencia de la serie temporal de destino. Utiliza estas series temporales de características derivadas con la serie temporal de características personalizadas que proporciona durante la capacitación y la inferencia. La siguiente imagen muestra dos de estas características de series temporales derivadas: ui,1,t representa la hora del día y ui,2,t el día de la semana.

Figura 2: Serie temporal derivada

El algoritmo DeepAR genera automáticamente estas series temporales de características. En la tabla siguiente se enumeran las características derivadas para las frecuencias temporales básicas admitidas.

Frecuencia de la serie temporal Características derivadas
Minute

minute-of-hour, hour-of-day, day-of-week, day-of-month, day-of-year

Hour

hour-of-day, day-of-week, day-of-month, day-of-year

Day

day-of-week, day-of-month, day-of-year

Week

day-of-month, week-of-year

Month

month-of-year

DeepAR capacita un modelo muestreando aleatoriamente varios ejemplos de capacitación de cada una de las series temporales en el conjunto de datos de capacitación. Cada ejemplo de capacitación se compone de un par de ventanas adyacentes de contexto y predicción con longitudes predefinidas fijas. El hiperparámetro context_length controla hasta dónde puede ver la red en el pasado y el hiperparámetro prediction_length controla hasta cuando en el futuro pueden hacerse predicciones. Durante la capacitación, el algoritmo hace caso omiso a la capacitación de elementos de conjuntos que contienen series temporales más cortas que la longitud de predicción especificada. La siguiente figura representa cinco ejemplo con longitudes de contexto de 12 horas y longitudes de predicción de 6 horas extraídos del elemento i. Por cuestiones de brevedad, hemos omitido la serie temporal de características xi,1,t y ui,2,t.

Figura 3: Serie temporal de muestras

Para capturar los patrones de estacionalidad, DeepAR también incluye automáticamente valores con retraso procedentes de series temporales de destino. En el ejemplo con frecuencia por hora, para cada índice temporal, t = T, el modelo expone los valores zi,t, que tuvieron lugar, aproximadamente, hace uno, dos y tres días.

Figura 4: Serie temporal con retraso

Para la inferencia, el modelo de capacitación toma como entrada una serie temporal de destino, que puede haberse usado o no durante la capacitación, y prevé una distribución de probabilidad para los siguientes valores prediction_length. Dado que DeepAR recibe capacitación sobre todo el conjunto de datos, la previsión tiene en cuenta patrones aprendidos de series temporales similares.

Para obtener información sobre las operaciones matemáticas que se encuentran detrás de DeepAR, consulte DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks.