Biểu đồ vết (trace) của chuỗi Markov
Một trace plot giúp bạn trực quan hóa diễn biến theo thời gian của chuỗi Markov. Cụ thể, trace plot cho chuỗi \(m\) sẽ vẽ giá trị quan sát của chuỗi (trục y) theo số lần lặp tương ứng (trục x).
Bạn sẽ dựng trace plot của chuỗi \(m\) theo hai cách: dùng hàm có sẵn plot() áp dụng cho đối tượng mcmc.list là sleep_sim và, để kiểm soát đồ họa tốt hơn (và kiểm soát phân tích ở các chương sau), dùng ggplot() áp dụng cho đối tượng data.frame là sleep_chains. Cả sleep_sim và sleep_chains đều đã có trong workspace của bạn:
sleep_sim <- coda.samples(model = sleep_jags, variable.names = c("m", "s"), n.iter = 10000)
sleep_chains <- data.frame(sleep_sim[[1]], iter = 1:10000)
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
Áp dụng
plot()chosleep_simvớidensity = FALSEđể dựng trace plot cho các chuỗi \(m\) và \(s\). LƯU Ý: 10.000Iterationsđược ghi nhận bắt đầu sau giai đoạn "burn-in" khi các mẫu bị loại bỏ. Vì vậy, số đếmIterationskhông bắt đầu từ 1!Áp dụng
ggplot()với lớpgeom_line()chosleep_chainsđể dựng lại trace plot của chuỗi $m`.Phóng to: dựng một trace plot với
ggplot()cho 100 lần lặp đầu tiên của chuỗi $m`.
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.
# Use plot() to construct trace plots of the m and s chains
# Use ggplot() to construct a trace plot of the m chain
ggplot(___, aes(x = ___, y = ___)) +
geom_line()
# Trace plot the first 100 iterations of the m chain
ggplot(___, aes(x = ___, y = ___)) +
geom_line()