Kom igångKom igång gratis

En villkorlig genväg

Nu har du genomfört en bayesiansk beräkning – utan någon simulering! Diagrammet du skapade bör likna den posteriora fördelning du beräknade i kapitel 3. Men du kan se att det krävdes väldigt mycket kod. Går det att förenkla?

Ja, det gör det! Du kan villkora direkt på data – det behövs ingen gemensam fördelning som mellansteg.

Den här övningen är en del av kursen

Grunderna i bayesiansk dataanalys i R

Visa kurs

Övningsinstruktioner

  • Sätt n_visitors direkt till 6 – ersätt helt enkelt seq-satsen.
  • Nu kan du ta bort raden som villkorar på data, samt raden efter den som normaliserar pars$probability.
  • Ta en extra titt på den slutliga koden och försäkra dig om att det modifierade resultatet blir detsamma som tidigare. :)

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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")
Redigera och kör kod