Modelos y Simulación · Tema 06

Abstracción y simplificación

Qué incluir y qué dejar fuera: abstraer es conservar lo esencial para el objetivo y declarar lo descartado.

01 · Punto de partida

Modelar es elegir qué ignorar

Un modelo que reproduce todo no es un modelo: es una copia cara e inútil. La abstracción conserva la estructura que responde al objetivo y descarta el resto; la simplificación reemplaza mecanismos complejos por reglas manejables.

La pregunta no es «¿es realista?» sino «¿es suficiente para el objetivo y honesta sobre lo que deja fuera?».

  • ¿Qué detalle cambia la decisión y cuál no?
  • ¿Qué puedo agregar, promediar o linealizar sin romper la respuesta?
  • ¿Qué descarto y dónde lo declaro?
  • ¿Cómo compruebo que la simplificación no arruinó el modelo?

02 · Técnicas

Cinco formas de simplificar

∅

Ignorar

Sacar lo irrelevante: el color de los autos no cambia el flujo del peaje.

Σ

Agregar

Sumarizar: 24 horas de ventas en un total diario o un promedio.

〜

Suavizar

Reemplazar ruido por promedios: la tendencia importa, el pico aislado no.

  1. 4
    Linealizar.

    Tratar como recta lo que es curvo en un rango corto: válido cerca, falso lejos.

  2. 5
    Discretizar.

    Pasar de continuo a pasos: medir por hora en vez de por segundo.

Cada técnica ahorra algo y arriesga algo.
TécnicaEjemploAhorraRiesgo
IgnorarSin marcas de autos en el peajeDatos y parámetrosPerder una causa real
AgregarTotal diario en vez de 24 horasCómputo y ruidoOcultar picos críticos
SuavizarPromedio móvil de demandaEstabilidadReaccionar tarde
LinealizarCosto fijo por unidadCálculoFallar fuera del rango

03 · Costo del detalle

Más detalle no es mejor modelo

Modelo simple

Barato y discutible

Pocos parámetros, datos conseguibles, supuestos visibles. Falla a lo grande y se nota.

Modelo recargado

Caro y frágil

Cada detalle pide datos, calibración y mantenimiento. Falla en silencio por un parámetro mal estimado.

Resolución
Finura del recorte temporal o espacial: por segundo, por hora, por día.
Granularidad
Tamaño de la unidad modelada: cada cliente o el total por hora.
Agregación
Combinar detalle en totales o promedios para operar más barato.
Sobreajuste
Modelo tan pegado a datos pasados que falla con datos nuevos.

04 · Regla práctica

Empezar simple y agregar por evidencia

Modelo mínimo→Comparar→Agregar detalle→¿Mejoró la decisión?

La estrategia ganadora es iterativa: modelo mínimo, comparación contra datos, y solo entonces agregar el detalle que la evidencia reclama. El Tema 19 (nivel de detalle) y el Tema 40 (sensibilidad) darán herramientas para decidirlo.

05 · En Python

Agregar datos: del detalle al total

Las mismas ventas por hora pueden mirarse con tres lentes: detalle horario, total diario y promedio. Cada lente cuesta distinto y responde distinto.

Python en tu navegador. Ejecutá y cambiá la resolución: el fenómeno es el mismo, el modelo cambia.

ventas_hora = [5, 8, 6, 9, 12, 15, 14, 11]

total = sum(ventas_hora)
promedio = total / len(ventas_hora)
print("total:", total, "promedio:", round(promedio, 2))
print("detalle:", ventas_hora)

Cuándo la agregación engaña

El total oculta los picos: dos días con igual total pueden necesitar dotaciones distintas si uno concentra ventas en dos horas.

def pico(horas):
    return max(horas)

dia_parejo = [10, 10, 10, 10, 10, 10, 10, 10]
dia_picado = [5, 5, 5, 30, 5, 5, 5, 20]
print("totales:", sum(dia_parejo), sum(dia_picado))
print("picos:", pico(dia_parejo), pico(dia_picado))

06 · Exploración

Laboratorio: resolución y error

