시작하기무료로 시작하기

마르코프 체인 트레이스 플롯

트레이스 플롯(trace plot)은 마르코프 체인의 종단적(longitudinal) 거동을 시각화합니다. 구체적으로, \(m\) 체인의 트레이스 플롯은 관측된 체인 값(y축)을 해당 반복(iteration) 번호(x축)에 대해 그립니다.

여러분은 \(m\) 체인의 트레이스 플롯을 두 가지 방식으로 만들어 볼 거예요. 첫째, 내장 함수 plot()mcmc.list 객체 sleep_sim에 적용하는 방법이고, 둘째, 이 그래픽을 더 세밀하게 제어하고(또한 이후 장의 분석도 더 유연하게 하기 위해) data.frame 객체 sleep_chainsggplot()을 적용하는 방법입니다. sleep_simsleep_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_simplot()을 적용해 $m$과 \(s\) 체인의 트레이스 플롯을 그리세요. 참고: 기록된 10,000개의 Iterations는 샘플을 버리는 "burn-in" 구간 이후부터 시작합니다. 따라서 Iterations 숫자는 1부터 시작하지 않아요!

  • sleep_chainsgeom_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()
코드 편집 및 실행