開始使用免費開始

模擬 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_gridpoll_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()
編輯並執行程式碼