НачатьНачать бесплатно

Вычисление апостериорных прогнозов

Вы уже изучили апостериорный тренд веса \(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
Редактировать и запускать код