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

Моделирование зависимости 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()
Редактировать и запускать код