Symulowanie zależności X od p
W kampanii wyborczej przeprowadzasz sondaż wśród 10 prawdopodobnych wyborców. Niech \(X\) oznacza liczbę osób, które cię popierają. Oczywiście \(X\) zmienia się z próbki na próbkę i zależy od \(p\) – twojego rzeczywistego poparcia w szerszej populacji. Ponieważ \(X\) to liczba sukcesów w 10 niezależnych próbach, z których każda ma prawdopodobieństwo sukcesu \(p\), zależność tę można modelować rozkładem dwumianowym: Bin(10, \(p\)).
Zasymulujesz model dwumianowy, korzystając z losowych próbek generowanych przez funkcję rbinom(n, size, prob). Ta zwektoryzowana funkcja losuje n próbek z rozkładu Bin(size, prob). Jeśli podasz wektor wartości prob, pierwsza wartość zostanie użyta przy pierwszym losowaniu, druga – przy drugim itd.
To ćwiczenie jest częścią kursu
Modelowanie bayesowskie z RJAGS
Instrukcje do ćwiczenia
- Zdefiniuj za pomocą
seq()siatkę 1000 możliwych wartości \(p\) z zakresu od 0 do 1. Zapisz ją jakop_grid. - Użyj
rbinom(), aby zasymulować jeden wynik ankiety \(X\) dla każdego z 1000 \(p\) zp_grid. Przypisz wyniki dopoll_result. - Ramka danych
likelihood_simłączyp_gridipoll_result. Użyjggplot()z warstwągeom_density_ridges(), aby pokazać rozkład wartościp_grid(ośx), z których zasymulowano każdypoll_result(ośy).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()