Aan de slagGa gratis aan de slag

De afhankelijkheid van X van p simuleren

In je poging om in een openbaar ambt gekozen te worden, peilt je campagne 10 waarschijnlijke kiezers. Laat \(X\) het aantal zijn dat jou steunt. Natuurlijk varieert \(X\) van steekproef tot steekproef en hangt het af van \(p\), je onderliggende steun in de bredere bevolking. Omdat \(X\) het aantal successen telt in 10 onafhankelijke pogingen, elk met succeskans \(p\), kun je de afhankelijkheid van \(p\) modelleren met de Binomiale verdeling: Bin(10, \(p\)).

Je gaat het Binomiale model simuleren met willekeurige steekproeven uit de functie rbinom(n, size, prob). Deze gevectoriseerde functie trekt n steekproeven uit een Bin(size, prob) verdeling. Gegeven een vector met prob-waarden, wordt de eerste prob-waarde gebruikt voor de eerste trekking, de tweede prob-waarde voor de tweede trekking, enzovoort.

Deze oefening maakt deel uit van de cursus

Bayesiaans modelleren met RJAGS

Cursus bekijken

Oefeninstructies

  • Definieer een seq() van 1000 mogelijke waarden van \(p\) tussen 0 en 1. Sla deze op als p_grid.
  • Gebruik rbinom() om één peilingresultaat \(X\) te simuleren voor elk van de 1000 $p$’s in p_grid. Ken deze toe aan poll_result.
  • Het likelihood_sim-dataframe combineert p_grid en poll_result. Gebruik ggplot() met een geom_density_ridges()-laag om de verdeling van p_grid-waarden (x-as) te laten zien waaruit elk poll_result is gesimuleerd (y-as).

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren