Código - Estadística Bayesiana: Actualización beta-binomial
Simula ensayos Bernoulli, actualiza una prior Beta y compara la probabilidad predictiva antes y después de observar los datos. Requiere solo R base.
Scripts reproducibles en R
Actualización beta-binomial
Simula ensayos Bernoulli, actualiza una prior Beta y compara la probabilidad predictiva antes y después de observar los datos. Requiere solo R base.
# R base. Datos simulados; se puede ejecutar completo en RStudio.
set.seed(2026)
n <- 80
y <- rbinom(n, size = 1, prob = 0.62)
exitos <- sum(y)
# Prior p ~ Beta(2, 2); verosimilitud binomial.
a0 <- 2
b0 <- 2
a_post <- a0 + exitos
b_post <- b0 + n - exitos
cat("Éxitos:", exitos, "de", n, "\n")
cat("Media posterior:", a_post / (a_post + b_post), "\n")
cat("IC creíble 95%:", qbeta(c(0.025, 0.975), a_post, b_post), "\n")
cat("P(p > 0.5 | datos):", 1 - pbeta(0.5, a_post, b_post), "\n")
# La probabilidad predictiva de éxito en el siguiente ensayo
# es E[p | datos] en el modelo beta-binomial.
cat("Predicción del siguiente éxito:", a_post / (a_post + b_post), "\n")
grid <- seq(0, 1, length.out = 500)
plot(grid, dbeta(grid, a0, b0), type = "l", lwd = 2,
xlab = "Probabilidad de éxito", ylab = "Densidad", col = "gray40")
lines(grid, dbeta(grid, a_post, b_post), lwd = 2, col = "steelblue")
legend("topright", c("Prior", "Posterior"),
col = c("gray40", "steelblue"), lwd = 2)Lenguaje: RDescargar script