Simulación de Eventos Discretos · Tema 47

Comparación de configuraciones

Decidir con réplicas y escenarios — del “parece mejor” al veredicto con intervalo.

01 · Punto de partida

Una réplica es una anécdota

Corrés c = 2 vs 3 una vez: Wq 7.9 vs 1.2, “gana B”. Otra semilla: 9.4 vs 0.6, “gana B”. Otra: 6.8 vs 1.5… siempre B, pero ¿por cuánto y con qué confianza? Con R = 8 réplicas pareadas (misma historia en ambas), la diferencia media D̄ ≈ 7.5 ± 0.6 (IC 95%): veredicto B por 7–8 min, no “parece”.

Comparar es estimar la diferencia con su incertidumbre: sin intervalo no hay decisión, hay opinión con semillas.

  • ¿Cuántas réplicas y con qué semillas?
  • ¿Pareadas o independientes?
  • ¿Cómo se lee el intervalo de la diferencia?
  • ¿Cuándo el veredicto es sólido y cuándo es ruido?

02 · Definición

Réplicas, pareo e intervalo

R

Réplicas

R historias con semillas distintas (5–15 típico). Más R angosta el IC en 1/√R.

=

Pareo

Misma semilla/arribos en A y B (números comunes): el ruido compartido se cancela en Di.

±

Intervalo

D̄ ± t·s/√R (95%): rango creíble de la ventaja. Fuera el 0 ⇒ veredicto; dentro ⇒ empate técnico.

Duelo c = 2 vs 3 (a = 1.8), 5 réplicas pareadas de Wq.
RéplicaA (c=2)B (c=3)D = A−B
1–57.9, 9.4, 6.8, 8.8, 8.11.2, 0.6, 1.5, 0.9, 1.06.7, 8.8, 5.3, 7.9, 7.1
Media ± IC8.21.07.2 ± 1.4 ⇒ gana B

03 · El corazón: el protocolo del veredicto

Parear, replicar, intervalar, decidir

misma historia→R réplicas→IC de D→veredicto
  1. 1
    Parear historias.

    Mismos arribos y servicios en A y B (semilla compartida por réplica i). El azar común no contamina Di.

  2. 2
    Replicar R ≥ 5–10.

    Semillas distintas por i, warmup y T iguales en ambas. Fijar R antes de mirar.

  3. 3
    Intervalar la diferencia.

    D̄ ± t·s/√R al 95%. El ancho manda: angosto ⇒ evidencia; ancho con 0 dentro ⇒ empate.

  4. 4
    Decidir con costo.

    Signo + magnitud + precio (Tema 46): 1% sólido pero irrelevante no se compra.

Números comunes
CRN: la misma U genera arribos/servicios en ambas: Di pierde la varianza compartida. El pareo típico afina ×2–5.
Potencia
Capacidad de detectar la mejora: crece con R y T, cae con varianza. Mejoras chicas piden R grande.
Significancia ≠ relevancia
IC fuera del 0 con D̄ = 0.1 min es sólido e irrelevante: se decide por magnitud + costo, no por p.
Testigo A-vs-A
Misma config, semillas distintas: D̄ ≈ 0 calibra el ruido. Mejoras menores que el testigo exigen más R.

Pareada

Fina

Misma historia por i: el IC se angosta sin más cómputo. La defecto para comparar configs.

Independiente

Ancha (a veces obligada)

Semillas distintas por config: necesaria si los escenarios difieren en λ (distinta historia por diseño).

04 · Ejemplos

Tres veredictos con intervalo

  1. 1
    Banco 2 vs 3 (a = 1.8).

    D̄ ≈ 7.5 ± 0.7: veredicto B sólido y relevante (paga el puesto).

  2. 2
    FIFO vs PRIO global.

    D̄ ≈ 0 ± 0.4: empate global (el reparto no crea capacidad); el veredicto vive por clase.

  3. 3
    Turno noche 3 vs 4.

    D̄ ≈ 0.3 ± 0.5 con 0 dentro: empate técnico; el 4º no se compra con estos datos.

05 · Representación en Python

comparar() que da veredicto

Diferencias pareadas + t de Student aproximada: el informe en un dict.

Python en tu navegador. El primero calcula el IC de la tabla; el segundo decide con regla explícita. Fijá R antes.

# IC 95% de la diferencia (t de Student chica incluida)
import statistics
T_T = {4: 2.776, 9: 2.262, 29: 2.045}
def IC(difs):
    n = len(difs)
    m = statistics.mean(difs)
    s = statistics.stdev(difs)
    t = T_T.get(n-1, 2.0)
    h = t*s/(n**0.5)
    return m, h

