Probabilidad y Estadística · Tema 08

Variables aleatorias

Números que resumen el resultado del azar: qué es una variable aleatoria, cómo mapea resultados a valores y por qué todo indicador del simulador es una de ellas.

01 · Punto de partida

El azar se vuelve operable cuando es número

«Salió (4, 3)» no se puede promediar. Pero X = suma = 7 sí: se suma, se promedia, se grafica. Una variable aleatoria es una función que convierte cada resultado ω en un número X(ω). Es el puente entre eventos (temas 4 a 7) y cálculos (temas 11 a 14).

En tu simulador ya las usás sin nombrarlas: demanda del día, espera del cliente, total vendido, quiebres. Nombrarlas —qué valores toman, con qué probabilidad— es lo que permite elegirles distribución (temas 17 a 24).

  • ¿Qué número resume lo que me importa de cada resultado?
  • ¿Qué valores puede tomar y con qué probabilidad cada uno?
  • ¿Es conteo (discreta) o medida (continua)?
  • ¿Cómo la programo para poder promediarla y graficarla?

02 · Definición

Mapeo, valores y distribución

ω→x

Mapeo

Cada resultado da un número: (cara, ceca) → 1 si hay cara. El código es una función X(resultado).

# / ~

Discreta / continua

Discreta: conteos aislados (0, 1, 2…). Continua: cualquier valor en un intervalo (tiempos, medidas).

P(X)

Distribución

La lista completa valor → probabilidad. Dice todo sobre X antes de simular (temas 9 a 12).

Mismo experimento, distintas variables.
ExperimentoVariable XValoresTipo
Dos dadosSuma2 a 12Discreta
Día de demandaUnidades vendidas[6, 14]Continua
Cliente1 si compra, 0 si no{0, 1}Discreta 0/1
AtenciónMinutos de espera[0, ∞)Continua

03 · Notación que vas a leer

Mayúsculas, minúsculas y eventos con X

Convención

X es la variable, x el valor

Mayúscula = mecanismo aleatorio («la suma»); minúscula = número concreto («7»). P(X = 7) se lee «probabilidad de que la suma valga 7».

Eventos con X

{X mayor a 9}, {X = 0}

Cada condición sobre X define un evento (tema 4). Así se escriben las métricas: P(X mayor a 10), E[X], Var(X).

P(X = x)
Probabilidad de que X valga exactamente x. Solo tiene sentido directo en discretas.
P(X mayor a t)
Cola derecha: quiebres, esperas largas, sobrecostos. La métrica de riesgo.
Soporte
Valores posibles de X: {2…12}, [6,14], {0,1}. Delimita el eje del histograma.
Transformación
Y = f(X): costo = 5·X, ganancia = precio·X − fijo. Simular X permite simular Y.

04 · Ejemplos

Variables que ya simulas

ω resultado→X(ω) número→Promedio y riesgo
  1. 1
    Suma de dados.

    X = d₁ + d₂. Soporte 2 a 12, pico en 7. Clásico ejemplo no uniforme desde componentes uniformes.

  2. 2
    Venta.

    X = 1 si compra, 0 si no. Promedio = tasa de conversión (Bernoulli, tema 18).

  3. 3
    Demanda.

    X ~ U(6, 14). Cada día un valor continuo distinto.

  4. 4
    Espera.

    X = minutos en cola. Continua, cola derecha larga: pocos esperan muchísimo.

  5. 5
    Ganancia.

    Y = 100·X − 500 con X ventas. Transformación de una variable en decisión de plata.

05 · Representación en Python

X es una función

Programar la variable es escribir qué número sale de cada resultado. Después se mapea la lista completa:

Python en tu navegador. Cambiá el mapeo y mirá cómo cambia el promedio.

import random
random.seed(17)

def X(tirada):
    d1, d2 = tirada
    return d1 + d2  # suma de dos dados

tiradas = [(random.randint(1,6), random.randint(1,6)) for _ in range(10)]
valores = [X(t) for t in tiradas]
print(valores)
print("promedio:", round(sum(valores)/len(valores), 2))

Consejo: el promedio con 10 tiradas salta; con 10000 se pega a 7 (tema 13).

Indicadora: el evento hecho número

import random
random.seed(6)

# X = 1 si suma >= 9, 0 si no. Promedio = P(suma >= 9)
def X_ind(t):
    return 1 if t[0] + t[1] >= 9 else 0

N = 5000
xs = [X_ind((random.randint(1,6), random.randint(1,6))) for _ in range(N)]
print("P(X=1):", round(sum(xs)/N, 4), "| exacto:", round(10/36, 4))

