01 · Punto de partida
El vacío inicial no es el sistema
Abrís el banco vacío a las 9:00 y medís L de 9:00 a 9:15: da 0.8. El régimen real es L = 4. ¿Mintió el simulador? No: mediste el arranque, cuando el sistema todavía se llena. Todo experimento que nace vacío (o lleno) arrastra un transitorio inicial que sesga las medias a la baja (o al alza).
El período de calentamiento [0, t0) se descarta: se simula pero no se mide. Solo [t0, T] cuenta.
- ¿Cuánto descarto (t0) y cómo lo detecto?
- ¿Qué sesgo mete el arranque en L, Wq y U?
- ¿Warmup o más T: qué conviene?
- ¿Cuándo el warmup no alcanza?
02 · Definición
Transitorio, régimen y corte
Transitorio
El arranque: N(t) sube desde el estado inicial hacia el régimen. Depende de dónde nació (vacío, lleno).
Régimen
La zona donde la media acumulada aplana y las fórmulas valen. Solo ahí se mide.
Warmup
El corte: [0, t0) se simula y se tira. Regla: t0 ≈ 5–10 × W o hasta estabilizar la media móvil.
| t₀ descartado | L medida | Sesgo | Lectura |
|---|---|---|---|
| 0 (nada) | ≈ 3.4 | −15% | El vacío tira abajo |
| 20 | ≈ 3.9 | −3% | Corte razonable |
| 100 (mucho) | ≈ 4.1 ± ruido | ok pero ± | Sin sesgo, poca muestra |
03 · El corazón: detectar el corte
Mirar la media acumulada, no un instante
El método de Welch: promediar N(t) entre réplicas por ventana, suavizar con media móvil y cortar donde aplana. En la práctica del curso: graficar la media acumulada L̂(t) y fijar t0 donde deja de subir (arranque vacío) y oscila en banda.
- 1Simular largo con traza.
Guardar [(t, N)] con arranque declarado (vacío es el defecto).
- 2Graficar media acumulada.
L̂(t) = área[0,t]/t: sube desde 0 hacia L. El codo marca el fin del transitorio.
- 3Fijar t0 y re-medir.
L̂ = área[t0,T]/(T−t0). Un t0 común para todas las réplicas del experimento.
- 4Chequear costo.
Si t0 se come >20% de T, alargar T: warmup sin muestra es cambiar sesgo por ruido.
- Sesgo inicial
- Arrancar vacío subestima L/Wq; arrancar lleno los sobrestima. El signo delata el arranque.
- Welch
- Promedio entre réplicas por instante + media móvil: aplana el ruido y muestra la tendencia. El estándar para fijar t0.
- MSER (regla)
- Minimizar error estándar con truncado óptimo: automatiza el corte. Útil; el gráfico manda igual.
- Calentamiento físico
- Caché fría, turno que hereda cola: el sistema real también calienta. No confundir con el estadístico (este tema).
Sin warmup
Sesgado
Más muestra, media tirada por el arranque. Con ρ alta el sesgo dura decenas de W.
Con warmup
Insesgado (con costo)
Menos muestra, media centrada. Si T ≫ t0, el costo es despreciable.
04 · Ejemplos
Cuatro arranques con historia
- 1Banco que abre vacío.
Primera media hora subestima: t0 ≈ 30 min con W ≈ 6.
- 2Turno que hereda cola.
Arranca lleno: sin warmup sobrestima. Mismo remedio, signo opuesto.
- 3Deploy con caché fría.
Latencia alta al inicio: warmup físico + estadístico juntos.
- 4Sim con ρ = 0.9.
El transitorio dura ~10× W ≈ 100+: t0 = 10 sería decorativo.
05 · Representación en Python
Medir desde t₀ con la traza
El área parcial es el mismo bucle con otra ventana: dos líneas separan medir de calentar.
Python en tu navegador. El primero mide L con/sin corte; el segundo dibuja la media acumulada (el codo). Cambiá t0.
# L con y sin warmup desde traza [(t, N)]
def L_ventana(traza, T, t0=0.0):
area = 0.0
for (t0_, n0), (t1, n1) in zip(traza[:-1], traza[1:]):
a, b = max(t0_, t0), min(t1, T)
if b > a:
area += n0 * (b - a)
return area / (T - t0)
traza = [(0, 0), (5, 2), (10, 4), (20, 4)]
print(f"sin={L_ventana(traza, 20):.2f} con t0=10: {L_ventana(traza, 20, 10):.2f}")
# Media acumulada L(t): el codo delata el transitorio
traza = [(0, 0), (5, 2), (10, 4), (20, 4)]
area = 0.0
for (t0, n0), (t1, n1) in zip(traza[:-1], traza[1:]):
area += n0 * (t1 - t0)
print(f"L({t1})={area/t1:.2f}") # sube 0 -> 1 -> 2.2: aún no aplanó
06 · Exploración
Laboratorio: mover el corte y ver el sesgo
Simulamos M/M/1, ρ = 0.8 (λ = 0.4, S = 2), T = 200, arranque vacío, semilla = réplica. La escalera es N(t); la línea vertical es tu t0; la curva teal es la media acumulada desde t0. Movè t0: con 0 la media queda baja; con 30 se pega a L = 4; con 150 tiembla por falta de muestra.
El corte que centra la media
L̂ = área[t₀,T]/(T−t₀) · ρ=0.8
Mové t₀ para centrar la media.
Lima = N(t); línea blanca vertical = t₀; punteada = L teórica; teal = media acumulada desde t₀.
Preguntas para explorar
- Con ρ=0.8 y t0=0: ¿L cruda vs 4? ¿Sesgo?
- Con t0=30: ¿L con warmup? ¿Y con t0=150?
- Cambiá de réplica con t0=30: ¿cuánto tiembla L? ¿Y con t0=150?
Ver respuestas sugeridas
- ~3.3–3.6 (−10/−18%): el vacío inicial pesa en T=200 con ρ alta.
- t0=30: ~3.8–4.2 (centrada); t0=150: ~3.5–4.5 (centrada pero ruidosa: queda poca muestra).
- Con 30 tiembla ±0.3; con 150 tiembla ±0.8: descartar de más cambia sesgo por varianza.
07 · Comprensión
Confusiones frecuentes
«Descarto el 10% siempre»
El 10% con ρ = 0.5 sobra y con ρ = 0.95 no alcanza. t0 se fija por gráfico/W, no por porcentaje mágico.
«Warmup arregla T corto»
No: con T = 30 y t0 = 15 quedan 15 de muestra ruidosa. Warmup pide T ≫ t0 o es maquillaje.
«Corto donde más me gusta el número»
Elegir t0 mirando el resultado sesga a favor. Se fija por media acumulada/Welch antes de comparar configuraciones.
«Cada réplica con su t₀»
El t0 es del experimento (común a réplicas): cortes distintos mezclan ventanas y rompen la comparación.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: sesgo del arranque
Traza [(0,0),(10,4),(20,4)], T=20. ¿L cruda vs con t0=10?
# cruda: (0*10 + 4*10)/20 = 2.0; con t0=10: 4.0
print(f"cruda={(0*10+4*10)/20:.1f} warmup={4*10/10:.1f}")
Ver solución razonada
2.0 vs 4.0: el arranque vacío parte la media. El corte la duplica (bien).
Ejercicio 2: regla 5–10×W
M/M/1 con W = 10 (ρ=0.8, S=2). ¿t0 sugerido? ¿% de T=200?
W, T = 10.0, 200.0
print(f"t0={5*W:.0f}-{10*W:.0f} ({5*W/T:.0%}-{10*W/T:.0%} de T)")
Ver solución
t0 ≈ 50–100 (25–50% de T): con ρ alta el warmup muerde; conviene T mayor (Tema 42–43).
Ejercicio 3: costo de descartar
T=200, t0=150. ¿Muestra útil? ¿Qué harías?
Ver una posible respuesta
T, t0 = 200, 150
print(f"muestra={T-t0} ({(T-t0)/T:.0%}): alargar T a 500+ o aceptar varianza")
25% útil: alargar T (lo correcto) o bajar t0 si el gráfico lo permite.
09 · Síntesis
Ideas para recordar
- El arranque sesga: vacío subestima, lleno sobrestima.
- L̂ = área[t0,T]/(T−t0); t0 por media acumulada/Welch, ≈ 5–10×W.
- t0 común al experimento; reportar (T, t0, %).
- Warmup quita sesgo, no crea muestra: T ≫ t0.
- No arregla ρ ≥ 1, T corto ni bugs de medición.
En el próximo tema miraremos ese arranque de frente: el estado transitorio.