Modelos y Simulación · Tema 29

Recolección de datos

Fuentes, medición y calidad: el modelo come lo que medís.

01 · Punto de partida

Basura adentro, basura afuera

El mejor modelo con malos datos decide mal: parámetros calibrados con una semana atípica, validación contra mediciones sesgadas, picos que nadie registró. Recolectar es diseñar qué medir, cómo y cuánto antes de necesitarlo.

  • ¿Qué dato alimenta cada parámetro y cada validación?
  • ¿La muestra cubre picos, valles y rarezas?
  • ¿Qué falta, qué sobra y qué miente?
  • ¿Cómo se registra la limpieza aplicada?

02 · Fuentes

Dónde conseguir números

◉

Medición

Sensores y conteos propios: caros pero a medida y auditables.

▤

Registros

Logs y planillas existentes: baratos pero con huecos y formatos ajenos.

◈

Sintéticos

Generados para probar: útiles para depurar, inválidos para validar.

Cada fuente pide y da distinto.
FuenteCuestaRiesgo
Conteo manualTiempo de personasMuestra corta, horarios cómodos
Logs del sistemaLimpiezaHuecos, cambios de formato
EncuestasDiseño y sesgoResponden lo que creen que querés
SintéticosNadaValidar contra inventos

03 · Calidad

Cuatro controles antes de usar

  1. 1
    Completitud.

    ¿Faltan horas, días, casos? Lo faltante se marca, nunca se esconde.

  2. 2
    Atípicos.

    ¿120 donde todo da 10? Sensor roto o pico real: hay que decidirlo.

  3. 3
    Representatividad.

    ¿La muestra incluye picos y valles, o solo días tranquilos?

  4. 4
    Oportunidad.

    ¿Los datos son del régimen vigente o de otro mundo?

Dato bueno

Cubre y avisa

Incluye rarezas, marca faltantes y documenta su limpieza.

Dato malo

Esconde y sesga

Semana tranquila como «típica», huecos rellenados en silencio.

Faltante
Hueco marcado como tal, con regla de relleno declarada.
Atípico
Valor extremo: error o evento real, se investiga.
Sesgo
Desvío sistemático de la muestra respecto a la realidad.
Limpieza
Transformaciones aplicadas, registradas y reversibles.

04 · Plan de medición

Medir a propósito

Qué necesito→Dónde está→Cómo lo limpio→Dónde lo guardo

La frecuencia la manda el fenómeno (Tema 19): para picos horarios no sirve el total diario. Y el período debe cubrir rarezas, no solo rutina.

05 · En Python

Limpiar dejando huellas

Python en tu navegador. Cada valor limpio trae su marca: lo tocado se nota.

crudos = [5, 8, None, 9, 120, 15, 14, 11]


def limpiar(xs, tope=50):
    # None -> anterior; atípico -> tope. Todo marcado.
    limpios, marcas = [], []
    ultimo = xs[0]
    for x in xs:
        if x is None:
            x, marca = ultimo, "relleno"
        elif x > tope:
            x, marca = tope, "recorte"
        else:
            marca = "ok"
        limpios.append(x)
        marcas.append(marca)
        ultimo = x
    return limpios, marcas


print(limpiar(crudos))

Resumir y sospechar

def resumen(xs):
    return {"n": len(xs), "media": round(sum(xs) / len(xs), 2),
            "min": min(xs), "max": max(xs)}


print(resumen([5, 8, 8, 9, 50, 15, 14, 11]))

06 · Exploración

Laboratorio: la media que miente

Agregá faltantes y atípicos a la serie base. La media cruda se dispara; la limpia resiste. ¿Cuánto contamina cada defecto?

EXPERIMENTO 29

Basura adentro…

base [5, 8, 6, 9, 12, 15, 14, 11]

Los resultados numéricos aparecen debajo.
Media cruda26,00
Media limpia15,00
Contaminación16,00
LecturaContaminada

Un atípico de 120 más que duplica la media: la limpieza la devuelve a 15.

Barras grises: crudos con defectos. Lima: serie limpia. La línea marca la media verdadera (10).

Preguntas para explorar

  1. Con 0 atípicos y 4 faltantes, ¿la media limpia se mantiene? ¿Por qué el relleno no la mueve mucho?
  2. Subí la magnitud a 200. ¿La media cruda todavía describe algo?
  3. ¿Qué defecto es peor para decidir: faltantes o atípicos?
Ver respuestas sugeridas
  1. Sí: rellenar con el anterior conserva el nivel local. El faltante avisa; el atípico miente.
  2. No: un solo valor domina el promedio. Las medias sin limpieza son rehenes del peor dato.
  3. El atípico silencioso: el faltante se ve, el atípico se promedia disimulado.

07 · Comprensión

Confusiones frecuentes

«Hay datos, entonces hay muestra»

Hay registros; muestra es otra cosa: cobertura de picos, valles y rarezas del régimen vigente.

«El atípico siempre se borra»

A veces es el evento más importante (el pico que dimensiona). Se investiga, no se borra por reflejo.

«Sintéticos sirven para validar»

Sirven para depurar el código, nunca para validar contra la realidad. Validar con inventos es teatro.

«Limpiar es opcional si el modelo es bueno»

Al revés: cuanto mejor el modelo, más lo daña el dato malo. La limpieza es parte del modelo.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: limpiar con marcas

Limpiá [5, 8, None, 9, 120, 15, 14, 11] y mostrá qué se tocó.

def limpiar(xs, tope=50):
    limpios, marcas = [], []
    ultimo = xs[0]
    for x in xs:
        if x is None:
            x, marca = ultimo, "relleno"
        elif x > tope:
            x, marca = tope, "recorte"
        else:
            marca = "ok"
        limpios.append(x)
        marcas.append(marca)
        ultimo = x
    return limpios, marcas


print(limpiar([5, 8, None, 9, 120, 15, 14, 11]))
Ver solución razonada

Da ([5, 8, 8, 9, 50, 15, 14, 11], ['ok', 'ok', 'relleno', 'ok', 'recorte', 'ok', 'ok', 'ok']): dos toques, ambos marcados.

Ejercicio 2: el recorte distorsiona

Compará la media limpia contra la media de los datos sanos originales [5, 8, 6, 9, 12, 15, 14, 11].

sanos = [5, 8, 6, 9, 12, 15, 14, 11]
limpios = [5, 8, 8, 9, 50, 15, 14, 11]
print(sum(sanos) / len(sanos), sum(limpios) / len(limpios))
Ver solución

Dan 10.0 y 15.0: hasta la limpieza honesta deja huella. Por eso se registra.

Ejercicio 3: plan de medición

Escribí el plan mínimo para medir llegadas de una fila durante una semana.

Ver una posible respuesta
plan = {
    "que": "llegadas por hora",
    "cuando": "toda la semana, picos incluidos",
    "frecuencia": "cada hora",
    "responsable": "caja 1",
}
print(plan)

Qué, cuándo, cada cuánto y quién: sin esas cuatro, la medición no ocurre.

09 · Síntesis

Ideas para recordar

  • Los datos alimentan parámetros, inicios y validación.
  • Completitud, atípicos, representatividad y oportunidad antes de usar.
  • El atípico se investiga; el faltante se marca; todo se registra.
  • Sintéticos para depurar, jamás para validar.
  • En Python: crudos + código de limpieza + limpios, siempre.

En el próximo tema construiremos con esos datos: la construcción del modelo.