Paso 2: Preparar los datos
Una vez que disponga de datos sin procesar, deberá hacerse cargo de ciertas complicaciones, como la falta de datos, y asegurarse de preparar los datos para los modelos de previsión que mejor capten la interpretación prevista.
Cómo gestionar la ausencia de datos
En los problemas de previsión reales, suele ocurrir que falten ciertos valores en los datos sin procesar. Si falta un valor en una serie temporal, significa que no está disponible el valor real correspondiente en cada punto temporal con la frecuencia especificada para su posterior procesamiento. Puede haber varios motivos por los que se marquen los valores como faltantes.
Los valores faltantes pueden deberse a que no se ha realizado ninguna transacción o a posibles errores de medición (por ejemplo, porque un servicio que supervisaba ciertos datos no funcionaba correctamente o porque la medición no se pudo realizar correctamente). El principal ejemplo de esta última circunstancia en el caso práctico del comercio minorista es una situación de agotamiento de existencias en la previsión de la demanda, lo que significa que la demanda no coincide con las ventas de ese día.
Se pueden producir efectos similares en los escenarios de computación en la nube cuando un servicio ha alcanzado un límite (por ejemplo, si todas las instancias de Amazon EC2
Los componentes de procesamiento de funciones también pueden insertar valores faltantes para rellenar las series temporales y garantizar así que tengan longitudes uniformes. Si son lo suficientemente importantes, los valores faltantes pueden afectar de manera significativa a la precisión de un modelo.
Ejemplo 1
El llenado es el proceso de añadir valores estandarizados a las entradas que faltan en su conjunto de datos. En la siguiente figura, se ilustran las diferentes estrategias para gestionar los valores faltantes en Amazon Forecast (rellenado frontal, medio, retroactivo y a futuro) para el elemento 2 de un conjunto de datos compuesto por tres elementos.
Amazon Forecast permite rellenar tanto la serie temporal objetivo (TTS) como la relacionada (RTS). La fecha de inicio global se define como la fecha de inicio más temprana de entre las fechas de inicio de todos los elementos del conjunto de datos. En el ejemplo siguiente, la fecha de inicio global corresponde a la del elemento 1. Del mismo modo, la fecha de finalización global se define como la última fecha de finalización de todos los elementos de la serie temporal, que en este caso se corresponde con la del elemento 2.
El rellenado frontal rellena todos los valores desde el inicio de esa serie temporal en particular hasta la fecha de inicio global. En el momento de publicar este documento, Amazon Forecast no realiza ningún rellenado frontal y permite que todas las series temporales comiencen en diferentes puntos temporales. El rellenado medio se refiere a la inserción de valores en la mitad de la serie temporal (por ejemplo, entre las fechas de inicio y finalización de los elementos), y el rellenado retroactivo rellena desde la última fecha de esa serie temporal hasta la fecha de finalización global.
Para la serie temporal objetivo, los métodos de rellenado medio y retroactivo tienen una lógica de rellenado predeterminada de cero. El rellenado a futuro (que solo se aplica a las series temporales relacionadas) rellena cualquier valor que falte entre la fecha de finalización global de los elementos y el horizonte de previsión especificado por el cliente. Se requieren valores futuros para usar el conjunto de datos de series temporales relacionadas con Prophet y DeepAR+, y son opcionales para CNN-QR.
Estrategias de gestión de valores faltantes en Amazon Forecast
En la figura anterior, la fecha de inicio global indica la fecha de inicio más temprana de entre las fechas de inicio de todos los elementos, y la fecha de finalización global indica la fecha de finalización más tardía de entre las fechas de finalización de todos los elementos. El horizonte de previsión es el período durante el cual Forecast proporciona predicciones para el valor objetivo.
Este es un escenario común en el estudio de casos prácticos de venta minorista, y representa unas ventas de cero para los datos transaccionales de los productos disponibles. Estos valores se tratan como ceros verdaderos y se utilizan en el componente de evaluación de métricas. Amazon Forecast permite al usuario identificar los valores que faltan realmente y codificarlos como valores no numéricos (NaN) para que los procesen los algoritmos. En este siguiente artículo se examina en qué difieren estos dos casos y cuándo resulta útil cada uno de ellos.
En el caso práctico de venta minorista, la información según la cual un minorista vendió cero unidades de un artículo disponible difiere de la información de que se han vendido cero unidades de un artículo no disponible, ya sea en períodos ajenos a su existencia (por ejemplo, antes de su lanzamiento o después de su retirada de la venta) o durante períodos correspondientes a su existencia (por ejemplo, si se ha agotado parcialmente o si no se han registrado datos de ventas para este intervalo de tiempo). En el primer caso se aplica el rellenado predeterminado de cero. En el segundo caso, aunque el valor objetivo correspondiente suele ser cero, se transmite información adicional en el valor que se marca como faltante. Lo recomendable es conservar la información de que faltaban datos y no descartarla. Consulte el siguiente ejemplo para ver por qué es importante conservar la información.
Amazon Forecast es compatible con una lógica de rellenado adicional de valor, media, mediana, mínimo y máximo. Para las series temporales relacionadas (por ejemplo, precios o promociones), no se especifican valores predeterminados para los métodos de rellenado medio, retroactivo o a futuro, ya que la lógica correcta para los valores faltantes varía según el tipo de atributo y el caso práctico. La lógica de rellenado admitida para las series temporales relacionadas incluye cero, valor, media, mediana, mínimo y máximo.
Para realizar el rellenado de los valores faltantes, especifique los tipos de rellenado que quiera implementar al llamar a la operación CreatePredictor. La lógica de rellenado se especifica en los objetos FeaturizationMethod. Por ejemplo, para codificar un valor que no represente ventas cero de un producto no disponible en la serie temporal objetivo, marque un valor como verdaderamente faltante; para ello, establezca el tipo de rellenado como NaN. A diferencia del rellenado cero, los valores codificados como NaN se consideran verdaderamente faltantes y no se utilizan en el componente de evaluación de métricas
El efecto del rellenado cero en comparación con el rellenado con NaN en las previsiones para el mismo producto
En la figura anterior, en el gráfico de la izquierda, los valores a la izquierda de la línea negra vertical se rellenan con ceros, lo que genera una previsión sesgada a la baja (a la derecha de la línea negra vertical). En el gráfico de la derecha, estos valores están marcados como NaN, lo que permite realizar previsiones adecuadas.
Ejemplo 2
La figura anterior ilustra la importancia de gestionar correctamente los valores faltantes para un modelo de espacios de estado lineal, como ARIMA o ETS. Representa la previsión de la demanda de un producto parcialmente sin existencias. La región de entrenamiento se muestra en verde en el gráfico de la izquierda, el rango de predicción en el panel derecho en rojo, y el objetivo real en negro. Las previsiones de mediana, p10 y p90 se muestran en la línea roja y en la región sombreada, respectivamente. En la parte inferior se muestran los productos sin existencias (80 % de los datos) marcados en rojo. En el gráfico de la izquierda, las áreas sin existencias se ignoran y se rellenan con 0.
Esto hace que los modelos de previsión supongan que hay muchos ceros que predecir y, por lo tanto, las previsiones sean demasiado bajas. En la gráfica de la derecha, las áreas sin existencias se tratan como observaciones de valores verdaderamente faltantes y la demanda se vuelve incierta en la región sin existencias. Si los valores faltantes para los artículos sin existencias se identifican debidamente como NaN, no se observa ningún sesgo a la baja en el rango de predicción de este gráfico. Amazon Forecast rellena estas lagunas en los datos, lo que le facilita la gestión adecuada de los datos faltantes sin tener que modificar explícitamente todos los datos de entrada.
Conceptos de caracterización y series temporales relacionadas
Amazon Forecast permite a los usuarios introducir datos relacionados para ayudar a mejorar la precisión de algunos modelos de previsión compatibles. Estos datos pueden ser de dos tipos: series temporales relacionadas o metadatos de elementos estáticos.
nota
Los metadatos y los datos relacionados se denominan características en machine learning y se utilizan como covariables en las estadísticas.
Las series temporales relacionadas son series temporales que tienen cierta correlación con el valor objetivo y deberían aportar cierta solidez estadística a la previsión sobre el valor objetivo, ya que ofrecen una explicación en términos intuitivos (consulte Amazon Forecast: predicción de series temporales a escala
En Amazon Forecast, puede añadir dos tipos de series temporales relacionadas: series temporales históricas y series temporales prospectivas. Las series temporales relacionadas históricas contienen puntos de datos hasta el horizonte de previsión y no contienen puntos de datos dentro de ese horizonte ni en el futuro. Las series temporales relacionadas prospectivas contienen puntos de datos hasta y dentro del horizonte de previsión.
Diferentes enfoques sobre el uso de series temporales relacionadas con Amazon Forecast
Ejemplo 3
En la siguiente figura se muestra un ejemplo de cómo se pueden utilizar series temporales relacionadas para predecir la demanda futura de un libro popular. La línea azul representa la demanda en la serie temporal objetivo. El precio se muestra como la línea verde. La línea vertical representa la fecha de inicio de la previsión y las previsiones de los dos cuantiles se muestran a la derecha de la línea vertical.
En este ejemplo se utiliza una serie temporal relacionada prospectiva que se alinea con la serie temporal objetivo en cuanto a la granularidad de la previsión y que se conoce en todos los momentos futuros (o la mayoría de ellos) en el intervalo comprendido entre la fecha de inicio de la previsión y la suma de la fecha de inicio de la previsión y el horizonte de previsión (es decir, la fecha de finalización de la previsión).
En la siguiente figura también se muestra que el precio es una función adecuada para utilizar, ya que se pueden observar correlaciones entre una disminución del precio y un aumento de las ventas del producto. Pueden proporcionarse series temporales relacionadas a Amazon Forecast a través de un archivo CSV separado, que contiene la SKU del artículo, la marca temporal y los valores de las series temporales relacionadas (en este caso, el precio).
Amazon Forecast admite métodos de agregación, por ejemplo, por promedio o por suma, para las series temporales objetivo, pero no para las series temporales relacionadas. Por ejemplo, no tiene mucho sentido sumar un precio diario a un precio semanal, y lo mismo ocurre con las promociones diarias.
Amazon Forecast puede incorporar automáticamente información meteorológica y de periodos festivos en un modelo mediante la inclusión de conjuntos de datos con funciones integrados (consulte SupplementaryFeature). La información meteorológica y sobre periodos festivos puede afectar significativamente a la demanda en las ventas minoristas.
Las ventas de un producto en particular (en azul, a la izquierda de la línea roja vertical)
Los metadatos de los productos, también conocidos como variables categóricas, son otras funciones útiles que se pueden introducir en Amazon Forecast (consulte Amazon Forecast: predicción de series temporales a escala