La curva es la «realidad» con ruido; los escalones son el modelo que promedia por bloques de paso horas. Achicá el paso y mirá cómo cae el error… y sube el costo.

EXPERIMENTO 06

Muestrear por bloques

promedio por bloque vs. realidad

Los resultados numéricos aparecen debajo.
Muestras (24 h)12
Error medio1,42
Costo relativo50%
LecturaEquilibrado

Con bloques de 2 h, el error medio es bajo a mitad de costo.

La línea fina es la realidad; los escalones son el modelo agregado. El área entre ambos es el error de simplificación.

Preguntas para explorar

  1. Con paso 6, ¿qué picos desaparecen del modelo?
  2. Con ruido 3 y paso 1, ¿el modelo sigue a la señal o al ruido?
  3. ¿Qué paso elegirías si cada muestra cuesta dinero?
Ver respuestas sugeridas
  1. Los más angostos que el bloque: se promedian con sus vecinos y desaparecen del modelo.
  2. Al ruido: con paso 1 el modelo sigue cada oscilación ruidosa en vez de la señal.
  3. El más grueso que decida bien: mirá dónde el error deja de bajar y el costo sigue subiendo.

07 · Comprensión

Confusiones frecuentes

«Simplificar es hacer trampa»

Simplificar con supuestos declarados es el oficio; la trampa es simplificar a escondidas y prometer validez total.

«El promedio representa el día»

Solo si los picos no importan. Para dimensionar cajas o servidores, el pico manda y el promedio engaña.

«Ya agregaremos detalle después»

Si el detalle bruto se descarta, después no hay vuelta atrás. Se guarda el detalle y se agrega por código.

«Suavizar elimina el problema»

Suavizar esconde el ruido pero también retrasa la señal: un promedio móvil detecta tarde los cambios bruscos.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: tres lentes

Calculá total, promedio y pico de estas ventas y decidí qué lente usarías para pedir stock y cuál para dimensionar cajas.

ventas = [4, 6, 5, 22, 6, 5, 4, 12]
print("total:", sum(ventas))
print("promedio:", round(sum(ventas) / len(ventas), 2))
print("pico:", max(ventas))
Ver solución razonada

Total 64, promedio 8.0, pico 22. Para stock alcanza el total; para cajas manda el pico de 22: el promedio escondería la hora crítica.

Ejercicio 2: agregar por bloques

Agregá estas 8 horas en bloques de 2 (sumas parciales) y compará el pico por bloque contra el pico horario.

ventas = [5, 8, 6, 9, 12, 15, 14, 11]
bloques = [ventas[i] + ventas[i + 1] for i in range(0, len(ventas), 2)]
print("bloques:", bloques)
print("pico horario:", max(ventas), "pico por bloque:", max(bloques))
Ver solución

Los bloques son [13, 15, 27, 25]: el pico por bloque (27) cuenta otra historia que el pico horario (15). Cambiar la resolución cambia la métrica.

Ejercicio 3: declarar lo descartado

Escribí el diccionario de supuestos de un modelo que usa promedio diario para dimensionar un servidor. ¿Qué falta?

Ver una posible respuesta
supuestos = {
    "resolucion": "promedio diario",
    "descartado": ["picos horarios", "rafagas de trafico", "caidas"],
    "vale_si": "trafico parejo sin picos mayores al doble del promedio",
}
print(supuestos["vale_si"])

El modelo vale solo con tráfico parejo. Si aparece un pico, el supuesto avisa que hay que cambiar de resolución: el descarte declarado es lo que lo hace revisable.

09 · Síntesis

Ideas para recordar

  • Abstraer es conservar lo esencial para el objetivo y declarar lo descartado.
  • Ignorar, agregar, suavizar, linealizar y discretizar son las técnicas básicas.
  • El detalle cuesta datos y fragilidad: debe cambiar la decisión para justificarse.
  • El promedio oculta picos: para capacidad manda el pico.
  • Se guarda el detalle bruto y se agrega por código, nunca al revés.

En el próximo tema separaremos los ingredientes numéricos: variables, parámetros y constantes.