Un raccourci conditionnel
Super, vous venez d'effectuer un calcul bayésien, sans aucune simulation ! Le graphique que vous avez produit devrait ressembler à la distribution a posteriori calculée au chapitre 3. Toutefois, vous voyez que cela demande pas mal de code ; n'y a-t-il rien à simplifier ?
Si, bien sûr ! Vous pouvez conditionner directement sur les données, sans avoir à créer d'abord la distribution conjointe.
Cet exercice fait partie du cours
<cours>Fondamentaux de l'analyse bayésienne des données en R</cours>Instructions de l’exercice
- Affectez directement la valeur
6àn_visitors, en remplaçant simplement l'instructionseq. - Vous pouvez maintenant supprimer la ligne qui conditionne sur les données, ainsi que la ligne suivante qui normalise
pars$probability. - Examinez une dernière fois le code final et convainquez-vous que le résultat de ce code modifié sera identique à celui d'avant. :)
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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")