Glosario

Red neuronal: qué es y cuándo compensa usarla para prever stock

Por , fundador de Arume · · lectura de 6 min

Definición

Una red neuronal es un modelo de aprendizaje automático formado por capas de unidades llamadas neuronas. Cada una combina sus entradas con unos pesos y aplica una función no lineal, lo que permite aprender relaciones complejas entre las variables y la venta. Tiene muchos ajustes que afinar y es sensible a la escala de los datos. Con tablas de ventas por producto y sitio compite con el gradient boosting; no gana siempre.

Es el modelo del que más se habla y el que menos se entiende. Una red neuronal es, en el fondo, una cadena de cuentas sencillas con pesos que se ajustan hasta que la salida se parece a lo que ocurrió. Sirve para prever, con ventajas reales y con límites que conviene conocer antes de dejarle las compras.

Qué es exactamente

Una red neuronal artificial es un modelo que aprende una función que transforma unas entradas en una salida. El tipo más básico, el perceptrón multicapa, tiene una capa de entrada, una o varias capas ocultas y una capa de salida. Según la documentación de scikit-learn, cada neurona oculta calcula una suma ponderada de sus entradas y le aplica una función de activación no lineal, como la tangente hiperbólica. Esa no linealidad es lo que permite a la red ajustar relaciones que un modelo lineal no capta.

Aprender significa ajustar los pesos: se parte de valores aleatorios, se compara la salida con la respuesta real y se corrige poco a poco para reducir el error. La documentación señala que las redes pueden aprender en tiempo real, con actualizaciones por lotes pequeños (partial_fit), algo útil cuando llegan datos cada día.

También se le llama

Red neuronal artificial, perceptrón multicapa (MLP), neural network, y aprendizaje profundo (deep learning) cuando tiene muchas capas. En previsión de series temporales hay arquitecturas específicas, como las redes recurrentes o las que usan atención, pero comparten el mismo principio de pesos que se ajustan con el error.

Un ejemplo

Una cadena de ópticas quiere prever la venta semanal de un tipo de lentilla en cada tienda. Alimenta una red sencilla con tres entradas: ventas de la semana anterior, ventas medias de las cuatro anteriores y semana del año. Pone una capa oculta de 8 neuronas y una salida.

Los parámetros se cuentan así: entre la entrada y la capa oculta hay 3 × 8 = 24 pesos más 8 sesgos, 32 en total; entre la capa oculta y la salida, 8 pesos más 1 sesgo, 9. En total 41 números que ajustar. Para una previsión con tres variables parece mucho, y lo es: con pocos datos, una red así puede memorizar el historial. Con millones de filas, a cambio, aprovecha esa flexibilidad para captar combinaciones que nadie pensó en escribir.

La red recibe las variables en rangos muy distintos: ventas de 0 a 300 y semana de 1 a 52. Si no se igualan, las grandes dominan el aprendizaje. Por eso se escalan antes, por ejemplo a media 0 y desviación 1.

Ojo con esto

Las limitaciones que enumera la propia documentación de scikit-learn, traducidas a stock:

  • Resultados distintos según el arranque: la función de error no es convexa y tiene varios mínimos locales, así que dos entrenamientos con pesos iniciales distintos pueden dar previsiones algo diferentes. Se entrenan varias y se promedian.
  • Muchos ajustes: número de neuronas, de capas y de iteraciones. Elegirlos mal da una red que no aprende o que memoriza.
  • Sensibilidad a la escala: hay que escalar las variables, y el escalado se calcula solo con los datos de entrenamiento, no con los de prueba.
  • Menos explicable: saber por qué una red propuso 15 y no 12 exige técnicas añadidas. Un árbol de decisión se explica solo.

Dónde aparece en el sistema

Entra como candidata en la previsión de demanda, no como obligación. En datos de tabla (producto, sitio, semana, promoción) el gradient boosting suele rendir igual o mejor con menos ajustes, así que una red se mantiene solo si en el backtest gana a las alternativas.

Lo que importa a quien aprueba el pedido es la explicación. Si un modelo no puede decir de dónde sale una cifra, el asistente no puede contestar «¿por qué mandas 15?», y eso pesa más que una décima de error.

Términos relacionados

Aprendizaje automático, gradient boosting, sobreajuste, explicabilidad y ingeniería de variables.

Preguntas frecuentes

¿Una red neuronal es lo mismo que ChatGPT?

ChatGPT es un modelo de lenguaje, que se construye con redes neuronales muy grandes. Una red que prevé ventas es mucho más pequeña y trabaja con números. Las dos usan el mismo principio, pero hacen trabajos distintos.

¿Necesitamos muchos datos para una red neuronal?

Cuantos más, mejor se aprovecha su flexibilidad. Con pocas series y poco historial, un método sencillo suele ser más seguro y más fácil de explicar.

¿Por qué no se usa siempre, si es lo más avanzado?

Porque avanzado no significa más preciso en todos los casos. En tablas de ventas, otros modelos más simples igualan su acierto con menos esfuerzo. Se elige el que gane en el backtest.

Fuentes

  1. scikit-learn: Neural network models (supervised), perceptrón multicapa, ventajas y desventajas, escalado
  2. scikit-learn: Preprocessing data (estandarización y escalado)

¿Quieres saber qué pasa con tu stock?

Mándanos un export de ventas y stock y te devolvemos un informe corto: roturas, dinero parado y qué cambiaríamos primero. Sin compromiso.

hello@arume.io

Escríbenos por WhatsApp

Cuéntanos tu proyecto

Te contesta Manuel en menos de 48 horas laborables. Sin compromiso.

O por WhatsApp