Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Note
Los grupos de interés de la comunidad ahora se han movido de Yammer a Microsoft Viva Engage. Para unirse a una comunidad de Viva Engage y participar en las últimas discusiones, complete el formulario Solicitud de acceso a la Comunidad de Viva Engage de Finanzas y Operaciones y elija la comunidad a la que desea unirse.
El planeamiento de la demanda en Microsoft Dynamics 365 Supply Chain Management incluye cuatro algoritmos populares de previsión de demanda: auto-ARIMA, ETS, Prophet y XGBoost.
- Auto-ARIMA funciona bien con datos fijos. Los datos estacionarios son datos que tienen una media constante, una desviación estándar constante y ninguna estacionalidad.
- El error, la tendencia y la estacionalidad (ETS) funcionan bien si su caso empresarial es sencillo y los datos tienen varios patrones, como tendencias lineales o exponenciales, o si desea que la previsión dé más peso a los datos más recientes.
- Prophet funciona mejor con datos complejos del mundo real.
- eXtreme Gradient Boosting (XGBoost) puede generar una previsión basada en varias entradas.
Además, el planeamiento de la demanda proporciona un algoritmo de modelo de ajuste óptimo , que selecciona automáticamente lo mejor de los algoritmos disponibles para cada combinación de producto y dimensión. La planeación de la demanda también le permite desarrollar y usar sus propios algoritmos personalizados.
En Demand Planning, elija un algoritmo de previsión al colocar y configurar una Previsión o una Previsión con señales en un modelo de previsión. Después, utilice ese modelo de previsión en un perfil de predicción para generar una previsión.
En este artículo se describe cómo funciona cada algoritmo y su idoneidad para diferentes tipos de datos históricos de demanda.
Cuándo usar cada algoritmo de previsión
El algoritmo de previsión de la demanda que utilice depende de las características específicas de sus datos históricos. En la tabla siguiente se muestran los algoritmos de previsión de entrada única más adecuados para cada uno de los distintos escenarios empresariales. XGBoost se excluye de esta tabla, ya que siempre se usa para la previsión de varias entradas. Para la mayoría de los otros escenarios, use el algoritmo de modelo más adecuado, ya que selecciona automáticamente el algoritmo de previsión correcto para cada combinación de producto y dimensión.
| Escenario | Auto-ARIMA | ETS | Prophet |
|---|---|---|---|
| Caso de negocio simple | Aceptable | Recomendado | Aceptable |
| La serie temporal tiene una tendencia diferente (lineal/exponencial) y varios tipos de estacionalidad. | No se recomienda | Recomendado | Recomendado |
| La serie temporal muestra una tendencia lineal clara. | Recomendado | Recomendado | Aceptable |
| Los datos son fijos. | Recomendado | No se recomienda | Aceptable |
| Los datos no son estacionarios. | No se recomienda | Aceptable | Recomendado |
| Se requiere una previsión rápida. | No se recomienda | Recomendado | Aceptable |
| La previsión se centra en un período reciente. | Aceptable | Recomendado | Aceptable |
Algoritmo de modelo de ajuste óptimo
El algoritmo de modelo de ajuste óptimo determina automáticamente cuál de los otros algoritmos de entrada única disponibles (auto-ARIMA, ETS o Prophet) se ajusta mejor a los datos para cada combinación de producto y dimensión. De este modo, puede usar diferentes modelos para diferentes productos. En la mayoría de los casos, use el mejor modelo de ajuste, ya que combina los puntos fuertes de todos los demás modelos estándar. En el ejemplo siguiente se muestra cómo.
Ejemplo de cómo funciona el mejor algoritmo de modelo de ajuste
En este ejemplo, tiene datos históricos de series temporales de demanda que incluyen las siguientes combinaciones de dimensiones.
| Producto | Tienda |
|---|---|
| A | 1 |
| A | 2 |
| B | 1 |
| B | 2 |
Al ejecutar un cálculo de previsión mediante el modelo Prophet, obtendrá los siguientes resultados. En este ejemplo, el sistema siempre usa el modelo Prophet, independientemente del error de porcentaje absoluto medio calculado (MAPE) para cada combinación de producto y dimensión.
| Producto | Tienda | Modelo de previsión | MAPE |
|---|---|---|---|
| A | 1 | Prophet | 0.12 |
| A | 2 | Prophet | 0.56 |
| B | 1 | Prophet | 0.65 |
| B | 2 | Prophet | 0.09 |
Al ejecutar un cálculo de previsión mediante el modelo ETS, obtendrá los siguientes resultados. En este ejemplo, el sistema siempre usa el modelo ETS, independientemente del MAPE calculado para cada combinación de producto y dimensión.
| Producto | Tienda | Modelo de previsión | MAPE |
|---|---|---|---|
| A | 1 | ETS | 0.18 |
| A | 2 | ETS | 0.15 |
| B | 1 | ETS | 0.21 |
| B | 2 | ETS | 0,31 |
Cuando se ejecuta un cálculo de previsión mediante el mejor modelo de ajuste, el sistema optimiza la selección del modelo para cada combinación de producto y dimensión. La selección cambia en función de los patrones que se encuentran en los datos históricos de ventas.
| Producto | Tienda | Profeta MAPE | Auto-ARIMA MAPE | ETS MAPE | Modelo de previsión de ajuste óptimo | El mejor ajuste para MAPE |
|---|---|---|---|---|---|---|
| A | 1 | 0.12 | 0.34 | 0.18 | Prophet | 0.12 |
| A | 2 | 0.56 | 0.23 | 0.15 | ETS | 0.15 |
| B | 1 | 0.65 | 0.09 | 0.21 | Auto-ARIMA | 0.09 |
| B | 2 | 0,10 | 0,27 | 0,31 | Prophet | 0,10 |
En el gráfico siguiente se muestra la previsión general de ventas en todas las dimensiones (todos los productos de todas las tiendas) durante los próximos nueve meses, que se encuentran mediante tres modelos de previsión diferentes. La línea verde representa el mejor modelo de ajuste. Dado que el modelo de ajuste óptimo selecciona el mejor modelo de previsión para cada combinación de producto y dimensión, evita los valores atípicos que pueden producirse si se usa un único modelo para todas las combinaciones de dimensiones. Como resultado, la previsión general de mejor ajuste es similar a la media de las previsiones del modelo único.
Leyenda:
- Rojo – Sólo profeta.
- Azul: solo ETS.
- Verde : mejor ajuste.
Versiones del modelo de mejor ajuste
El algoritmo de modelo más adecuado está disponible en varias versiones, como se describe en la tabla siguiente. Normalmente, debe usar la versión más reciente que esté disponible. Sin embargo, para asegurarse de que todos los modelos de previsión existentes siguen funcionando, las versiones anteriores siguen estando disponibles y admitidas hasta que se notifiquen más. Para usar uno de estos algoritmos, seleccione la versión adecuada en la configuración del paso Previsión del modelo de previsión.
| Nombre | Versión necesaria | Descripción |
|---|---|---|
| Modelo de ajuste óptimo: versión 1 | Plan de demanda versión 1.0.0.1067 o posterior | Funciona como se describe en esta sección |
| Modelo de ajuste óptimo: versión 2 (versión preliminar) | Versión de planeación de demanda 1.0.0.3424 o posterior | Igual que la versión 1, pero con los cambios siguientes:
|
| Modelo de ajuste óptimo: versión 3 (versión preliminar) | Plan de demanda versión 1.1.0.4 o posterior | Igual que la versión 2, pero agrega compatibilidad con el método de Croston para la previsión en función de la demanda intermitente (que es datos de demanda con muchos períodos de demanda cero y demandas ocasionales no cero). |
Importante
- Modelo de ajuste óptimo: versión 2 y Modelo de ajuste óptimo: la versión 3 son características en versión preliminar.
- Las características en versión preliminar no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están sujetas a términos de uso complementarios. Están disponibles antes de una versión oficial para que los clientes puedan obtener acceso anticipado y proporcionar comentarios.
Auto-ARIMA: El deleite del viajero en el tiempo
El algoritmo auto-ARIMA es como una máquina de tiempo. Le lleva en un recorrido por los patrones de demanda anteriores para que pueda realizar predicciones informadas sobre el futuro.
Auto-ARIMA usa una técnica conocida como ARIMA. El nombre ARIMA es una abreviatura de los tres componentes clave que combina la técnica:
- AR es breve para "regresiva automática". Este componente retrocede la serie temporal en sus propios valores anteriores. Captura la influencia de los valores anteriores en el valor actual.
- Es breve para "integrado". Este componente, que también se conoce como diferenciación, es un paso que el modelo lleva a transformar una serie temporal no estacionaria en datos estacionarios.
- MA es breve para "media móvil". Este componente tiene en cuenta los errores de previsión anteriores y mejora la precisión del modelo suavizando el ruido.
Por lo tanto, la técnica ARIMA combina la autorregresión y las medias móviles tras diferenciar los datos. La predicción final combina la influencia de los valores anteriores y los ajustes de los errores anteriores.
El algoritmo auto-ARIMA identifica automáticamente la mejor combinación de los tres componentes para crear un modelo de previsión que se adapte a los datos. Sigue estos pasos para generar previsiones:
- Aplique diferencias en los datos si no son estacionarios.
- Busque la correlación entre los puntos de datos con retraso.
- Calcule el error de media móvil.
Auto-ARIMA funciona especialmente bien con datos de series temporales que muestran un patrón estable a lo largo del tiempo, como fluctuaciones o tendencias estacionales. Si la demanda histórica sigue una trayectoria razonablemente coherente, es posible que prefiera usar auto-ARIMA como método de previsión.
Ecuaciones del algoritmo Auto-ARIMA
Cálculo regresivo automático
El componente AR usa la ecuación siguiente:
Y(t) = c + ɸ1Y(t-1) + ɸ2Y(t−2) + ... + ɸpY(t-p) + ε(t)
Clave:
- Y(t): valor en el momento t.
- c : una constante.
- ɸ1, ɸ2, … ɸp – Coeficientes del modelo.
- ε(t): término de error de ruido blanco.
Cálculo de media móvil
El componente MA usa la ecuación siguiente:
Y(t) = c + ε(t) + Θ1ε(t−1) + Θ2ε(t−2) + ... + Θqε(t−q)
Clave:
- Y(t): valor en el momento t.
- c : una constante.
- ε(t), ε(t-1), ... ε(t-q) – Términos de error en el momento t, t-1, ... t−q.
- ϴ1, ϴ2, … Θq – Coeficientes del modelo.
Cálculo de ARIMA
El algoritmo auto-ARIMA combina los componentes AR y MA mediante la siguiente ecuación:
ARIMA = AR + MA (después de diferenciar la serie temporal)
ETS: El cambiaformas
ETS es un algoritmo versátil de previsión de la demanda que se adapta a la forma de sus datos. Cambia su enfoque en función de las características de su demanda histórica. Por lo tanto, es adecuado para una amplia gama de escenarios.
El nombre ETS es una abreviatura de los tres componentes esenciales en los que el algoritmo descompone los datos de serie temporal en:
- E es breve para "error". Este componente captura el ruido aleatorio o las fluctuaciones irregulares.
- T es breve para "tendencia". Este componente representa la dirección general de los datos a lo largo del tiempo: aumento, disminución o constante.
- S es breve para "estacionalidad". Este componente refleja patrones o ciclos repetitivos en los datos (por ejemplo, anual o mensual).
Al comprender y modelar estos componentes, ETS genera pronósticos que capturan los patrones subyacentes en sus datos.
ETS prevé puntos de datos futuros aplicando ponderaciones variables a observaciones diferentes. Los puntos de datos más recientes tienen más peso que los más antiguos. ETS también puede descomponer la serie temporal en componentes de error, tendencia y estacionalidad. (El error procede del ruido y las fluctuaciones de la serie temporal). ETS usa el parámetro de período estacional que estableció como índice estacional, calcula la tendencia en el horizonte próximo e intenta varios valores para determinar qué se ajusta. Por último, prevé el error y lo combina con los componentes de tendencia y estacionalidad estimados.
El planeamiento de la demanda en administración de cadenas de suministros determina qué "sabor" de ETS es más adecuado para cada serie temporal y lo aplica en consecuencia.
Esta es una explicación paso a paso del algoritmo:
Descomponer componentes. Divida la serie temporal en los tres componentes: error (E), tendencia (T) y estacionalidad (S).
Seleccione modelos para los componentes. Cada componente sigue un modelo aditivo :
ETS(A,A,A): error aditivo, tendencia aditiva, estacionalidad aditiva.
Especifique los estados iniciales. Calcule los valores iniciales para los estados de nivel, tendencia y estacionalidad del modelo para iniciar el proceso de actualización recursiva. El nivel es la previsión básica, que el modelo actualiza a medida que se entrena.
Actualice los estados. A medida que llegan nuevos puntos de datos, actualice los estados del modelo (nivel, tendencia y estacionalidad) mediante ecuaciones de suavizado ponderado.
Previsión. Predecir valores futuros mediante la combinación de las estimaciones más recientes del nivel, la tendencia y la estacionalidad.
Ecuación del algoritmo ETS
El algoritmo ETS usa la siguiente ecuación:
F(t+1) = αA(t) + [1-α]F(t)
Clave:
- F(t+1): el valor previsto.
- F(t): valor previsto anterior.
- A(t): valor histórico real.
- α : constante de suavizado (0 ≤ α ≤ 1).
Profeta: El visionario gurú de la previsión
El equipo de investigación de Facebook desarrolló Prophet. Es un algoritmo de pronóstico moderno y flexible que puede manejar los desafíos de los datos del mundo real. Es especialmente eficaz para manejar valores faltantes, valores atípicos y patrones complejos. Funciona mejor con datos estacionales, tiene en cuenta los días festivos durante la previsión y no necesita mucho preprocesamiento.
Prophet trabaja descomponiendo los datos de series temporales en varios componentes, como tendencia, estacionalidad y días festivos, y luego ajustando un modelo a cada componente. Este enfoque permite a Prophet capturar con precisión los matices de sus datos y producir pronósticos confiables. Prophet es ideal para empresas con patrones de demanda irregulares o valores atípicos frecuentes. También es ideal para empresas afectadas por eventos especiales, como vacaciones o promociones.
El algoritmo Prophet sigue estos pasos para generar previsiones:
- Descompone la serie temporal en componentes de tendencia, estacionalidad y vacaciones.
- Detecte y gestione los puntos de cambio para los cambios en la tendencia.
- Use la serie Fourier para patrones estacionales.
- Agregue regresores vacacionales para eventos irregulares.
- Ajuste los parámetros del modelo mediante la optimización bayesiana.
- Genere predicciones e intervalos de incertidumbre.
Ecuación del algoritmo Prophet
El algoritmo Prophet usa la siguiente ecuación:
y(t) = g(t) + s(t) + h(t) + ε(t)
Clave:
- g(t): valor que captura los cambios de tendencia noperiódicos a lo largo del tiempo. El algoritmo calcula este valor mediante una ecuación de tendencia lineal por partes.
- s(t): valor que representa patrones periódicos de estacionalidad, como patrones diarios, semanales o anuales. El algoritmo modela este valor mediante la serie Fourier.
- h(t): valor que tiene en cuenta los efectos conocidos e irregulares causados por días festivos o eventos especiales. El algoritmo trata estos efectos como regresores adicionales, lo que proporciona flexibilidad en el modelado de eventos especiales.
- ε(t): ruido aleatorio o variabilidad no explicada.
XGBoost
A diferencia de los otros algoritmos descritos en este artículo, eXtreme Gradient Boosting (XGBoost) genera una previsión basada en varias entradas. Actualmente es el único algoritmo que puede usar en el paso Previsión con señales del modelo de previsión en Demand Planning. Además, solo ese tipo de paso lo admite. Obtenga más información sobre cómo configurar modelos de previsión que usan XGBoost y la entrada de señales en Previsión con señales.
XGBoost es una implementación altamente eficaz y escalable del aumento por gradiente. Crea un conjunto de árboles de decisión para realizar predicciones. Las subsecciones siguientes desglosan cada uno de los componentes.
Árboles de decisión
Un árbol de decisión es un modelo de aprendizaje automático que divide los datos en subconjuntos basados en valores de señal (también conocidos como dimensiones o características) y forma una estructura similar a un árbol. En el ejemplo siguiente se muestran las ventas en función de los datos meteorológicos.
[Is temp > 25°C?]
/ \
Yes No
/ \
[Is temp > 30°C?] [Is temp > 15°C?]
/ \ / \
Yes No Yes No
/ \ / \
Leaf: 80 Leaf: 60 [Is temp > 10°C?] Leaf: 20
/ \
Yes No
/ \
Leaf: 40 Leaf: 10
Este árbol de decisión avanza de la siguiente manera:
Nodo raíz : el árbol se divide en función de si la temperatura supera los 25°C:
- Sí : vaya al subárbol izquierdo.
- No : vaya al subárbol derecho.
Subárbol izquierdo (temp > 25°C): el árbol se divide más en función de si la temperatura supera los 30°C:
- Sí : predecir 80 ventas.
- No – Predicción de 60 ventas.
Subárbol derecho (temp ≤ 25°C): el árbol se divide en función de si la temperatura supera los 15°C:
Sí : el árbol se divide aún más en función de si la temperatura supera los 10°C:
- Sí : predecir 40 ventas.
- No : predecir 10 ventas.
No – Predecir 20 ventas.
Aprendizaje de conjuntos
El aprendizaje conjunto es un enfoque de aprendizaje automático que combina varios modelos (a menudo denominados aprendices débiles) para realizar predicciones. La salida combinada de muchos modelos suele ser más precisa y sólida que cualquier modelo único.
Un tipo de aprendizaje de conjunto se conoce como boosting. En este enfoque, los modelos se compilan secuencialmente y cada modelo corrige los errores del anterior.
Potenciación de degradado
El aumento de gradiente es una técnica de aprendizaje automático eficaz que se puede utilizar tanto para problemas de regresión (que es el caso aquí) como de clasificación. Crea un conjunto de modelos débiles (normalmente árboles de decisión) secuencialmente, y cada modelo se centra en reducir los errores (residuales) que realizaron los modelos anteriores.
El aumento del degradado captura eficazmente relaciones complejas entre señales (también conocidas como variables exógenas) y los datos de entrada (también conocidos como la variable de destino). También proporciona un mejor rendimiento predictivo que otros métodos.
Funcionamiento del algoritmo XGBoost
XGBoost es una implementación altamente eficaz y escalable del aumento por gradiente. Crea un conjunto de árboles de decisión para realizar predicciones. Esta es una explicación paso a paso de cómo funciona:
Inicialice predicciones.
- Tarea : empiece por predecir un valor base para todas las instancias.
- Propósito – el valor base suele ser la media de la variable de destino para la regresión o las probabilidades logarítmicas para la clasificación.
Calcule los valores residuales (gradientes).
- Tarea : calcule los valores residuales o degradados, que representan la diferencia entre los valores predichos y reales.
- Propósito : estos valores residuales sirven como señal de error que el modelo intenta minimizar.
Ajuste un árbol de decisiones.
Tarea : entrene un nuevo árbol de decisión mediante los valores residuales (degradados) como valores de destino.
Propósito : el árbol predice los ajustes de las predicciones del modelo anterior.
Detalles clave
- XGBoost usa un algoritmo codicioso para dividir los datos.
- Las divisiones se seleccionan en función de la ganancia en la función objetivo, que se regulariza para evitar el sobreajuste.
Regularice el crecimiento del árbol.
Tarea : aplique restricciones para evitar el sobreajuste.
Propósito : la regularización ayuda a generalizar el modelo y a mantener el rendimiento en datos no vistos.
Técnicas
- Profundidad del árbol : limite la profundidad máxima de los árboles.
- Pesos de hojas: penalice únicamente los árboles excesivamente complejos agregando términos de regularización.
- Ganancia de división mínima : permite una división solo si se produce una mejora mínima en la función de pérdida.
Actualizar predicciones.
- Tarea : ajuste las predicciones agregando las salidas del nuevo árbol.
- Propósito : este paso reduce el error progresivamente.
Repite el proceso.
Tarea : repita los pasos del 2 al 5 para agregar más árboles secuencialmente.
Propósito : cada árbol reduce los valores residuales y, por tanto, mejora gradualmente el modelo.
Criterios de detención
- Un número fijo de árboles se implementa en el algoritmo de la aplicación de planeamiento de demanda.
- No hay ninguna mejora significativa en la función de pérdida (convergencia).
Combine árboles para la predicción final.
- Tarea : agregue las salidas de todos los árboles para generar la predicción final.
- Propósito : cada árbol contribuye al resultado final. Por lo tanto, se crea un efecto de conjunto.
Algoritmo personalizado de Azure Machine Learning
Si tiene un algoritmo de Azure Machine Learning personalizado que desea usar con los modelos de previsión, puede usarlo en el planeamiento de la demanda.