ABC
ABC significa, entre otras cosas, approximate bayesian computation. Por lo que parece, consiste en calcular $latex P(\theta ,|, \text{datos})$ por el tradicional y directo método del rechazo. Es decir:
- Planteas un modelo generativo, con sus prioris y todo.
- Simulas casos, casos y casos.
- Te quedas con los que cumplen un criterio de aceptación.
La distribución empírica de los parámetros en el subconjunto de los casos aceptados representa, en los libros está escrito, la distribución a posteriori. Sin MCMC ni historias.
Ejemplo basado en esto:
muertes.2015 <- 1131
muertes.2016 <- 1160
# parámetros de la priori
b <- 4
a <- b * muertes.2015
# prioris del incremento
sigma <- 0.02
genera_casos <- function(n){
incremento <- rnorm(n, mean = 0, sd = sigma)
lambdas.2015 <- rgamma(n, a, b)
lambdas.2016 <- lambdas.2015 * (1 + incremento)
foo <- function(x)
sapply(x, function(lambda) rpois(1, lambda))
sim.muertes.2015 <- foo(lambdas.2015)
sim.muertes.2016 <- foo(lambdas.2016)
# criterio de aceptación
mascara <- (muertes.2015 == sim.muertes.2015) & (muertes.2016 == sim.muertes.2016)
data.frame(
incremento = incremento[mascara],
lambdas.2015 = lambdas.2015[mascara],
lambdas.2016 = lambdas.2016[mascara]
)
}
res <- genera_casos(1e7)
Etc.