01 · Punto de partida
N no se adivina, se calcula
¿100, 10 000 o un millón? Con N chico el promedio tiembla; con N gigante perdés tiempo. La respuesta depende de cuánto error tolerás y de cuánto varía tu salida.
La buena noticia: el error cae con regla fija, 1/√N. Con una prueba piloto de 1 000 réplicas ya podés predecir el N que necesitás.
- ¿Qué precisión necesito: ±0,1, ±0,01, ±1 $?
- ¿Cuánto varía mi salida (σ)?
- ¿Cuánto cuesta cada réplica?
- ¿Con qué N piloto estimo σ?
02 · Definición
La regla 1/√N manda
Error
Error estándar = σ/√N. No depende del problema, solo de σ y N.
Piloto
Corrida corta (500–2 000) para estimar σ y proyectar N sin gastar de más.
N objetivo
N = (1,96·σ/e)² para un semi-ancho e al 95%. La cuenta que justifica el presupuesto.
| N | Error ± | Lectura |
|---|---|---|
| 100 | ±0,10 | Boceto: sirve para depurar |
| 1 000 | ±0,03 | Exploración seria |
| 10 000 | ±0,01 | Publicable en clase |
| 100 000 | ±0,003 | Diez veces más costo por un decimal |
03 · Método
Piloto → cuenta → corrida final en 3 pasos
- 1Correr piloto.
N₀ = 1 000, calcular media y σ muestral. Barato y rápido.
- 2Calcular N.
Fijar e deseado y aplicar N = (1,96·σ/e)². Redondear hacia arriba.
- 3Correr final.
Una sola corrida grande con otra semilla. Reportar estimación ± e.
Bien dimensionado
Justifica N
«Piloto σ = 15, quiero e = 1 $ ⇒ N ≈ 864». Nadie discute el presupuesto.
Mal dimensionado
N mágico
«Puse 1 000 porque sí». Puede sobrar 10× o faltar 100× sin que te enteres.
- Semi-ancho e
- Margen del intervalo: estimación ± e. Lo fijás vos según la decisión (¿±1 $? ¿±0,01?).
- z = 1,96
- Factor del 95% normal. Para 99% usá 2,58. Más confianza = más N.
- Costo
- Tiempo por réplica × N. Si cada réplica cuesta, el piloto ahorra horas.
04 · Ejemplos
Tres cuentas típicas
- 1Moneda ±0,01.
σ ≈ 0,5 ⇒ N ≈ (1,96·0,5/0,01)² ≈ 9 600. Por eso 10 000 es el clásico.
- 2Utilidad σ = 15, e = 1 $.
N ≈ (1,96·15/1)² ≈ 864. Con 1 000 alcanza.
- 3P = 0,05 ± 0,005.
σ = √[0,05·0,95] ≈ 0,22 ⇒ N ≈ 7 300. Los eventos raros piden más N.
05 · Representación en Python
Del piloto al N en código
Python en tu navegador. Corré el piloto, calculá N y verificá el error final.
import random
import statistics
import math
piloto = [150 - random.gauss(100, 15) for _ in range(1000)]
sigma = statistics.pstdev(piloto)
e = 1.0
N = math.ceil((1.96 * sigma / e) ** 2)
print("sigma:", round(sigma, 2), "N necesario:", N)
import random
import math
def n_para_proporcion(p, e=0.01, z=1.96):
sigma = math.sqrt(p * (1 - p))
return math.ceil((z * sigma / e) ** 2)
print(n_para_proporcion(0.5, 0.01)) # moneda
print(n_para_proporcion(0.05, 0.005)) # evento raro
06 · Exploración
Laboratorio: el embudo se cierra como 1/√N
Simulamos la moneda con tu N y dibujamos el embudo teórico ±1,96·0,5/√n. Tu punto debe caer dentro del embudo el 95% de las veces.
Cuánto N cierra el embudo
ancho = 2·1,96·σ/√N
Tocá «Correr» para simular la moneda con N.
Curva: semi-ancho teórico que cae como 1/√N. Punto: tu corrida. Si duplicás N cuatro veces, el ancho se parte a la mitad.
Preguntas para explorar
- Con N = 400, ¿el semi-ancho ronda 0,05? ¿Y con N = 6 400?
- ¿Por qué pasar de 100 a 1 000 se nota y de 20 000 a 30 000 casi no?
- Si tu punto cae fuera del embudo, ¿está mal el código?
Ver respuestas sugeridas
- Sí: 1,96·0,5/√400 ≈ 0,049 y con 6 400 ≈ 0,012. Cuadruplicar parte a la mitad.
- El eje es 1/√N: al principio cae en picada, después se aplana. Rendimientos decrecientes.
- No necesariamente: 5% de las veces cae fuera por azar. Repetilo: si siempre cae fuera, ahí sí hay sesgo.
07 · Comprensión
Confusiones frecuentes
«Más N siempre es proporcionalmente mejor»
10× más N solo divide el error por ~3,2. Cada decimal extra cuesta 100×.
«N = 1 000 sirve para todo»
Depende de σ y e. Para σ = 15 y e = 0,1 harían falta 86 000. La cuenta manda.
«El piloto gasta tiempo»
Lo ahorra: 1 000 réplicas evitan correr 100 000 de más o repetir por falta.
«Eventos raros necesitan poco N»
Al revés: con p = 0,01 y N = 500 esperás 5 casos. El error relativo es enorme.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: verificar la tabla
Comprobá que con σ = 0,5 y N = 100 el semi-ancho da ~0,10.
import math
def semi(sigma, N, z=1.96):
return z * sigma / math.sqrt(N)
for N in [100, 1000, 10000]:
print(N, round(semi(0.5, N), 4))
Ver solución razonada
0,098 / 0,031 / 0,0098. Cada ×10 de N divide por √10 ≈ 3,16.
Ejercicio 2: N para e = 2 $
Si σ = 15 y querés ±2 $, ¿qué N necesitás?
import math
sigma, e = 15, 2
print(math.ceil((1.96 * sigma / e) ** 2))
Ver solución
≈ 217. Tolerar el doble de error cuesta 4× menos réplicas.
Ejercicio 3: piloto real
Hacé un piloto de 800 para la utilidad y proyectá N para e = 1 $.
Ver una posible respuesta
import random
import statistics
import math
piloto = [150 - random.gauss(100, 15) for _ in range(800)]
s = statistics.pstdev(piloto)
print("sigma piloto:", round(s, 2))
print("N:", math.ceil((1.96 * s / 1.0) ** 2))
Verás σ ≈ 15 y N ≈ 860. El piloto predice sin gastar la corrida final.
09 · Síntesis
Ideas para recordar
- El error cae como σ/√N: cuadruplicar N parte el error a la mitad.
- Piloto corto para estimar σ, cuenta N = (z·σ/e)², corrida final única.
- Fijar e según la decisión: no hay N universal.
- Eventos raros y σ grande piden más N.
- Reportar N junto a σ y e: es la prueba de que alcanzó.
En el próximo tema separaremos las replicaciones: repetir corridas para validar la estabilidad.