Validación y Análisis · Tema 31

Eliminación del sesgo inicial

Detectar w (Tema 30) fue el diagnóstico; ahora la cirugía: truncar el arranque en código, sin dejar restos que contaminen.

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).

Detectar (T30) frente a eliminar (T31).
FasePreguntaProducto
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

  1. 1
    Fijar w desde el Tema 30.

    El mismo w para todas las réplicas. w por réplica es p-hacking de tijera.

  2. 2
    Truncar antes de promediar.

    Primero cortar cada trayectoria, después Welch/promedios. Al revés contamina.

  3. 3
    Recalcular n efectivo.

    n_ef = (T−w+1) × réplicas para IC y EE (Temas 26–28). Con T corto, w largo deja sin evidencia.

  4. 4
    Test de corte aplicado.

    Assert: longitud = T−w+1 y primer índice = w. Si alguien mueve w, el test grita.

  5. 5
    Reportar sesgo eliminado.

    «Cruda 11,6 vs. truncada 13,9 (sesgo −2,3) con w=4, n_ef=108». Sin cifras no hay eliminación.

w fijo→cortar por réplica→n_ef→test + sesgo

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.

EXPERIMENTO 31

Truncar por réplica en vivo

n_ef = T−w+1 · sesgo = cruda − truncada

Los resultados numéricos aparecen debajo.
n_ef / total0 / 0
% útil0%
Sesgo elim.0,00
Lectura—

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

  1. 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?
  2. Alargá T a 20 con w=4: ¿n_ef y %? ¿Cómo se paga el corte sin perder evidencia?
  3. Con inicio 14 (sin sesgo): ¿sesgo eliminado con w=4? ¿Para qué cortar igual un mínimo?
Ver respuestas sugeridas
  1. 9/13 (69%) → 3/13 (23%): w voraz deja sin n para IC decente. Cortar de más también invalida.
  2. 17/21 (81%): alargar T recupera evidencia manteniendo el corte. La solución al n_ef pobre es T, no w chico.
  3. 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.