CommencerCommencer gratuitement

Simuler la dépendance de X vis-à-vis de p

Dans votre course à un mandat public, votre équipe sonde 10 électeurs probables. Soit \(X\) le nombre de personnes qui vous soutiennent. Bien sûr, \(X\) varie d’un échantillon à l’autre et dépend de \(p\), votre soutien sous-jacent dans la population générale. Comme \(X\) compte les succès sur 10 essais indépendants, chacun avec une probabilité de succès \(p\), vous pouvez modéliser sa dépendance à \(p\) par une loi binomiale : Bin(10, \(p\)).

Vous allez simuler le modèle binomial en tirant des échantillons aléatoires avec la fonction rbinom(n, size, prob). Cette fonction est vectorisée : elle génère n tirages à partir d’une Bin(size, prob). Si vous fournissez un vecteur de valeurs prob, la première valeur de prob sera utilisée pour le premier tirage, la deuxième pour le deuxième, etc.

Cet exercice fait partie du cours

Modélisation bayésienne avec RJAGS

Afficher le cours

Instructions

  • Définissez une seq() de 1000 valeurs possibles de \(p\) allant de 0 à 1. Stockez-la dans p_grid.
  • Utilisez rbinom() pour simuler un résultat de sondage \(X\) pour chacun des 1000 \(p\) de p_grid. Stockez ces valeurs dans poll_result.
  • Le data frame likelihood_sim combine p_grid et poll_result. Utilisez ggplot() avec une couche geom_density_ridges() pour illustrer la distribution des valeurs de p_grid (axe x) à partir desquelles chaque poll_result a été simulé (axe y).

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code