Skip to content
Statistical RethinkingStatistical Rethinking

6.2 Teoría de la información y rendimiento del modelo

La teoría de la información proporciona el lenguaje para medir el rendimiento del modelo. La cantidad clave es la log-probabilidad esperada, que mide qué tan sorprendido estaría el modelo por datos nuevos. Menor sorpresa significa mejor predicción.

6.2.1 Entropía

La entropía de una distribución mide su incertidumbre:

H(p)=−∑ipilog⁡piH(p) = -\sum_{i} p_i \log p_i

La entropía se maximiza cuando todos los resultados son igualmente probables (máxima incertidumbre) y se minimiza cuando un resultado tiene probabilidad 1 (sin incertidumbre).

# Compute entropy for different distributions
# Entropy: H(p) = -sum(p * log(p))

# Fair coin: maximum entropy

p_fair <- c(0.5, 0.5)
H_fair <- -sum(p_fair * log(p_fair))
cat("Fair coin entropy:", round(H_fair, 4), "\n")

# Biased coin: lower entropy

p_biased <- c(0.9, 0.1)
H_biased <- -sum(p_biased * log(p_biased))
cat("Biased coin entropy:", round(H_biased, 4), "\n")

# Three outcomes

p_three <- c(0.7, 0.2, 0.1)
H_three <- -sum(p_three * log(p_three))
cat("Three outcomes (0.7, 0.2, 0.1) entropy:", round(H_three, 4), "\n")

# Uniform three outcomes: maximum entropy

p_uniform <- c(1/3, 1/3, 1/3)
H_uniform <- -sum(p_uniform * log(p_uniform))
cat("Uniform three outcomes entropy:", round(H_uniform, 4), "\n")

cat("\nEntropy is maximized when all outcomes are equally likely.\n")
Click Run to execute this code in your browser with WebR

6.2.2 Divergencia de Kullback-Leibler

La divergencia de Kullback-Leibler (KL) mide qué tan diferentes son dos distribuciones:

DKL(p∥q)=∑ipilog⁡piqiD_{\text{KL}}(p \| q) = \sum_i p_i \log \frac{p_i}{q_i}

La divergencia KL siempre es no negativa y es cero solo cuando p=qp = q. Mide la información perdida cuando qq se usa para aproximar pp.

# Compute KL divergence
# D_KL(p || q) = sum(p * log(p/q))

# True distribution

p <- c(0.7, 0.2, 0.1)

# Two approximations

q1 <- c(0.6, 0.3, 0.1) # close to p
q2 <- c(0.3, 0.3, 0.4) # far from p

KL1 <- sum(p _ log(p / q1))
KL2 <- sum(p _ log(p / q2))

cat("D_KL(p || q1) =", round(KL1, 4), "(close approximation)\n")
cat("D_KL(p || q2) =", round(KL2, 4), "(poor approximation)\n")
cat("\nKL divergence is always >= 0\n")
cat("KL = 0 only when p = q\n")
Click Run to execute this code in your browser with WebR

6.2.3 Log-verosimilitud como medida de rendimiento del modelo

La log-verosimilitud esperada (o densidad predictiva puntual logarítmica esperada) es la medida natural de rendimiento del modelo:

lppd=∑i=1Nlog⁡Eθ∣D[p(yi∣θ)]\text{lppd} = \sum_{i=1}^{N} \log E_{\theta \mid D}[p(y_i \mid \theta)]

Esto mide qué tan bien el modelo predice datos nuevos. Cuanto mayor sea el lppd, mejor el modelo. La conexión con la teoría de la información es a través de la divergencia KL: el modelo que minimiza DKL(pverdadera∥pmodelo)D_{\text{KL}}(p_\text{verdadera} \| p_\text{modelo}) también maximiza la log-verosimilitud esperada.

# Demonstrate log-likelihood as model performance
set.seed(42)
n <- 100
x <- runif(n, 0, 10)
y <- 1 + 2 * x + rnorm(n, sd = 2)

# Three models with different complexity

m1 <- lm(y ~ x) # linear (correct)
m2 <- lm(y ~ x + I(x^2)) # quadratic (overfit)
m3 <- lm(y ~ 1) # intercept only (underfit)

# Log-likelihood (higher is better)

ll1 <- logLik(m1)
ll2 <- logLik(m2)
ll3 <- logLik(m3)

cat("Log-likelihoods (higher is better):\n")
cat(" Linear (correct):", round(as.numeric(ll1), 2), "\n")
cat(" Quadratic (overfit):", round(as.numeric(ll2), 2), "\n")
cat(" Intercept only (underfit):", round(as.numeric(ll3), 2), "\n")

cat("\nThe quadratic model has the highest log-likelihood\n")
cat("because it has more parameters. But it may overfit.\n")
cat("Information criteria adjust for this.\n")
Click Run to execute this code in your browser with WebR
Rethinking

La teoría de la información unifica la comparación de modelos. La divergencia KL proporciona una forma principiada de comparar modelos: el mejor modelo es el que minimiza la divergencia KL respecto a la distribución verdadera. Como no conocemos la distribución verdadera, no podemos calcular la divergencia KL directamente. Pero podemos estimarla usando criterios de información (Sección 6.4), que aproximan la log-verosimilitud esperada en datos nuevos. Esta es la base teórico-informacional de la comparación de modelos.

Overthinking

De la divergencia KL al WAIC. La conexión entre la divergencia KL y los criterios de información es la siguiente. La log-verosimilitud esperada en datos nuevos es:

Ey~[log⁡p(y~∣D)]=Ey~[∑ilog⁡∫p(y~i∣θ) p(θ∣D) dθ]E_{\tilde{y}}[\log p(\tilde{y} \mid D)] = E_{\tilde{y}}\left[\sum_i \log \int p(\tilde{y}_i \mid \theta) \, p(\theta \mid D) \, d\theta\right]

Este es el lppd fuera de muestra. No podemos calcularlo directamente porque no tenemos datos nuevos. Pero podemos estimarlo a partir de la muestra. El lppd dentro de muestra está sesgado hacia arriba (sobreajuste), así que necesitamos una penalización. WAIC usa la varianza de la log-verosimilitud a través de las muestras a posteriori como penalización:

WAIC=−2(lppd−pWAIC)\text{WAIC} = -2(\text{lppd} - p_\text{WAIC})

donde pWAIC=∑iVarθ∣D[log⁡p(yi∣θ)]p_\text{WAIC} = \sum_i \text{Var}_{\theta \mid D}[\log p(y_i \mid \theta)] es el número efectivo de parámetros.

Resumen de la Sección 6.2

  • La entropía H(p)=−∑pilog⁡piH(p) = -\sum p_i \log p_i mide la incertidumbre.
  • La divergencia KL DKL(p∥q)D_{\text{KL}}(p \| q) mide la información perdida cuando qq aproxima pp.
  • La log-verosimilitud esperada es la medida natural de rendimiento del modelo.
  • El mejor modelo minimiza la divergencia KL respecto a la verdad, lo que maximiza la log-verosimilitud esperada.
  • WAIC estima el lppd fuera de muestra con una penalización por parámetros efectivos.