Antes de comenzar
Inspeccionarás la calidad de un dataset real, elegirás variables sin fuga de información, registrarás una hipótesis, entrenarás un modelo de regresión y lo compararás contra líneas base, interpretarás coeficientes y residuales con cuidado, predecirás demanda futura y la convertirás en una decisión de capacidad — sin tratar la predicción como una certeza.
Producirás una evidencia de aprendizaje con tu hipótesis, tus métricas y tu decisión justificada. Tiempo orientativo: 40–50 minutos — es el laboratorio más largo del curso.
¿Cómo pueden los datos históricos y un modelo predictivo apoyar una decisión operativa de capacidad, sin tratar la predicción como una certeza?
- Contexto
- Operaciones de NexoRetail necesita saber cuántos envíos habrá mañana para decidir cuántas instancias de procesamiento reservar.
- Problema
- Antes de predecir hay que preparar los datos correctamente, evitar fugas de información, y comparar el modelo contra una referencia simple — un MAE bajo en términos absolutos no significa nada por sí solo.
- Misión
- Cargar e inspeccionar datos reales, entrenar y evaluar un modelo de regresión lineal múltiple sin librerías externas, e interpretar MAE y RMSE contrastados contra líneas base simples.
- Decisión esperada
- Convertir una predicción de demanda en una decisión de capacidad justificada, reconociendo explícitamente el margen de error del modelo.
Modelo didáctico: este laboratorio utiliza un modelo simplificado para estudiar el flujo de analítica predictiva. Un sistema real requeriría validación adicional, monitoreo, versionado, tratamiento avanzado de datos y revisión del contexto operacional.
Objetivos de la sesión
- Cargar e inspeccionar datos reales con DuckDB-Wasm: perfilado, calidad y preparación mediante SQL real.
- Separar variables de entrada (X) de la variable objetivo (y) sin fuga de información.
- Entrenar y evaluar un modelo de regresión lineal múltiple sin librerías externas.
- Interpretar MAE y RMSE, y contrastarlos contra líneas base simples.
- Convertir una predicción de demanda en una decisión de capacidad justificada.
De los datos a una decisión de capacidad
Todo modelo predictivo parte de separar la variable objetivo (lo que quieres predecir) de las variables de entrada (lo que usas para predecirla), cuidando que ninguna variable de entrada tenga fuga de información (que revele el objetivo de forma directa). Los datos se dividen en train/test respetando el orden temporal, y el modelo entrenado se compara contra una línea base simple usando MAE y RMSE — dos formas de medir el error promedio, la segunda penalizando más los errores grandes. Cada residual (real menos predicho) revela si el modelo falla de forma sistemática en algún patrón. Al final, la predicción se convierte en capacidad, siempre reconociendo su incertidumbre.
Importante: la carga, el perfilado y la preparación de datos (sección "Laboratorio de datos"), así como los cálculos de regresión y métricas, son REALES — se ejecutan de verdad en tu navegador. El escenario predictivo y la interpretación de capacidad de ingeniería son un modelo simplificado/didáctico, pensado para estudiar el flujo completo, no para operar una decisión real sin más validación.
Ver los conceptos en detalle qué son, por qué importan, qué observarás
- Variable objetivo (y)
- Qué es: la cantidad que el modelo debe predecir — la demanda. Por qué importa: define qué está resolviendo el modelo. Observarás: la sección "Variables de entrada (X) y variable objetivo (y)" del Laboratorio de datos.
- Variable de entrada (X)
- Qué es: cada columna que el modelo usa para predecir el objetivo. Por qué importa: su relevancia se refleja en el coeficiente que recibe al entrenar. Observarás: la tabla "Variables usadas por el modelo" y los "Coeficientes entrenados".
- Calidad de datos
- Qué es: nulos, duplicados, valores atípicos y categorías inesperadas detectados antes de entrenar. Por qué importa: entrenar sobre datos sucios produce un modelo poco confiable. Observarás: el botón "Detectar problemas de calidad (SQL real)".
- Fuga de información (leakage)
- Qué es: una variable de entrada que revela directamente el objetivo. Por qué importa: infla artificialmente la precisión del modelo sin que sea útil en producción. Observarás: el sistema bloquea el entrenamiento y muestra una alerta si seleccionas una variable así.
- Train/test
- Qué es: dividir los datos en un conjunto para entrenar y otro, posterior en el tiempo, para evaluar. Por qué importa: evaluar sobre datos ya vistos durante el entrenamiento sobreestima el desempeño real. Observarás: la división temporal (no aleatoria) en la sección de preparación.
- Línea base
- Qué es: una predicción simple de referencia (demanda de ayer, o el promedio histórico). Por qué importa: un modelo solo es útil si supera a una referencia simple. Observarás: la tabla "Métricas: modelo vs. líneas base".
- Regresión
- Qué es: un modelo lineal múltiple entrenado sin librerías externas (eliminación Gauss-Jordan). Por qué importa: sus coeficientes indican asociación, no causalidad. Observarás: la tabla "Coeficientes entrenados".
- Residual
- Qué es: la diferencia entre el valor real y el predicho para un día concreto. Por qué importa: revela si el modelo falla sistemáticamente en ciertos patrones (p. ej. promociones o feriados). Observarás: la tabla "Residuales".
- MAE
- Qué es: el error absoluto medio, en las mismas unidades que la demanda. Por qué importa: es interpretable directamente como "en promedio, el modelo se equivoca por esta cantidad". Observarás: "Error absoluto medio ≈ X% de la demanda media de prueba".
- RMSE
- Qué es: como MAE, pero eleva al cuadrado cada error antes de promediar, penalizando más los errores grandes. Por qué importa: un RMSE mucho mayor que el MAE sugiere errores ocasionales muy grandes. Observarás: la columna "RMSE" junto a "MAE" en la tabla comparativa.
- Predicción / incertidumbre
- Qué es: una estimación del modelo para un escenario futuro, no un valor certero. Por qué importa: la decisión de capacidad debe incluir un margen de seguridad proporcional al error del modelo. Observarás: el texto "Demanda estimada del modelo (no una certeza)" en la sección de decisión.
Pasos del laboratorio
- Inspecciona la calidad de los datos.
- Elige y entiende las variables de entrada disponibles.
- Registra tu hipótesis antes de entrenar.
- Prepara la división train/test.
- Compara el modelo entrenado contra una línea base.
- Interpreta los coeficientes con cuidado (asociación, no causalidad).
- Inspecciona errores y residuales.
- Predice una demanda futura.
- Convierte la predicción en una decisión de capacidad.
- Justifica tu decisión de ingeniería con evidencia.
Hipótesis
Completa las tres preguntas y pulsa «Registrar hipótesis y comenzar» para desbloquear el entrenamiento.
Mientras preparas y entrenas
- Calidad — filas originales frente a utilizables tras la preparación.
- Variables seleccionadas — y cualquier alerta de fuga de información.
- MAE/RMSE del modelo frente a las líneas base.
- Coeficientes entrenados por variable.
- Residuales por día del conjunto de prueba.
Laboratorio de datos: preparación real (DuckDB-Wasm)
DuckDB-Wasm carga, inspecciona, limpia, filtra y prepara REALMENTE el dataset mediante SQL, y extrae la partición train/test. El modelo predictivo (regresión, métricas, predicción, decisión) siempre se calcula después, en Vanilla JS.
Los datos que selecciones o generes aquí se procesan en este navegador y no se envían al servidor del curso ni a ninguna API externa.
Inicializando motor local de datos…
Genera un dataset reproducible: la misma semilla produce siempre el mismo dataset.
Fuente: —
Esquema (DESCRIBE)
Variables de entrada (X) y variable objetivo (y)
Selecciona el objetivo (y) y las variables de entrada (X). Solo columnas numéricas/binarias son seleccionables como X en este laboratorio (las categóricas como región no se codifican aquí). Si seleccionas una variable que revela directamente el objetivo (fuga de información), el sistema la señala y bloquea el entrenamiento.
Variables usadas por el modelo
Cada variable puede aportar información asociada a la demanda (no necesariamente causal): por ejemplo, la demanda del día anterior captura inercia de corto plazo, y las promociones o feriados capturan eventos conocidos de antemano.
Antes de entrenar: ¿qué variable crees que dominará los coeficientes, y por qué podría no ser causal?
Real vs. predicho (conjunto de prueba)
El detalle numérico de cada día de prueba está en la tabla de residuales; este gráfico es un apoyo visual.
Métricas: modelo vs. líneas base
MODELO DIDÁCTICO: regresión lineal múltiple resuelta con eliminación Gauss-Jordan (sin librerías). Un MAE bajo en términos absolutos no significa nada por sí solo; se compara contra líneas base simples.
| Modelo | MAE | RMSE |
|---|
Coeficientes entrenados
Indican asociación dentro de este modelo y este dataset, no causalidad. Por ejemplo, un coeficiente positivo en "promoción" no prueba que la promoción provoque exactamente esa cantidad de demanda adicional.
Entrena y valida el modelo para ver un resumen basado en tus métricas reales.
Aquí verás qué variable dominó los coeficientes y cómo se compara el modelo con las líneas base.
Aquí verás qué margen de seguridad sugiere el error relativo del modelo para la decisión de capacidad.
Residuales (real − predicción)
Los errores no son todos iguales: revisa si hay días donde el modelo falla sistemáticamente más (p. ej. promociones o feriados).
Muestra del dataset (train/test)
Gemelo de decisión: predicción → capacidad
Configura un escenario futuro para obtener una estimación del modelo, no una certeza.
Justifica la capacidad recomendada
Cierre conceptual
Lo que descubriste: cómo convertir una predicción con error conocido en una decisión de capacidad justificada, sin tratarla como certeza.
Concepto para recordar: MAE y RMSE solo tienen sentido comparados contra una línea base — un error bajo en términos absolutos no certifica un buen modelo.
Conexión con el recorrido: esta semana cierra el ciclo, integrando lo trabajado en las siete semanas anteriores en una sola decisión de ingeniería basada en evidencia.
Genera tu evidencia
Continuidad curricular: esta semana recupera todo el laboratorio
Semana 2: el dataset de demanda podría almacenarse en el ecosistema NoSQL diseñado allí.
Semanas 3–4: con más datos, tanto el almacenamiento del histórico como el entrenamiento se distribuirían entre nodos y workers.
Semana 5: en producción, los pedidos reales llegarían por streaming para reentrenar o recalibrar el modelo.
Semana 6: el servicio de predicción necesitaría los mismos controles de confidencialidad, integridad y disponibilidad.
Semana 7: las instancias sugeridas aquí usan la misma conversión demanda→capacidad que el autoescalado multicloud.