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

Априорные распределения в регрессии

Пусть \(Y\)i — масса тела (в кг) испытуемого \(i\). Предыдущие исследования показали, что масса тела линейно связана с ростом \(X\)i (в см). Среднюю массу \(m\)i среди взрослых с одинаковым ростом \(X\)i можно записать как \(m\)i \(= a + b X\)i. Однако рост не является идеальным предиктором массы тела — индивидуальные значения отклоняются от общей тенденции. Поэтому разумно предположить, что \(Y\)i распределены нормально вокруг \(m\)i с остаточным стандартным отклонением \(s\): \(Y\)i \(\sim N(m\)i, \(s^2)\).

Обратите внимание на 3 параметра модели зависимости массы от роста: свободный член \(a\), наклон \(b\) и стандартное отклонение \(s\). На первом шаге байесовского анализа вы смоделируете следующие априорные распределения для этих параметров: \(a \sim N(0, 200^2)\), \(b \sim N(1, 0{,}5^2)\) и \(s \sim Unif(0, 20)\).

Это упражнение является частью курса

Байесовское моделирование с RJAGS

Посмотреть курс

Инструкции к упражнению

  • Сгенерируйте по 10 000 значений из каждого из априорных распределений для \(a\), \(b\) и \(s\). Сохраните результаты в переменные a, b и s. Затем они объединяются во фрейм данных samples вместе с set = 1:10000 — индикатором номера выборки.
  • Постройте отдельные графики плотности для выборок a, b и s.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Take 10000 samples from the a, b, & s priors
a <- ___
b <- ___
s <- ___

# Store samples in a data frame
samples <- data.frame(set = 1:10000, a, b, s)

# Construct density plots of the prior samples    
ggplot(___, aes(x = ___)) + 
    ___()
ggplot(___, aes(x = ___)) + 
    ___()
ggplot(___, aes(x = ___)) + 
    ___()
Редактировать и запускать код