開始使用免費開始

可重現性

既然你已經完成(而且通過!)一些馬可夫鏈診斷,就可以來完成你的 RJAGS 模擬了。為了達成這個目標,「可重現性」非常關鍵。若要得到可重現的模擬輸出,你必須設定 RJAGS 隨機數產生器的種子。這與 base R 的作法不同。你不會用 set.seed(),而是在「編譯」模型時,用 inits = list(.RNG.name = "base::Wichmann-Hill", .RNG.seed = ___) 指定起始種子。

本練習屬於課程

使用 RJAGS 的貝氏建模

檢視課程

練習說明

  • 將提供的程式碼執行數次。留意每次 summary() 統計值都會改變。

  • 為了得到可重現的結果,把隨機數產生器的 inits 提供給 jags.model()。將起始種子設為 1989。

  • 再把新的程式碼執行數次。你會發現 summary() 統計值不會改變!

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# COMPILE the model
sleep_jags <- jags.model(textConnection(sleep_model), data = list(Y = sleep_study$diff_3)) 

# SIMULATE the posterior    
sleep_sim <- coda.samples(model = sleep_jags, variable.names = c("m", "s"), n.iter = 10000)

# Summarize the m and s chains of sleep_sim
summary(sleep_sim)
編輯並執行程式碼