Capítulo 3

Variables Aleatorias Continuas

PDF, CDF, esperanza, y las distribuciones continuas fundamentales: uniforme, exponencial y Gaussiana.

3.1 Función de Densidad de Probabilidad (PDF)

Probabilidad como área

Para variables continuas, la probabilidad en un punto es cero. En su lugar, usamos la PDF:

P(aXb)=abfX(x)dxP(a \le X \le b) = \int_a^b f_X(x) \, dx

Propiedades:

fX(x)0yfX(x)dx=1f_X(x) \ge 0 \quad \text{y} \quad \int_{-\infty}^{\infty} f_X(x) \, dx = 1

Visualización interactiva

Selecciona una distribución y ajusta parámetros. Activa "Mostrar CDF" para ver la acumulada.

0.00.10.20.30.5-4.0-2.4-0.80.82.44.0xf(x)

Diferencias clave

  • PMF: P(X=x)P(X = x) (discreta)
  • PDF: fX(x)f_X(x) no es probabilidad, es densidad
  • fX(x)1f_X(x) \ge 1 es posible (si el soporte es pequeño)

Ejemplo

Si XUniforme(0,0.5)X \sim \text{Uniforme}(0, 0.5), entonces fX(x)=2f_X(x) = 2 en [0, 0.5]. La densidad es 2 pero el área bajo la curva es 1.

3.2 Función de Distribución Acumulada

Unificando discreto y continuo

FX(x)=P(Xx)=xfX(t)dtF_X(x) = P(X \le x) = \int_{-\infty}^x f_X(t) \, dt
fX(x)=ddxFX(x)f_X(x) = \frac{d}{dx} F_X(x)

Propiedades de CDF

  • F()=0,  F()=1F(-\infty) = 0, \; F(\infty) = 1
  • • No decreciente y continua por la derecha
  • P(a<Xb)=F(b)F(a)P(a < X \le b) = F(b) - F(a)

La CDF unifica variables discretas y continuas — siempre existe y tiene las mismas propiedades fundamentales en ambos casos.

3.3 Esperanza y Momentos

Generalización al caso continuo

E[X]=xfX(x)dx\mathbb{E}[X] = \int_{-\infty}^{\infty} x \, f_X(x) \, dx
E[g(X)]=g(x)fX(x)dx\mathbb{E}[g(X)] = \int_{-\infty}^{\infty} g(x) \, f_X(x) \, dx

Media

μ=E[X]\mu = \mathbb{E}[X]

Varianza

σ2=E[(Xμ)2]\sigma^2 = \mathbb{E}[(X-\mu)^2]

Momentos

E[Xk]\mathbb{E}[X^k]

3.4 Distribuciones Continuas Clásicas

Uniforme(a, b)

Todo intervalo de igual longitud tiene igual probabilidad.

f(x)=1baf(x) = \frac{1}{b-a}
E[X]=a+b2,  Var(X)=(ba)212\mathbb{E}[X] = \frac{a+b}{2}, \; \text{Var}(X) = \frac{(b-a)^2}{12}

Exponencial(λ)

Tiempo entre eventos de Poisson (sin memoria).

f(x)=λeλx,  x0f(x) = \lambda e^{-\lambda x}, \; x \ge 0
E[X]=1λ,  Var(X)=1λ2\mathbb{E}[X] = \frac{1}{\lambda}, \; \text{Var}(X) = \frac{1}{\lambda^2}

Gaussiana(μ, σ²)

La distribución más importante. Teorema Central del Límite.

f(x)=1σ2πe(xμ)22σ2f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}

Regla 68-95-99.7: los datos caen a 1σ, 2σ, 3σ de la media.

3.5 Transformación de Variables

¿Qué pasa si Y = g(X)?

Si conocemos la distribución de X y Y=g(X)Y = g(X), podemos encontrar fY(y)f_Y(y). Para transformaciones monótonas:

fY(y)=fX(g1(y))ddyg1(y)f_Y(y) = f_X(g^{-1}(y)) \cdot \left| \frac{d}{dy} g^{-1}(y) \right|
python
# Simular transformación: Y = X^2 con X ~ Uniforme(0,1)
import numpy as np
import matplotlib.pyplot as plt

X = np.random.uniform(0, 1, 100000)
Y = X**2

# Y sigue una distribución Beta
print(f"Media de Y: {Y.mean():.3f}")
print(f"Esperanza teórica E[X^2] en Uniforme(0,1): {1/3:.3f}")

3.6 Generación de Números Aleatorios

De uniforme a cualquier distribución

Inverse Transform Sampling: si UUniforme(0,1)U \sim \text{Uniforme}(0,1), entonces X=FX1(U)X = F_X^{-1}(U) tiene distribución FXF_X.

python
# Inverse Transform: Exponencial
# F(x) = 1 - e^{-λx} → F^{-1}(u) = -ln(1-u)/λ
import numpy as np

lam = 2.0
N = 10000
U = np.random.uniform(0, 1, N)
X = -np.log(1 - U) / lam

print(f"Media empírica: {X.mean():.3f}")
print(f"Media teórica (1/λ): {1/lam:.3f}")

# scipy hace todo esto automáticamente
from scipy.stats import expon
Y = expon.rvs(scale=1/lam, size=N)

Resumen en Python

python
from scipy.stats import uniform, expon, norm
import numpy as np

# PDF en un punto
print(uniform.pdf(0.5, loc=0, scale=1))  # 1.0
print(expon.pdf(1, scale=1))             # 0.3679
print(norm.pdf(0, loc=0, scale=1))       # 0.3989

# CDF
print(norm.cdf(1.96, loc=0, scale=1))    # 0.975

# Percentil (inversa de CDF)
print(norm.ppf(0.975, loc=0, scale=1))   # 1.96

# Esperanza y varianza
print(norm.mean(loc=0, scale=1))         # 0.0
print(norm.var(loc=0, scale=1))          # 1.0

# Muestras
muestras = norm.rvs(loc=0, scale=1, size=1000)
print(muestras.mean())  # ~0
print(muestras.std())   # ~1