ÎncepețiÎncepe gratuit

Simularea dependenței lui X față de p

În campania ta pentru o funcție publică, echipa ta sondează 10 alegători probabili. Fie \(X\) numărul celor care te susțin. Desigur, \(X\) variază de la un eșantion la altul și depinde de \(p\), nivelul tău de susținere în populația generală. Deoarece \(X\) numără succesele din 10 încercări independente, fiecare cu probabilitatea de succes \(p\), poți modela dependența sa față de \(p\) prin distribuția Binomială: Bin(10, \(p\)).

Vei simula modelul Binomial folosind eșantioane aleatoare generate cu funcția rbinom(n, size, prob). Această funcție vectorizată generează n eșantioane dintr-o distribuție Bin(size, prob). Dacă prob este un vector de valori, prima valoare din prob va fi folosită pentru prima extragere, a doua valoare pentru a doua extragere și tot așa.

Acest exercițiu face parte din cursul

Modelare bayesiană cu RJAGS

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește un seq() cu 1000 de valori posibile ale lui \(p\), cuprinse între 0 și 1. Stochează-l în p_grid.
  • Folosește rbinom() pentru a simula un rezultat \(X\) al sondajului pentru fiecare dintre cele 1000 de valori \(p\) din p_grid. Atribuie rezultatele variabilei poll_result.
  • Cadrul de date likelihood_sim combină p_grid și poll_result. Folosește ggplot() cu un strat geom_density_ridges() pentru a ilustra distribuția valorilor p_grid (axa x) din care a fost simulat fiecare poll_result (axa y).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul