ПочатиПочніть безкоштовно

Скорочений шлях із умовою

Чудово, ви щойно виконали байєсівські обчислення без жодного моделювання! Побудований вами графік має бути схожим на апостеріорний розподіл, який ви обчислювали в розділі 3. Однак видно, що коду вийшло дуже багато — чи можна щось скоротити?

Так! Можна безпосередньо застосувати умовлення на основі даних — немає потреби спершу будувати спільний розподіл.

Ця вправа є частиною курсу

Основи байєсівського аналізу даних у R

Переглянути курс

Інструкції до вправи

  • Задайте n_visitors безпосередньо значенням 6, просто замініть вираз seq.
  • Тепер ви можете вилучити рядок, який задає умовлення на даних, і наступний рядок, який нормує pars$probability.
  • Уважно перегляньте фінальний код і переконайтеся, що результат зміненого коду буде таким самим, як і раніше. :)

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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")
Редагувати та запускати код