ABC

ABC significa, entre otras cosas, approximate bayesian computation. Por lo que parece, consiste en calcular 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.