CommencezCommencez gratuitement

Simuler la dépendance de X à p

Dans votre course à une charge publique, votre campagne sonde 10 électeurs probables. Soit \(X\) le nombre qui vous appuient. Bien sûr, \(X\) varie d'un échantillon à l'autre et dépend de \(p\), votre appui réel dans l'ensemble de la population. Comme \(X\) est un nombre de succès sur 10 essais indépendants, chacun ayant une probabilité de succès \(p\), vous pouvez modéliser sa dépendance à \(p\) par la loi binomiale : Bin(10, \(p\)).

Vous allez simuler le modèle binomial à l'aide d'échantillons aléatoires de la fonction rbinom(n, size, prob). Cette fonction vectorisée tire n échantillons d'une distribution Bin(size, prob). Étant donné un vecteur de valeurs prob, la première valeur de prob sera utilisée pour le premier tirage, la deuxième valeur pour le deuxième tirage, et ainsi de suite.

Cette activité fait partie du cours

Modélisation bayésienne avec RJAGS

Voir le cours

Instructions de l’exercice

  • Définissez une seq() de 1000 valeurs possibles de \(p\) allant de 0 à 1. Enregistrez-la dans p_grid.
  • Utilisez rbinom() pour simuler un résultat de sondage \(X\) pour chacun des 1000 \(p\) de p_grid. Assignez ces valeurs à poll_result.
  • Le tableau de données 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 ce code d’exemple.

# 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