EmpezarEmpieza gratis

Un atajo con condicionamiento

¡Genial! Ya has hecho algo de cómputo bayesiano sin necesidad de ninguna simulación. La gráfica que generaste debería parecerse a la distribución posterior que calculaste en el capítulo 3. Sin embargo, puedes ver que requiere bastante código. ¿No hay algo que podamos recortar?

¡Sí! Puedes condicionar directamente en los datos; no hace falta crear primero la distribución conjunta.

Este ejercicio forma parte del curso

Fundamentos del Análisis de Datos Bayesiano en R

Ver curso

Instrucciones del ejercicio

  • Establece n_visitors directamente en 6; simplemente sustituye la sentencia seq.
  • Ahora puedes eliminar la línea que condiciona en los datos y, justo después, la línea que normaliza pars$probability.
  • Revisa el código final y convéncete de que el resultado de este código modificado será el mismo que antes. :)

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Simplify the code below by directly conditioning on the data
n_ads_shown <- 100
proportion_clicks <- seq(0, 1, by = 0.01)
n_visitors <- seq(0, 100, by = 1)
pars <- expand.grid(proportion_clicks = proportion_clicks,
                    n_visitors = n_visitors)
pars$prior <- dunif(pars$proportion_clicks, min = 0, max = 0.2)
pars$likelihood <- dbinom(pars$n_visitors, 
    size = n_ads_shown, prob = pars$proportion_clicks)
pars$probability <- pars$likelihood * pars$prior
pars$probability <- pars$probability / sum(pars$probability)
pars <- pars[pars$n_visitors == 6, ]
pars$probability <- pars$probability / sum(pars$probability)
plot(pars$proportion_clicks, pars$probability, type = "h")
Editar y ejecutar código