Simulación Basada en Agentes · Tema 45

Validación de modelos

Comparar con datos y patrones reales: del modelo lindo al modelo que se banca la calle.

01 · Punto de partida

El modelo que se banca datos

En el Tema 44 el número medía el orden interno. Ahora el afuera juzga: datos y patrones reales contra curva del modelo. La validación une medición (Tema 44), réplicas (Tema 42) y calibración en un veredicto que se puede repetir.

Por eso el modelo lindo no alcanza: si no reproduce la S, el pico o la cola real, es juguete. Validar es ponerle calle al laboratorio.

  • ¿Qué dato o patrón real se quiere reproducir?
  • ¿Con qué parámetros se calibró?
  • ¿Cuánto se desvía el modelo del dato?
  • ¿Pasa en datos nuevos o solo en los viejos?

02 · Definición

Dato, patrón y ajuste

Toda validación combina qué exige la calle, qué da el modelo y cuánto se separan:

📊

Dato

Serie o cifra real: adopción por año, pico de casos. Sin dato no hay examen.

🌀

Patrón

Forma que se exige: S, pico, cola. A veces valida la forma antes que el número.

📐

Ajuste

Error entre modelo y dato: medio absoluto en puntos. Chica valida, grande rechaza.

La misma exigencia en cada dominio.
MundoPatrón realError típico
Adopcióncurva S (Tema 30)puntos fuera de la S
Epidemiapico y cola (Tema 32)pico corrido o alto
Tráficoflujo que cae (Tema 33)techo en otra densidad
Barriosislas visibles (Tema 29)mezcla donde hay grumos

03 · Prueba

Ajustar que tienta frente a validar que exige

Calibrar abraza los datos viejos; validar exige datos nuevos. Confundirlos es autoengañarse.

Calibración

Abraza lo visto

Busca p y q: minimiza error viejo. Necesaria pero miente si se vende como prueba.

Validación

Rinde lo no visto

Prueba en nuevo: error nuevo chico. La que decide si el modelo sale a la calle.

Validación
Prueba en datos o patrones no usados para calibrar. Se mide con error medio y forma.
Calibración
Ajuste de parámetros a datos viejos: abraza lo visto. Sin validación es promesa.
Sobreajuste
Abrazo tan fuerte que copia ruido: rinde viejo y falla nuevo. Muchos parámetros, poca calle.
Patrón
Forma cualitativa exigida: S, pico, oscilación. Valida antes que el decimal.

04 · Ciclo

La ronda que rinde examen

Cada validación fija patrón, corre gemelos y compara, en este orden:

patrón→corrida→compara
  1. 1
    Fijar patrón y error.

    Serie real más tolerancia: qué forma y cuánto desvío se banca.

  2. 2
    Correr calibrado.

    Modelo con p y q fijos y semilla: la curva que rinde examen.

  3. 3
    Comparar con veredicto.

    Error medio contra tolerancia: valida, ajusta o rechaza.

05 · Representación en Python

Error que juzga sin gritar

El error medio es un promedio de distancias. El veredicto es una comparación contra tolerancia.

Python en tu navegador. Subí el ruido y observá cómo el mismo modelo pasa de validar a rechazar.

def error_medio(modelo, dato):
    return sum(abs(m - d) for m, d in zip(modelo, dato)) / len(dato)

print(round(error_medio([0.2, 0.5], [0.25, 0.45]), 3))

Da 0,05: cinco puntos de desvío medio. Número con veredicto pendiente.

Veredicto con tolerancia

Chico valida, medio ajusta y grande rechaza: la tolerancia se declara antes.

def veredicto(error, tol=0.08):
    return "valida" if error <= tol else "rechaza"

print(veredicto(0.05), veredicto(0.15))

06 · Exploración

Laboratorio: calle que juzga curva

Datos reales fijos en gris con forma S durante 15 rondas. El modelo usa publicidad p y contagio q con ruido. Verde modelo, gris dato. ¿Qué p y q dejan el error bajo 8 puntos?

EXPERIMENTO 45

El examen de la S

error = promedio |modelo − dato|

Los resultados numéricos aparecen debajo.
Error0,00
Final real0,00
Final modelo0,00
LecturaValida

Con p 0,03 y q 0,40, el modelo valida.

Dos curvas S en el tiempo: gris dato fijo, verde modelo con tus parámetros. El error promedia la distancia por ronda. Pulsá Nueva réplica para otro ruido con la misma p y q.

Preguntas para explorar

  1. Con p = 0 y q = 0, ¿el error es chico? ¿Por qué sin motores no hay S aunque haya ruido?
  2. Subí q al máximo con p media. ¿El modelo se adelanta? ¿Qué motor corre la S a la izquierda?
  3. Repetí 3 veces con valores medios. ¿El veredicto cambia? ¿Qué parte es p–q y qué parte es ruido?
Ver respuestas sugeridas
  1. No: plano contra S es error grande. Sin siembra ni contagio no hay curva que validar.
  2. Sí: contagio alto dispara antes y el error sube por adelanto. q mueve el tiempo, no solo el nivel.
  3. A veces: el ruido mueve el borde del veredicto. p–q pone el centro, el ruido mueve el decimal.

07 · Comprensión

Confusiones frecuentes

«Validar es calibrar»

Calibrar abraza viejos; validar rinde nuevos. Vender ajuste como prueba es sobreajuste con diploma.

«Error chico es verdad»

Chico es ajuste, no verdad: con muchos parámetros hasta el ruido se abraza. Simple que valida vale doble.

«Patrón es decorado»

Patrón es examen previo al decimal: sin S no hay error que valga. Forma primero, número después.

«Una validación cierra»

Una valida un patrón; el modelo rinde varios o no sale. S, pico y cola: examen múltiple.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: error que mide

Ejecutá y compará cerca contra lejos. Luego igualá modelo y dato.

def error_medio(m, d): return sum(abs(a - b) for a, b in zip(m, d)) / len(d)
print(error_medio([0.5], [0.55]), error_medio([0.5], [0.9]), error_medio([0.5], [0.5]))
Ver solución razonada

Da 0,05, 0,4 y 0,0: cerca valida, lejos rechaza e igual clava. El promedio juzga.

Ejercicio 2: predecir el veredicto

Sin ejecutar primero: error 0,06 con tolerancia 0,08. ¿Veredicto? ¿Y con 0,12?

print(0.06 <= 0.08, 0.12 <= 0.08)
Ver solución

Da True y False: valida y rechaza. La tolerancia decide antes que el deseo.

Ejercicio 3: parte que juzga

Si calibrás con 2020–2022, ¿con qué validás? Escribilo en una línea.

Ver una posible respuesta
print("con 2023 no visto")

Con datos nuevos no usados: viejos ajustan, nuevos juzgan. Partir o mentir.

09 · Síntesis

Ideas para recordar

  • Validar es dato real contra curva con error medio y tolerancia.
  • Calibrar abraza viejos; validar rinde nuevos.
  • Sin partir datos el error miente por sobreajuste.
  • Patrón primero y decimal después.
  • En Python, promedio de |modelo − dato| contra tolerancia.

En el próximo tema escalaremos de decenas a millones de agentes: qué aguanta y qué se rompe.