06 · Exploración

Laboratorio: la suma de dos dados no es uniforme

Simulamos N sumas de dos dados. Barras claras = probabilidad exacta (1−6−…−1 sobre 36); sólidas = frecuencia simulada. Aunque cada dado es uniforme, X = suma tiene forma triangular con pico en 7.

EXPERIMENTO 08

Distribución de X = d₁ + d₂

P(X = x) = #{formas} / 36 → media 7

Los resultados numéricos aparecen debajo.
Media simulada0,00
Media exacta (7)7,00
P̂(X ≥ k)0,000
P(X ≥ k) exacta0,000

Con N grande, las barras sólidas calcan el triángulo.

11 valores (2 a 12). Cada par de barras compara teoría y simulación. La tabla inferior resume media y cola: dos lecturas distintas de la misma variable.

Preguntas para explorar

  1. Con N = 60, ¿qué valores se desvían más? ¿Y con N = 6000?
  2. ¿Por qué el 7 es el más probable si los dados son uniformes?
  3. Con k = 12, ¿cuánto vale la cola exacta? ¿Por qué un evento puntual chico exige N grande?
Ver respuestas sugeridas
  1. Con 60 hay huecos y picos falsos; con 6000 el triángulo queda nítido y la media se pega a 7.
  2. Porque tiene 6 formas (1+6…6+1) contra 1 forma del 2 o 12. X cuenta combinaciones, no caras.
  3. 1/36 ≈ 0,028: con N chico puede no salir nunca. Las colas raras piden N grande (tema 42).

07 · Comprensión

Confusiones frecuentes

«La suma de uniformes es uniforme»

No: es el error que rompe este laboratorio. Combinar uniformes concentra el centro (triángulo, campana). La distribución de X se calcula, no se hereda.

«Variable aleatoria es un número al azar»

Es una función, no un número suelto. El número suelto es el valor x; la variable es el mecanismo X que los genera con probabilidades.

«Si X es continua, P(X = 3) tiene sentido»

En continuas vale 0 para puntos exactos; lo que tiene probabilidad es el intervalo (temas 10 y 12).

«Con la media alcanza»

La media resume el centro; la distribución dice el riesgo. Dos X con media 7 pueden tener colas opuestas.

08 · Práctica guiada

Ejercicios con Python

Ejercicio 1: distribución a mano

Enumerá P(X = 7) para la suma contando pares (d₁, d₂) y verificala con 6000 réplicas.

pares = [(a, b) for a in range(1, 7) for b in range(1, 7)]
print("exacta:", sum(1 for a, b in pares if a + b == 7), "/ 36")

import random
random.seed(8)
N = 6000
print("sim:", sum(1 for _ in range(N) if random.randint(1,6)+random.randint(1,6) == 7) / N)
Ver solución razonada

6/36 = 0,1667. La simulación cae a milésimas. Enumerar Ω y mapear con X es el método exacto en discretas chicas.

Ejercicio 2: transformar X en plata

Si Y = 100·X − 200 con X = suma de dados, ¿media exacta de Y? Verificala simulando.

import random
random.seed(9)
N = 8000
ys = [100*(random.randint(1,6)+random.randint(1,6)) - 200 for _ in range(N)]
print("media sim:", round(sum(ys)/N, 1), "| exacta:", 100*7 - 200)
Ver solución

Exacta 500. La media se transforma linealmente: E[aX + b] = a·E[X] + b (tema 13). Simular Y es transformar X.

Ejercicio 3: indicadora de cola

Definí X = 1 si la suma es 12, 0 si no. ¿Media exacta? ¿Por qué la simulación con N = 200 salta tanto?

Ver una posible respuesta
import random
for N, s in [(200, 1), (20000, 1)]:
    random.seed(s)
    print(N, sum(1 for _ in range(N) if random.randint(1,6)+random.randint(1,6) == 12) / N)

Media 1/36 ≈ 0,0278. Con N = 200 hay ~5 éxitos esperados: el ruido relativo es enorme. Las colas raras exigen N grande.

09 · Síntesis

Ideas para recordar

  • X(ω) convierte resultados en números operables: se promedian, se grafican, se transforman.
  • X mayúscula es el mecanismo; x minúscula es el valor observado.
  • La distribución valor → probabilidad describe por completo a X.
  • En Python: X = f(resultado) aplicada a la lista de sorteos.
  • Combinar uniformes no da uniforme: la distribución de X se deriva.

En el próximo tema detallaremos las variables aleatorias discretas: conteos con tabla de probabilidad.