Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj za pomocą seq() siatkę 1000 możliwych wartości \(p\) z zakresu od 0 do 1. Zapisz ją jako p_grid.
  • Użyj rbinom(), aby zasymulować jeden wynik ankiety \(X\) dla każdego z 1000 \(p\) z p_grid. Przypisz wyniki do poll_result.
  • Ramka danych likelihood_sim łączy p_grid i poll_result. Użyj ggplot() z warstwą geom_density_ridges(), aby pokazać rozkład wartości p_grid (oś x), z których zasymulowano każdy poll_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()
Edytuj i uruchom kod