01 · Punto de partida
Cuando lo que importa se cuenta
Una variable discreta toma valores aislados: 0, 1, 2… clientes en cola, artículos fallados, compras del día. No hay «2,5 clientes». Su distribución es una tabla: cada valor con su probabilidad p(x).
En simulación son las variables de conteo: llegadas por hora, éxitos en n intentos, piezas defectuosas. Si tu variable cuenta cosas, estás aquí; si mide tiempos o magnitudes, será continua (tema 10).
- ¿Los valores son conteos separados o medidas continuas?
- ¿Cuánto vale p(x) para cada x y suman 1?
- ¿Cuál es el valor más probable y cuál la cola de riesgo?
- ¿Cómo genero estos conteos en el simulador?
02 · Definición
Función de probabilidad p(x)
Reglas
0 ≤ p(x) ≤ 1 y Σ p(x) = 1. Si tu tabla no suma 1, hay un bug o falta un valor.
Eventos por suma
P(a ≤ X ≤ b) = Σ p(x) en el rango. Las colas son sumas: P(X ≥ k) suma la derecha.
Gráfico de bastones
Cada valor un bastón de altura p(x). La forma dice dónde está la masa y dónde el riesgo.
| x | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| formas | 1 | 2 | 3 | 4 | 5 | 6 | 5 | 4 | 3 | 2 | 1 |
| p(x) | .028 | .056 | .083 | .111 | .139 | .167 | .139 | .111 | .083 | .056 | .028 |
03 · Conteos típicos
Qué discreta aparece en cada simulador
Soporte finito
Dado, suma, 0/1
Valores acotados: caras, sumas, compra o no. Se enumeran completos y p(x) se verifica sumando 1.
Soporte abierto
Llegadas, intentos
0, 1, 2… sin tope teórico (Poisson, geométrica). Se trunca en la práctica donde la cola ya es despreciable.
- Bernoulli
- 0/1 con P(1) = p. El átomo de «éxito o no» (tema 18).
- Binomial
- Éxitos en n intentos (tema 19). Soporte 0 a n.
- Poisson
- Eventos por unidad de tiempo/espacio (tema 21). Soporte 0, 1, 2…
- Geométrica
- Intentos hasta el primer éxito (tema 20). Cola infinita que decae.
04 · Ejemplos
Conteos que vas a simular
- 1Llegadas por hora.
X = 0, 1, 2… clientes. Define personal necesario por hora.
- 2Defectos por lote.
X = piezas falladas en 50. Define si el lote se rechaza.
- 3Ventas del día.
X = compras en 100 visitas. Binomial con p = conversión.
- 4Intentos hasta éxito.
X = llamadas hasta cerrar. Geométrica: pocos cierran al primero.
- 5Ocupación.
X = servidores ocupados de 4. Soporte 0 a 4, finito y enumerable.
05 · Representación en Python
Tablas y muestreo de conteos
La tabla es un dict; muestrear es random.choices con pesos. Contar el resultado verifica que la simulación respeta la tabla:
Python en tu navegador. Cambiá los pesos y mirá cómo se mueve el histograma mental.
import random
from collections import Counter
random.seed(12)
# X = clientes por hora: tabla valor -> p
pmf = {0: 0.1, 1: 0.25, 2: 0.35, 3: 0.2, 4: 0.1}
xs = random.choices(list(pmf), weights=list(pmf.values()), k=2000)
frec = Counter(xs)
for x in sorted(pmf):
print(x, "teo:", pmf[x], "| sim:", round(frec[x]/len(xs), 3))
Consejo: con k = 200 la sim salta; con 20000 se pega a la tabla.
Binomial como suma de Bernoulli
import random
random.seed(3)
# X ~ Binomial(n=10, p=0.3): contar éxitos en 10 intentos
def binomial(n=10, p=0.3):
return sum(1 for _ in range(n) if random.random() < p)
xs = [binomial() for _ in range(3000)]
print("media sim:", round(sum(xs)/len(xs), 2), "| teórica n·p:", 10*0.3)
06 · Exploración
Laboratorio: Binomial(n = 10, p)
Contamos éxitos en 10 intentos con prob. p por intento. Barras claras = p(x) exacta binomial; sólidas = frecuencia simulada. Mové p y mirá cómo la masa viaja de 0 a 10.
X ~ Binomial(10, p)
p(x) = C(10,x)·pˣ·(1−p)¹⁰⁻ˣ
Con N grande, los bastones sólidos calcan los claros.
11 bastones (0 a 10). Cada par compara probabilidad exacta y frecuencia simulada. La tabla inferior resume media y cola: centro y riesgo de la misma variable.
Preguntas para explorar
- Con p = 0,5, ¿qué forma tiene? ¿Y con p = 0,1?
- Con N = 100, ¿qué bastones se desvían más? ¿Por qué los raros saltan más?
- Si p = 0,3 y k = 8, ¿la cola es grande o chica? ¿Qué decisión tomarías con ese número?
Ver respuestas sugeridas
- Con 0,5 es simétrica centrada en 5; con 0,1 se aplasta contra 0 con cola derecha larga.
- Los de probabilidad chica: pocos casos, mucho ruido relativo. Los eventos raros exigen N grande.
- Chica (~0,05): pedir 8+ éxitos de 10 con p = 0,3 es exigirle mucho al azar. Para prometerlo hay que subir p o n.
07 · Comprensión
Confusiones frecuentes
«Discreta es lo mismo que finita»
No: Poisson y geométrica son discretas infinitas (0, 1, 2…). Finito es un caso particular, no la definición.
«p(x) es lo mismo que F(x)»
p(x) es puntual (bastón); F(x) acumula hasta x (escalera, tema 11). Una se suma por rangos para dar la otra.
«Si simulo conteos, no necesito la tabla»
La tabla verifica el simulador: si la frecuencia no calca p(x) con N grande, el muestreo está mal.
«Binomial es n veces la misma cuenta»
Es n Bernoulli independientes con igual p. Si p cambia o hay dependencia, ya no es binomial.
08 · Práctica guiada
Ejercicios con Python
Ejercicio 1: tabla que suma 1
Verificá que la tabla del laboratorio con p = 0,3 suma 1 calculando los 11 términos.
import math
p, n = 0.3, 10
pmf = [math.comb(n, x) * p**x * (1-p)**(n-x) for x in range(n+1)]
print("suma:", round(sum(pmf), 6))
print("P(X=3):", round(pmf[3], 4))
Ver solución razonada
Suma 1 (salvo redondeo). P(X = 3) ≈ 0,2668: el valor más probable con n = 10, p = 0,3. El pico está en n·p.
Ejercicio 2: cola derecha
Calculá P(X ≥ 8) exacta y verificala con 10000 réplicas (n = 10, p = 0,3).
import math, random
random.seed(19)
p, n, N = 0.3, 10, 10000
exacta = sum(math.comb(n, x)*p**x*(1-p)**(n-x) for x in range(8, 11))
sim = sum(1 for _ in range(N) if sum(random.random() < p for _ in range(n)) >= 8) / N
print("exacta:", round(exacta, 4), "| sim:", round(sim, 4))
Ver solución
Exacta ≈ 0,0016: evento raro. La sim con 10000 da 0 a 0,004: para colas así hacen falta N enormes o cálculo exacto.
Ejercicio 3: de tabla a decisión
Con 100 visitas y conversión 0,12, ¿P(vender 15 o más)? ¿Conviene prometer 15?
Ver una posible respuesta
import math
n, p, k = 100, 0.12, 15
print("P(X>=15):", round(sum(math.comb(n,x)*p**x*(1-p)**(n-x) for x in range(k, n+1)), 3))
Da ~0,2: prometer 15 se cumple 1 de cada 5 días. Para prometer con 95 % hay que bajar el umbral (tema 33).
09 · Síntesis
Ideas para recordar
- Discreta: valores aislados con p(x), Σ p(x) = 1.
- Las colas se calculan sumando bastones: P(X ≥ k) = Σ p(x).
- En Python: dict de tabla +
random.choicescon pesos, o suma de Bernoulli. - La frecuencia con N grande debe calcar la tabla: es el test del muestreo.
- Binomial(n, p) es el conteo modelo: n intentos, p por intento.
En el próximo tema mediremos lo continuo: variables aleatorias continuas.