D = [6.7, 8.8, 5.3, 7.9, 7.1]
m, h = IC(D)
print(f"D={m:.1f} ± {h:.1f} -> {'gana B' if m-h > 0 else 'empate'}")
# Réplicas pareadas mini: misma historia, c=2 vs 3 (T=120)
import random
def Wq_historia(hist, c, mu=0.5):
    libres = [0.0]*c
    wqs = []
    for t, s in hist:
        k = min(range(c), key=lambda j: libres[j])
        ini = max(t, libres[k])
        libres[k] = ini + s
        wqs.append(ini - t)
    return sum(wqs)/len(wqs)

rng = random.Random(47)
t = 0.0
hist = []
while t < 120:
    t += rng.expovariate(0.9)
    hist.append((t, rng.expovariate(0.5)))
print(f"A={Wq_historia(hist, 2):.1f} B={Wq_historia(hist, 3):.1f} D={Wq_historia(hist, 2)-Wq_historia(hist, 3):.1f}")

06 · Exploración

Laboratorio: el veredicto se angosta con R

Duelo A vs B (par elegible) con R réplicas pareadas: misma historia de arribos/servicios en ambas (S = 2, T = 150). Cada punto es una Di; la banda es el IC 95%. Subí R y mirá cómo se angosta; cambiá el par y mirá cómo se achica la mejora.

EXPERIMENTO 47

Diferencias pareadas con intervalo

Dᵢ = WqA − WqB · T=150 · S=2

Los resultados numéricos aparecen debajo.
Diferencia media0
IC 95% ±0
Veredicto—
Réplicas R0

Subí R para angostar el veredicto.

Puntos = Di por réplica; banda = IC 95%; cero = empate. Si la banda no toca el cero, hay ganador.

Preguntas para explorar

  1. Con R=8, λ=0.45, c2 vs c3: ¿D̄? ¿El IC toca el cero?
  2. Bajá a R=3: ¿qué le pasa al ancho? ¿Y con R=15?
  3. Pasá a c3 vs c4: ¿D̄ vs antes? ¿Sigue fuera del cero?
Ver respuestas sugeridas
  1. D̄ ≈ 0.4 ± 0.15, fuera del cero: gana c3 (a = 0.9, mejora chica pero sólida).
  2. R=3 lo ensancha (~±0.5, puede tocar el cero → empate); R=15 lo parte (~±0.1): el ancho cae en 1/√R.
  3. D̄ ≈ 0.05 ± 0.04, al borde del empate: retornos decrecientes también en evidencia (pide más R o no se compra).

07 · Comprensión

Confusiones frecuentes

«Una réplica por config alcanza»

Una es anécdota con varianza total: el veredicto pide R ≥ 5–10 con intervalo. Sin IC no hay decisión.

«Parear es hacer trampa»

Al revés: es varianza común cancelada (CRN). Lo tramposo es comparar historias distintas y culpar a la config.

«IC angosto = modelo correcto»

Es precisión, no exactitud: con sesgo común (T corto, sin warmup) el IC compara sesgos con confianza.

«Más R arregla el sesgo»

Más R achica varianza, no quita sesgo: el arranque se quita con warmup, no con réplicas.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: IC a mano

D = [6.7, 8.8, 5.3, 7.9, 7.1]. ¿D̄, s, IC? ¿Veredicto?

# D̄≈7.2, s≈1.3, IC≈±1.6 (t=2.776, R=5): gana B sólido
print("0 fuera del [5.6, 8.8]: veredicto B")
Ver solución razonada

Con la función del bloque: 7.2 ± 1.6. El cero queda lejos: evidencia y magnitud.

Ejercicio 2: precio de R

IC ±1.6 con R=5. ¿Ancho con R=20? ¿Y para partirlo a la mitad?

# ancho ~ 1/sqrt(R): R=20 -> ±0.8; mitad -> R×4 (de 5 a 20)
print("La evidencia cara se compra en R al cuadrado")
Ver solución

±0.8 con R=20; partir el ancho pide ×4 réplicas. Mejoras chicas = presupuesto grande.

Ejercicio 3: testigo A-vs-A

Misma config, 8 semillas distintas. ¿D̄ esperada? ¿Para qué sirve?

Ver una posible respuesta
# ≈0 ± ruido: si tu duelo da menos que el testigo, es ruido
print("Calibra el piso: mejoras bajo el testigo piden más R")

≈ 0: mide el ruido del experimento. Veredictos bajo ese piso no se firman.

09 · Síntesis

Ideas para recordar

  • Di pareadas + R ≥ 5–10 + IC 95%: el veredicto en un número con banda.
  • Parear (CRN) afina sin costo; R se fija antes de mirar.
  • Fuera el 0 ⇒ ganador; dentro ⇒ empate técnico (más R o no se compra).
  • IC = precisión, no exactitud: primero auditoría, después duelo.
  • Signo + magnitud + costo: la significancia sola no compra.

En el próximo tema aplicaremos todo a la calle: atención al público.