01 · Punto de partida
Del w en el papel al corte en el código
Muchos «eliminan» el calentamiento de palabra pero lo dejan en el promedio por un off-by-one, o lo eliminan distinto en cada réplica. El sesgo inicial sobrevive a la buena intención sin protocolo de truncamiento.
- ¿Qué índices se descartan exactamente?
- ¿En cada réplica o solo en el promedio?
- ¿Cuántos datos útiles quedan (n efectivo)?
- ¿Cómo probar que el corte se aplicó?
02 · Definición
Truncar, no maquillar
Truncamiento
Cortar y tirar 0…w−1. Simple, auditable y el estándar. Todo lo demás son variantes.
MSER / reglas
Elegir w minimizando el error estándar de la media truncada. Automático pero a verificar con gráfico.
Lotes
Batch means tras truncar: promediar por bloques para IC con correlación (Temas 26, 32–33).
| Fase | Pregunta | Producto |
|---|---|---|
| Calentamiento | ¿Cuánto vale w? | w + sensibilidad |
| Eliminación | ¿Se cortó en código? | Serie truncada + n_ef + test |
| Verificación | ¿Cambió el resultado? | Sesgo = cruda − truncada |
03 · Método
Protocolo en 5 pasos
- 1Fijar w desde el Tema 30.
El mismo w para todas las réplicas. w por réplica es p-hacking de tijera.
- 2Truncar antes de promediar.
Primero cortar cada trayectoria, después Welch/promedios. Al revés contamina.
- 3Recalcular n efectivo.
n_ef = (T−w+1) × réplicas para IC y EE (Temas 26–28). Con T corto, w largo deja sin evidencia.
- 4Test de corte aplicado.
Assert: longitud = T−w+1 y primer índice = w. Si alguien mueve w, el test grita.
- 5Reportar sesgo eliminado.
«Cruda 11,6 vs. truncada 13,9 (sesgo −2,3) con w=4, n_ef=108». Sin cifras no hay eliminación.
04 · Técnicas y costo
MSER, lotes y precio del corte
Automático
MSER-5
Prueba cada w y elige el que minimiza s²/(n−w). Útil con muchas réplicas; siempre con gráfico al lado.
Estructural
Lotes tras truncar
Con corrida larga, promediar por bloques decorrelaciona para IC honesto (Temas 32–33). Sin truncar primero, los lotes heredan sesgo.
- n efectivo
- Datos que realmente promedian. w largo + T corto = n_ef pobre e IC ancho: alargar T (Tema 32), no achicar w.
- Off-by-one
- Descartar w−1 o w+1 por confusión de índices. El test de longitud lo caza al instante.
- Reutilizar descarte
- Lo cortado no vuelve para «completar n». Usarlo contamina con la condición inicial.
05 · Representación en Python
Truncar con test que lo custodia
Python en tu navegador. Cambiá W y observá n_ef y sesgo moverse juntos.
serie = [2, 6, 9, 11, 12, 13, 14, 14, 15, 14, 14, 15, 14]
W = 4
trunca = serie[W:] # 0..W-1 fuera, W..T dentro
assert len(trunca) == len(serie) - W, "longitud truncada"
assert trunca[0] == serie[W], "primer índice = w"
cruda = sum(serie)/len(serie)
med = sum(trunca)/len(trunca)
print(f"cruda {cruda:.2f} vs truncada {med:.2f} (sesgo {cruda-med:+.2f})")
print(f"n_ef {len(trunca)}/{len(serie)} ({len(trunca)/len(serie):.0%} útil)")
Sesgo −2,28 con 69% útil: el corte duele en n pero salva el veredicto.
Por réplica, no en el promedio
reps = [[1, 5, 12, 13], [2, 6, 12, 13]]
W = 2
bien = [r[W:] for r in reps] # cortar cada una
mal_prom = sum(sum(r)/len(r) for r in reps)/len(reps)
bien_prom = sum(sum(r)/len(r) for r in bien)/len(bien)
print(f"mal (promediar y cortar): {mal_prom:.2f} vs bien (cortar y promediar): {bien_prom:.2f}")
06 · Exploración
Laboratorio: la tijera y lo que queda
Convergencia a régimen 14 desde tu inicio. Tu w corta (gris fuera, lima dentro). El T total alarga la corrida. Observá n_ef, sesgo eliminado y % útil: cortar de más deja sin evidencia.
Truncar por réplica en vivo
n_ef = T−w+1 · sesgo = cruda − truncada
Con w=4 y T=12 quedan 9 útiles (69%): sesgo −2 eliminado.
Gris: descartado. Lima: lo que promedia. Alargar T recupera n_ef sin tocar w.
Preguntas para explorar
- Con w=4 y T=12: ¿n_ef y % útil? Subí w a 10: ¿n_ef? ¿Qué enseña sobre w voraz con T corto?
- Alargá T a 20 con w=4: ¿n_ef y %? ¿Cómo se paga el corte sin perder evidencia?
- Con inicio 14 (sin sesgo): ¿sesgo eliminado con w=4? ¿Para qué cortar igual un mínimo?
Ver respuestas sugeridas
- 9/13 (69%) → 3/13 (23%): w voraz deja sin n para IC decente. Cortar de más también invalida.
- 17/21 (81%): alargar T recupera evidencia manteniendo el corte. La solución al n_ef pobre es T, no w chico.
- Sesgo ≈ 0: el corte no cambia la media pero protege del ruido inicial. w mínimo = seguro barato.
07 · Comprensión
Confusiones frecuentes
«Trunco en el promedio final»
Truncar el promedio no existe: hay que truncar cada serie y después promediar. Al revés, el sesgo ya entró.
«w distinto por réplica está bien»
No: es elegir evidencia a medida. w único y previo para todas.
«Lo descartado completa n»
Lo cortado está contaminado: no vuelve ni para el IC ni para n*. n_ef manda.
«Con w largo ya no miro»
w largo sin T largo deja n_ef pobre e IC ancho: «no concluyente» por tijera, no por sistema.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: n_ef honesto
¿Útiles y % con T=12 y w=4?
T, w = 13, 4 # 0..12
print(f"{T-w}/{T} = {(T-w)/T:.0%} útil")
Ver solución razonada
9/13 (69%): un tercio se paga por honestidad. Con T=21 sería 81%: alargar paga.
Ejercicio 2: cazar el off-by-one
¿serie[W:] o serie[W+1:] si W=4?
s = list(range(13))
print(len(s[4:]), len(s[5:]), "(9 vs 8: uno de más contamina o desperdicia)")
Ver solución
s[4:] (9): el índice w es el primero útil. s[5:] tira uno de régimen; s[3:] deja uno contaminado. El test de longitud lo fija.
Ejercicio 3: sesgo que justifica el corte
¿Sesgo eliminado en [0, 8, 12, 12] con w=2?
Ver una posible respuesta
s, w = [0, 8, 12, 12], 2
print(f"sesgo {(sum(s)/len(s) - sum(s[w:])/len(s[w:])):+.1f} (cortar salva 4)")
8,0 vs. 12,0 (sesgo −4,0): sin corte la decisión nace 4 abajo. El número justifica la tijera.
09 · Síntesis
Ideas para recordar
- w único y previo; truncar 0…w−1 por réplica antes de promediar.
- n_ef = (T−w+1)×réplicas: lo que realmente decide; test de longitud e índice.
- Sesgo = cruda − truncada: la factura del arranque, publicada.
- w voraz + T corto = sin evidencia: alargar T, no achicar w.
- Lo cortado no vuelve: ni para n, ni para IC.
En el próximo tema decidiremos cuánto simular: longitud de la simulación.