Simulera hur X beror på p
I din strävan att bli vald till ett offentligt ämbete låter din kampanj 10 sannolika väljare delta i en enkät. Låt \(X\) vara antalet som stöder dig. \(X\) varierar naturligtvis från urval till urval och beror på \(p\), ditt faktiska stöd i den bredare befolkningen. Eftersom \(X\) är ett antal lyckade utfall i 10 oberoende försök, där varje försök har sannolikheten \(p\) för ett lyckat utfall, kan du modellera dess beroende av \(p\) med binomialfördelningen: Bin(10, \(p\)).
Du simulerar binomialmodellen med hjälp av slumpmässiga urval från funktionen rbinom(n, size, prob). Den här vektoriserade funktionen drar n urval från en Bin(size, prob)-fördelning. Om ett vektorn av prob-värden anges används det första prob-värdet för det första draget, det andra prob-värdet för det andra draget och så vidare.
Den här övningen är en del av kursen
Bayesiansk modellering med RJAGS
Övningsinstruktioner
- Definiera en
seq()med 1 000 möjliga värden på \(p\) som sträcker sig från 0 till 1. Spara dessa somp_grid. - Använd
rbinom()för att simulera ett enkätresultat \(X\) för vart och ett av de 1 000 \(p\)-värdena ip_grid. Tilldela dessa tillpoll_result. - Dataramen
likelihood_simkombinerarp_gridochpoll_result. Användggplot()med ettgeom_density_ridges()-lager för att illustrera fördelningen avp_grid-värden (axelnx) från vilka varjepoll_resultsimulerades (axelny).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()