마르코프 체인 트레이스 플롯
트레이스 플롯(trace plot)은 마르코프 체인의 종단적(longitudinal) 거동을 시각화합니다. 구체적으로, \(m\) 체인의 트레이스 플롯은 관측된 체인 값(y축)을 해당 반복(iteration) 번호(x축)에 대해 그립니다.
여러분은 \(m\) 체인의 트레이스 플롯을 두 가지 방식으로 만들어 볼 거예요. 첫째, 내장 함수 plot()을 mcmc.list 객체 sleep_sim에 적용하는 방법이고, 둘째, 이 그래픽을 더 세밀하게 제어하고(또한 이후 장의 분석도 더 유연하게 하기 위해) data.frame 객체 sleep_chains에 ggplot()을 적용하는 방법입니다. sleep_sim과 sleep_chains는 작업 공간에 준비되어 있어요:
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)
이 연습은 강의의 일부입니다
RJAGS로 배우는 Bayesian 모델링
연습 안내
density = FALSE옵션으로sleep_sim에plot()을 적용해 $m$과 \(s\) 체인의 트레이스 플롯을 그리세요. 참고: 기록된 10,000개의Iterations는 샘플을 버리는 "burn-in" 구간 이후부터 시작합니다. 따라서Iterations숫자는 1부터 시작하지 않아요!sleep_chains에geom_line()레이어를 포함한ggplot()을 적용해 \(m\) 체인의 트레이스 플롯을 다시 그리세요.확대: \(m\) 체인의 처음 100번 반복에 대한
ggplot()트레이스 플롯을 그리세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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()