01 · Punto de partida
El azar se elige, no se adivina
Ya conocés 8 familias (temas 17 a 24). Ahora la pregunta es cuál usar para cada variable del simulador. La respuesta sale del fenómeno, no del gusto: ¿es sí/no, conteo con n, conteo en tiempo, espera o medida? Tres preguntas filtran el 90 % de los casos; los datos confirman (tema 34).
Elegir mal es caro: normal para esperas genera tiempos negativos; exponencial para medidas simétricas esconde el centro; Poisson con picos subestima refuerzos.
- ¿La variable cuenta, mide o marca sí/no?
- ¿Hay n fijo, ventana de tiempo o etapas?
- ¿La tasa es pareja o hay picos/dependencia?
- ¿Los datos sostienen la forma elegida?
02 · Definición
Mapa de decisión en 4 preguntas
¿Sí/no?
Un intento → Bernoulli. n intentos → Binomial. Hasta el primero → Geométrica.
¿Conteo?
n fijo → Binomial. Ventana de tiempo → Poisson. Sin n ni ventana clara → revisar.
¿Tiempo o medida?
Espera 1 etapa → Exponencial. Varias etapas → Gamma. Medida simétrica → Normal. Solo rango → Uniforme.
| Fenómeno | Candidata | Parámetro clave |
|---|---|---|
| Compra por visita | Bernoulli/Binomial | p = tasa |
| Llegadas/hora | Poisson | λ = tasa |
| Espera entre llegadas | Exponencial | λ igual tasa |
| Atención en 3 pasos | Gamma/Erlang | k = 3, λ por paso |
| Medida con centro | Normal | μ, σ |
| Solo min–max | Uniforme | a, b |
03 · Filtros que descartan
Preguntas que eliminan candidatas
Filtros duros
Descartan de una
¿Negativos imposibles? Fuera normal sin truncar. ¿Picos horarios? Fuera tasa única. ¿p que cambia? Fuera binomial simple.
Filtros blandos
Piden datos
¿Simétrica o sesgada? ¿Colas largas? ¿Moda interior o en 0? El histograma (tema 29) responde.
- Soporte
- [0,∞) descarta normal pura; {0,1} descarta conteos; n fijo descarta Poisson.
- Tasa
- Picos piden tramos o mixtas; tasa pareja sostiene Poisson/Exp.
- Etapas
- 1 etapa Exp; k etapas Gamma; paralelas otra (mínimos/máximos).
- Parsimonia
- Entre dos que ajustan, la más simple (menos parámetros) gana hasta tener más datos.
04 · Ejemplos
Cinco decisiones típicas
- 1Conversión.
Sí/no por visita → Bernoulli(p), conteo diario → Binomial. Verificar p estable.
- 2Llegadas.
8/hora parejas → Poisson(8). Con pico, λ por hora.
- 3Espera.
Entre llegadas con tasa pareja → Exp(8/hora). Media 7,5 min.
- 4Servicio 3 pasos.
Gamma/Erlang k = 3. Más regular que exponencial simple.
- 5Medida.
Peso 100 ± 2 g simétrico → Normal. Tiempo con mínimo → no normal.
05 · Representación en Python
Función que elige y genera
Python en tu navegador. El mapa hecho código: cada rama un generador.
import random
def generar(familia, **p):
if familia == "bernoulli":
return 1 if random.random() < p["p"] else 0
if familia == "binomial":
return sum(random.random() < p["p"] for _ in range(p["n"]))
if familia == "poisson_knuth":
import math
L, k, q = math.exp(-p["lam"]), 0, 1.0
while True:
k += 1; q *= random.random()
if q <= L: return k-1
if familia == "exp":
return random.expovariate(p["lam"])
if familia == "normal":
return random.gauss(p["mu"], p["sigma"])
if familia == "uniforme":
return random.uniform(p["a"], p["b"])
random.seed(251)
print("venta:", generar("bernoulli", p=0.12))
print("llegadas:", generar("poisson_knuth", lam=8))
print("espera:", round(generar("exp", lam=8), 3))
Consejo: esta función es tu catálogo: cada variable del simulador llama con su familia y parámetros declarados.
Chequeo rápido de candidata
import random, statistics
random.seed(4)
# ¿Exp(0.5) para esperas? media debe ≈ s ≈ 2
xs = [random.expovariate(0.5) for _ in range(3000)]
print(round(statistics.mean(xs), 2), round(statistics.stdev(xs), 2))
06 · Exploración
Laboratorio: catálogo vivo
Elegí el fenómeno: el laboratorio propone familia, parámetros y genera N valores con su histograma + curva exacta. Compará formas y colas antes de decidir en tu modelo.
Fenómeno → distribución
catálogo: Bern · Bin · Pois · Exp · Norm
Cada fenómeno trae su familia natural.
El deslizador «Ajuste» mueve el parámetro clave: p, λ, μ o σ según el fenómeno. La curva blanca es la exacta.
Preguntas para explorar
- En llegadas, subí λ al máximo. ¿La forma se vuelve campana? ¿Por qué?
- En espera, bajá λ al mínimo. ¿Qué pasa con la cola?
- ¿Qué fenómeno NO admite normal sin truncar? ¿Por qué?
Ver respuestas sugeridas
- Sí: Poisson grande se simetriza (puente a normal, tema 23). Tasa alta estabiliza relativamente.
- Se alarga muchísimo: tasa baja = esperas larguísimas probables. Dimensionar con colas, no con media.
- Espera y reintentos (≥ 0 con pico en 0/chico): la campana simétrica generaría negativos y escondería la asimetría.
07 · Comprensión
Confusiones frecuentes
«Cualquiera sirve si calibro parámetros»
No: forma equivocada con parámetros óptimos sigue equivocada en colas. Primero familia, después números.
«Normal para todo continuo»
Solo medidas simétricas sin límites duros. Tiempos y conteos piden sus familias.
«Poisson con picos promediados»
Promediar picos esconde el refuerzo necesario. Partir en tramos con λ propio.
«Elegir es definitivo»
Es hipótesis inicial: se verifica con histograma y colas (tema 34) y se cambia si no cierra.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: clasificar 5 variables
Compra por visita, llegadas/hora, espera, peso de pieza, intentos hasta cierre. Asigná familia y justificá en una línea.
mapa = {
"compra": "Bernoulli(p): sí/no por visita",
"llegadas": "Poisson(lam): conteo por hora, tasa pareja",
"espera": "Exp(lam): tiempo entre llegadas",
"peso": "Normal(mu,sigma): medida simétrica",
"cierre": "Geom(p): intentos hasta primero",
}
for k, v in mapa.items():
print(k, "→", v)
Ver solución razonada
El mapa del laboratorio en 5 líneas. Cada justificación menciona soporte/tasa/forma: así se audita.
Ejercicio 2: descartar por soporte
Tiempo de atención ≥ 0 con media 5 y s = 5. ¿Normal N(5,5)? ¿Exponencial Exp(0,2)? ¿Por qué?
# Normal generaría ~16% negativos; Exp tiene E=s=5. Candidata: Exp.
print("P(X<0|N(5,5)) ≈ 0.16 → descarta normal sin truncar")
Ver solución
Exponencial: soporte correcto y firma E = s. Normal pura fabricaría tiempos negativos.
Ejercicio 3: documentar elección
Escribí el bloque de parámetros de tu simulador con familia + motivo para demanda, llegadas y atención.
Ver una posible respuesta
modelo = {
"demanda": ("uniforme", {"a": 6, "b": 14}, "solo rango confiable"),
"llegadas": ("poisson", {"lam": 8}, "tasa pareja 8/h"),
"atencion": ("exponencial", {"lam": 12}, "1 etapa, sin memoria"),
}
print(modelo)
Familia + parámetros + motivo: el contrato mínimo de cada variable aleatoria del modelo.
09 · Síntesis
Ideas para recordar
- Sí/no → Bernoulli/Binomial/Geométrica; conteo-tiempo → Poisson; espera → Exp/Gamma; medida → Normal; rango → Uniforme.
- Soporte, tasa y etapas descartan más rápido que los datos.
- Parsimonia: la más simple que cierra gana hasta tener más datos.
- La elección es hipótesis: se verifica con histograma y colas (tema 34).
- Documentá familia + parámetros + motivo por variable.
En el próximo tema calibraremos números: parámetros de una distribución.