Tái lập kết quả
Giờ bạn đã hoàn thành (và vượt qua!) một số phép chẩn đoán chuỗi Markov, bạn sẵn sàng hoàn tất mô phỏng RJAGS. Để làm được điều này, khả năng tái lập là yếu tố then chốt. Để thu được đầu ra mô phỏng có thể tái lập, bạn phải đặt seed cho bộ sinh số ngẫu nhiên của RJAGS. Cách làm này khác với R cơ bản. Thay vì dùng set.seed(), bạn sẽ chỉ định seed khởi đầu bằng inits = list(.RNG.name = "base::Wichmann-Hill", .RNG.seed = ___) khi bạn biên dịch (compile) mô hình.
Bài tập này là một phần của khóa học
Mô hình hóa Bayesian với RJAGS
Hướng dẫn bài tập
Chạy đoạn mã đã cho vài lần. Bạn sẽ thấy các thống kê từ
summary()thay đổi mỗi lần.Để có kết quả có thể tái lập, cung cấp
initscủa bộ sinh số ngẫu nhiên chojags.model(). Chỉ định seed khởi đầu là 1989.Chạy đoạn mã mới vài lần. Lưu ý rằng các thống kê từ
summary()KHÔNG thay đổi!
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)