Обчислення апостеріорних прогнозів
Ви щойно дослідили апостеріорну тенденцію ваги \(Y\) серед дорослих із зростом \(X = 180\): \(m\)180 \(= a + b * 180\). У датафреймі weight_chains міститься 100 000 апостеріорно правдоподібних значень \(m\)180, які ви обчислили з відповідних значень \(a\) та \(b\):
> head(weight_chains, 2)
a b s iter m_180
1 -113.9029 1.072505 8.772007 1 79.14803
2 -115.0644 1.077914 8.986393 2 78.96014
Залишімо тенденцію — а що, як ви хочете передбачити вагу конкретної дорослої людини зі зростом 180 см? Це можливо! Для цього потрібно врахувати індивідуальні відхилення від тенденції, змодельовані як
\(Y\)180 \(\sim N(m\)180\(, s^2)\)
Використовуючи цю модель, ви зімітуєте прогнози ваги для кожного набору апостеріорно правдоподібних параметрів у weight_chains.
Ця вправа є частиною курсу
Баєсівське моделювання з RJAGS
Інструкції до вправи
- Використайте
rnorm(), щоб змоделювати один прогноз ваги за налаштувань параметрів у першому рядкуweight_chains. - Повторіть те саме, використовуючи налаштування параметрів у другому рядку
weight_chains. - Змоделюйте один прогноз ваги для кожного з 100 000 наборів параметрів у
weight_chains. Збережіть їх як нову зміннуY_180уweight_chains. - Виведіть перші 6 рядків значень параметрів і прогнозів у
weight_chains.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Simulate 1 prediction under the first parameter set
rnorm(n = 1, mean = ___, sd = ___)
# Simulate 1 prediction under the second parameter set
rnorm(n = 1, mean = ___, sd = ___)
# Simulate & store 1 prediction under each parameter set
weight_chains <- weight_chains %>%
mutate(Y_180 = rnorm(n = 100000, mean = ___, sd = ___))
# Print the first 6 parameter sets & predictions