ÎncepețiÎncepe gratuit

O scurtătură condiționată

Excelent, ai realizat acum câteva calcule bayesiene fără nicio simulare! Graficul obținut ar trebui să fie similar cu distribuția posterioară calculată în capitolul 3. Totuși, vei observa că a necesitat destul de mult cod — nu există nimic ce am putea elimina?

Ba da! Poți condiționa direct pe date, fără a mai crea mai întâi distribuția comună.

Acest exercițiu face parte din cursul

Fundamentals of Bayesian Data Analysis in R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează n_visitors direct la valoarea 6, înlocuind instrucțiunea seq.
  • Acum poți elimina linia care condiționează pe date și linia de după, care normalizează pars$probability.
  • Aruncă o ultimă privire asupra codului final și convinge-te că rezultatul acestui cod modificat va fi același ca înainte. :)

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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")
Editează și rulează codul