Моделирование зависимости X от p
В ходе предвыборной кампании вы проводите опрос среди 10 вероятных избирателей. Пусть \(X\) — количество тех, кто вас поддерживает. Разумеется, \(X\) меняется от выборки к выборке и зависит от \(p\) — уровня вашей поддержки в широкой популяции. Поскольку \(X\) представляет собой количество успехов в 10 независимых испытаниях, каждое из которых имеет вероятность успеха \(p\), его зависимость от \(p\) можно описать с помощью биномиального распределения: Bin(10, \(p\)).
Вы будете моделировать биномиальную модель, используя случайные выборки из функции rbinom(n, size, prob). Эта векторизованная функция генерирует n выборок из распределения Bin(size, prob). Если передать вектор значений prob, первое значение prob будет использоваться для первой генерации, второе — для второй и так далее.
Это упражнение является частью курса
Байесовское моделирование с RJAGS
Инструкции к упражнению
- С помощью
seq()задайте 1000 возможных значений \(p\) в диапазоне от 0 до 1. Сохраните результат в переменнуюp_grid. - Используйте
rbinom(), чтобы смоделировать один результат опроса \(X\) для каждого из 1000 значений \(p\) изp_grid. Запишите результаты вpoll_result. - Фрейм данных
likelihood_simобъединяетp_gridиpoll_result. Используйтеggplot()со слоемgeom_density_ridges(), чтобы отобразить распределение значенийp_grid(осьx), из которых был смоделирован каждыйpoll_result(осьy).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define a vector of 1000 p values
p_grid <- seq(from = ___, to = ___, length.out = ___)
# Simulate 1 poll result for each p in p_grid
# Create likelihood_sim data frame
likelihood_sim <- data.frame(p_grid, poll_result)
# Density plots of p_grid grouped by poll_result
ggplot(likelihood_sim, aes(x = ___, y = ___, group = poll_result)) +
geom_density_ridges()