01 · Punto de partida
Correr una vez es anécdota
Mismo código, misma configuración, distinta semilla → distinto total. Esa variabilidad entre ejecuciones no es bug: es el azar del modelo (temas 1 y 14) propagado al resultado. Informar una corrida esconde el rango donde vive la verdad.
La solución es medir la dispersión entre réplicas (s, rango, percentiles) y decidir con el conjunto, no con el caso.
- ¿Cuánto varía el resultado entre semillas?
- ¿La diferencia A/B es señal o ruido de una corrida?
- ¿Qué dispersión acompaña a cada promedio que informo?
- ¿Cuántas réplicas para que el ruido no tape?
02 · Definición
Fuentes y medidas del salto
Fuentes
Entradas sorteadas, tiempos, fallas: todo U y muestreo distinto por semilla. Más azar interno, más salto externo.
Medidas
s entre réplicas, rango máx−mín, P10–P90. Dicen el terreno donde se mueve cada escenario.
Regla de oro
Jamás comparar escenarios con 1 corrida cada uno. Comparar distribuciones de R (tema 43).
| R | 1 | 5 | 100 |
|---|---|---|---|
| Qué ves | un número (100–140) | rango ±15 | campana en 120 ± 8 |
| Decide | nada | orienta | sí |
03 · Ruido vs señal
Cuándo la diferencia es real
Ruido
Diferencia menor a s
A = 121, B = 124 con s = 8 y R = 5: el salto entre semillas tapa. Pedir más R o muestras comunes.
Señal
Diferencia mayor a 2·SE
Con R = 200, SE ≈ 0,6: 3 puntos ya son señal. El N convierte ruido en veredicto (temas 41–43).
- Semilla
- Fija una corrida para depurar; variar para medir. Ambas se usan, en su momento.
- Rango
- Máx−mín de R: honesto y directo. Con R chico subestima el verdadero.
- s entre réplicas
- Dispersión del resultado, no de los datos diarios. Es la que manda el N.
- Muestras comunes
- Mismas semillas para A y B: el ruido compartido se cancela y la diferencia aflora.
04 · Ejemplos
Saltos que hay que mostrar
- 1Ventas 12 días.
120 ± 8: una corrida 105 no es crisis, es cola.
- 2Espera.
Día 3 min, día 7 min con igual dotación: variar día, no personal.
- 3A/B.
A gana 1 corrida de 3: ruido. Gana 180 de 200: señal.
- 4Juego.
Balance con 20 peleas salta; con 5000 define.
- 5Stock.
Quiebre 1 de 5 corridas ≠ 20 %: con 5 el intervalo es enorme (tema 33).
05 · Representación en Python
R corridas, un resumen
Python en tu navegador. Una corrida vs cien: el rango aparece.
import random, statistics
random.seed(401)
def corrida():
return sum(random.uniform(6,14) for _ in range(12))
una = corrida()
R = [corrida() for _ in range(200)]
print("una:", round(una,1), "| x̄:", round(statistics.mean(R),1), "| s:", round(statistics.stdev(R),1))
Consejo: ejecutá dos veces: «una» salta ±15, x̄ se queda en ~120.
Muestras comunes para A/B
import random
random.seed(11)
# A stock 115 vs B 125, mismas demandas: ruido compartido
Ds = [[random.uniform(80,140) for _ in range(30)] for _ in range(100)]
dif = [sum(min(125,d) for d in fila)-sum(min(115,d) for d in fila) for fila in Ds]
print("dif media:", round(sum(dif)/len(dif),1))
06 · Exploración
Laboratorio: 12 días, R totales
Cada total = 12 × U(6,14) (E = 120, σ ≈ 8). Con R réplicas dibujamos su histograma + campana teórica. Con R = 5 ves puntos; con 1000 ves la distribución.
Totales de R corridas
E = 120 · σ ≈ 8
Con R = 5 el rango engaña; con 1000 la campana aparece.
Eje x 90 a 150. La curva blanca es N(120, 8): con R grande el histograma la calca.
Preguntas para explorar
- Con R = 5, ¿qué rango ves? Repetí con otra semilla: ¿se parece?
- Con R = 1000, ¿media y s cuánto dan? ¿Qué fracción cae en 120 ± 16?
- Si A da 124 y B 127 en 1 corrida cada uno, ¿hay ganador?
Ver respuestas sugeridas
- Rangos de 15–30 que cambian por semilla: con 5 no se estima dispersión.
- 120 y 8; ~95 % en ±16 (±2σ). La teoría anticipa lo que la sim confirma.
- No: dif 3 menor a s = 8 con R = 1. Ruido puro; pedir R e intervalos (temas 41–43).
07 · Comprensión
Confusiones frecuentes
«Variabilidad es error del programa»
No: es el azar modelado. Error es bug o sesgo; variabilidad es dispersión legítima entre semillas.
«Con semilla fija no hay variabilidad»
Hay una sola muestra del resultado. Fijar sirve para depurar, no para concluir.
«Rango de 5 estima»
Subestima: con 5 casi nunca ves colas. Rango honesto pide cientos.
«s chica siempre es buena»
s chica con R chico es ilusión: el intervalo de s también tiene error (tema 42).
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: una vs cien
Compará 1 corrida contra x̄ y s de 300. ¿Qué cambia?
import random, statistics
random.seed(401)
tot = lambda: sum(random.uniform(6,14) for _ in range(12))
print("una:", round(tot(),1))
R = [tot() for _ in range(300)]
print("x̄:", round(statistics.mean(R),1), "| s:", round(statistics.stdev(R),1))
Ver solución razonada
«Una» cae 105–135; x̄ ≈ 120 ± 0,5 y s ≈ 8. Una orienta mal; 300 definen.
Ejercicio 2: señal o ruido
A y B difieren 3 con s = 8 y R = 10. ¿SE de la diferencia? ¿Señal?
import math
print("SE dif:", round((8**2/10+8**2/10)**0.5,2))
Ver solución
SE ≈ 3,58: dif 3 menor a 1 SE. Ruido; pedir R ~ 100 o muestras comunes.
Ejercicio 3: campeón vs promedio
Elegí el mejor de 3 por escenario vs promedio de 100. ¿Cuál decide?
Ver una posible respuesta
import random
random.seed(7)
tot = lambda: sum(random.uniform(6,14) for _ in range(12))
print("campeón 3:", round(max(tot() for _ in range(3)),1))
print("promedio 100:", round(sum(tot() for _ in range(100))/100,1))
El campeón infla ~+1σ (≈128); el promedio centra en 120. Comparar campeones premia suerte, no escenario.
09 · Síntesis
Ideas para recordar
- Una corrida es un sorteo; R réplicas son la distribución.
- Informar x̄ + s + rango + n, nunca un número solo.
- Diferencia menor a s con R chico = ruido.
- Semilla fija depura; variada mide.
- Muestras comunes afinan A/B sin más R.
En el próximo tema decidiremos cuántas: replicaciones de una simulación.