模擬 X 對 p 的相依關係
在你競選公職的過程中,你的團隊對 10 位可能投票者進行民調。令 \(X\) 為支持你的人數。當然,\(X\) 會因樣本而異,並且取決於 $p$,也就是你在更大母體中的基礎支持度。由於 \(X\) 是在 10 次相互獨立試驗中成功次數的計數,而每次成功的機率為 $p$,因此你可以用二項分配 Bin(10, \(p\)) 來刻畫 \(X\) 對 \(p\) 的相依關係。
你將使用 rbinom(n, size, prob) 函式進行隨機抽樣,來模擬這個二項模型。這個「向量化」函式會從 Bin(size, prob) 分配中抽取 n 個樣本。當你提供的是 prob 的「向量」時,第一次抽樣會使用第一個 prob 值,第二次抽樣會使用第二個 prob 值,依此類推。
本練習屬於課程
使用 RJAGS 的貝氏建模
練習說明
- 建立一個由 0 到 1、包含 1000 個可能 \(p\) 值的
seq(),並儲存為p_grid。 - 使用
rbinom(),針對p_grid中的 1000 個 $p$,各模擬一個民調結果 $X$,指定為poll_result。 likelihood_sim資料框結合了p_grid與poll_result。使用ggplot()並加入geom_density_ridges()圖層,說明每個poll_result所對應的p_grid值在x軸上的分布(y軸為poll_result)。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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()