Prob-08 — Sampling, CLT & inference

Nunca tienes "la población": tienes una muestra. Toda la práctica de ML —estimar métricas, comparar modelos, entender por qué el promedio de muchos datos es estable— descansa en teoría de muestreo. El Central Limit Theorem explica por qué la Gaussian aparece en todos lados y por qué los promedios (y SGD con mini-batches) se comportan tan bien. La inferencia te da el lenguaje para decir "esta mejora es real, no ruido".

Why this matters for ML

Nunca tienes "la población": tienes una muestra. Toda la práctica de ML —estimar métricas, comparar modelos, entender por qué el promedio de muchos datos es estable— descansa en teoría de muestreo. El Central Limit Theorem explica por qué la Gaussian aparece en todos lados y por qué los promedios (y SGD con mini-batches) se comportan tan bien. La inferencia te da el lenguaje para decir "esta mejora es real, no ruido".

Concepts covered

  • Population vs. sample; estimadores
  • Sampling distribution y standard error
  • Law of Large Numbers (LLN)
  • Central Limit Theorem (CLT)
  • Confidence intervals
  • Hypothesis testing (idea) y p-values
  • Bias–variance de un estimador

Intuition first

🎬 Stat 110 Lecture 14 (LLN, CLT). StatQuest "The Central Limit Theorem". Khan "Statistics". Idea: promediar muchas observaciones reduce el ruido y produce una distribución normal, casi sin importar la original.

Theory & key results

Population vs. sample: la población es lo que quieres conocer (parámetro θ\theta); la muestra x1,,xnx_1,\dots,x_n es lo que observas. Un estimador θ^\hat\theta es una función de la muestra (p. ej. la media muestral Xˉ\bar X).

Sampling distribution: θ^\hat\theta es aleatorio (depende de qué muestra tocó). Su desviación estándar es el standard error. Para la media: SE(Xˉ)=σ/n\text{SE}(\bar X)=\sigma/\sqrt{n}más datos, menos error (a ritmo 1/n1/\sqrt n).

Law of Large Numbers: Xˉnμ\bar X_n \to \mu cuando nn\to\infty. El promedio muestral converge al verdadero. (Justifica estimar expectations por muestreo — Monte Carlo.)

Central Limit Theorem (la estrella): para XiX_i i.i.d. con media μ\mu y varianza σ2\sigma^2 (¡de casi cualquier distribución!), XˉnN ⁣(μ, σ2n)para n grande.\bar X_n \approx \mathcal{N}!\left(\mu,\ \frac{\sigma^2}{n}\right)\quad\text{para } n \text{ grande.} Por eso la Gaussian es "universal": cualquier cosa que sea suma/promedio de muchos efectos pequeños tiende a normal. Explica por qué el ruido se modela gaussiano y por qué los gradientes de mini-batch (promedios) son estimadores razonables del gradiente verdadero.

Confidence interval (CI): un rango que contiene el parámetro con cierta confianza. Para la media (n grande): Xˉ±zSE\bar X \pm z\cdot\text{SE}, con z=1.96z=1.96 para 95%. Interpretación correcta: "si repitiera el muestreo muchas veces, el 95% de los CIs contendrían μ\mu".

Hypothesis testing: planteas H0H_0 (hipótesis nula, "no hay efecto") y mides qué tan sorprendentes son tus datos si H0H_0 fuera cierta. El p-value es esa probabilidad; si es muy chico (p. ej. <0.05), rechazas H0H_0. Útil para "¿el modelo B es de verdad mejor que A?". (Cuidado con abusar de p-values.)

Bias–variance de un estimador: bias=E[θ^]θ\text{bias}=\mathbb{E}[\hat\theta]-\theta; un buen estimador tiene bias y varianza bajos. Esto prefigura el bias–variance tradeoff de modelos (subajuste vs. sobreajuste).

Worked example

Población con μ=50\mu=50, σ=10\sigma=10. Tomo muestras de n=100n=100. El CLT dice XˉN(50,102/100)=N(50,1)\bar X\approx\mathcal{N}(50, 10^2/100)=\mathcal{N}(50, 1), así que SE=1\text{SE}=1. Un CI 95% típico: Xˉ±1.96\bar X\pm1.96. Si observo Xˉ=52\bar X=52, el intervalo [50.04,53.96][50.04, 53.96] no contiene 50 por poco → evidencia (débil) de que μ50\mu\neq50.

Notebook exercises (by hand)

  1. SE\text{SE} de la media para σ=15\sigma=15, n=225n=225.
  2. ¿Cuántas muestras necesito para reducir el SE a la mitad? (Pista: 1/n1/\sqrt n.)
  3. Construye un CI 95% para Xˉ=10\bar X=10, σ=4\sigma=4, n=64n=64.
  4. Enuncia el CLT con tus palabras y por qué "casi cualquier distribución".
  5. Explica la diferencia entre "el parámetro está en el CI con prob 95%" (incorrecto) y la interpretación correcta.
  6. Relaciona LLN con estimar E[X]\mathbb{E}[X] por Monte Carlo (Calc-04).

Python lab

import numpy as np
import matplotlib.pyplot as plt

rng = np.random.default_rng(0)

# CLT: promedios de una distribución MUY no normal (exponencial) se vuelven normales
def sample_means(n, trials=100_000):
    data = rng.exponential(scale=1.0, size=(trials, n))   # media 1, muy sesgada
    return data.mean(axis=1)

for n in [1, 5, 30]:
    m = sample_means(n)
    print(f"n={n:2d}: media~{m.mean():.3f}  SE~{m.std():.3f}  (teórico {1/np.sqrt(n):.3f})")

plt.hist(sample_means(30), bins=60, density=True)         # ~ campana
plt.title("CLT: medias de exponenciales (n=30)"); plt.savefig("prob08.png")

# LLN: la media muestral converge
x = rng.normal(50, 10, 100_000)
running = np.cumsum(x)/np.arange(1, len(x)+1)
print("media con 100:", running[99], " con 100k:", running[-1])   # -> 50

Examen final 📝

Intenta cada nivel antes de abrir las soluciones.

🟡 Medio

  1. SE\text{SE} de la media para σ=20\sigma=20, n=100n=100.
  2. ¿Cuánto debo aumentar nn para reducir el SE a un tercio?

🟠 Medio-difícil

  1. Construye un CI 95% para Xˉ=100\bar X=100, σ=15\sigma=15, n=36n=36.
  2. Usando el CLT, aproxima P(Xˉ>52)P(\bar X>52) para muestras de n=100n=100 de una población con μ=50\mu=50, σ=10\sigma=10.

🔴 Difícil

  1. Demuestra, usando propiedades de la varianza (Prob-04), que Var(Xˉ)=σ2/n\text{Var}(\bar X)=\sigma^2/n para muestras i.i.d., y explica por qué esto justifica que el gradiente de mini-batch de tamaño BB tiene varianza 1/B\propto 1/B.
  2. Explica la interpretación frecuentista correcta de un intervalo de confianza del 95% y por qué la afirmación "hay 95% de probabilidad de que μ\mu esté en este intervalo" es técnicamente incorrecta. ¿Cómo lo reformularía un bayesiano (credible interval)?
✅ Soluciones
  1. SE=20/100=2\text{SE}=20/\sqrt{100}=2.
  2. SE1/n\text{SE}\propto1/\sqrt n; para /3/3 hay que multiplicar nn por 99.
  3. SE=15/6=2.5\text{SE}=15/6=2.5; CI =100±1.96(2.5)=100±4.9=[95.1,104.9]=100\pm1.96(2.5)=100\pm4.9=[95.1, 104.9].
  4. SE=10/100=1\text{SE}=10/\sqrt{100}=1; Z=(5250)/1=2Z=(52-50)/1=2; P(Xˉ>52)P(Z>2)0.023P(\bar X>52)\approx P(Z>2)\approx0.023.
  5. Var(Xˉ)=Var(1nXi)=1n2Var(Xi)=1n2(nσ2)=σ2/n\text{Var}(\bar X)=\text{Var}(\frac1n\sum X_i)=\frac{1}{n^2}\sum\text{Var}(X_i)=\frac{1}{n^2}(n\sigma^2)=\sigma^2/n (usa independencia). El gradiente de mini-batch es un promedio de BB gradientes por-ejemplo i.i.d., así que su varianza escala como 1/B1/B: batches grandes → gradiente más estable.
  6. Correcto: "si repitiera el muestreo y construyera el CI muchas veces, el 95% de esos intervalos contendrían el verdadero μ\mu". El parámetro μ\mu es fijo (no aleatorio), así que no tiene "probabilidad de estar" en un intervalo concreto; lo aleatorio es el intervalo. Un bayesiano trata μ\mu como aleatorio con un posterior y sí puede decir "P(μ[a,b]datos)=0.95P(\mu\in[a,b]\mid\text{datos})=0.95" (credible interval).