ПочатиПочніть безкоштовно

Трейс-плоти ланцюгів Маркова

Трейс-плот візуалізує поведінку ланцюга в часі у методі Монте-Карло за ланцюгами Маркова. Зокрема, трейc-плот для ланцюга \(m\) показує спостережуване значення ланцюга (вісь y) проти відповідного номера ітерації (вісь x).

Ви побудуєте трейc-плоти ланцюга \(m\) двома способами: застосувавши вбудовану функцію plot() до обʼєкта mcmc.list sleep_sim і, для точнішого керування графікою (а також подальшими аналізами в наступних розділах), застосувавши ggplot() до обʼєкта data.frame sleep_chains. Обидва обʼєкти 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

Переглянути курс

Інструкції до вправи

  • Застосуйте plot() до sleep_sim з параметром density = FALSE, щоб побудувати трейc-плоти для ланцюгів \(m\) та \(s\). ПРИМІТКА: 10 000 зафіксованих Iterations починаються після періоду «розігріву» (burn-in), упродовж якого зразки відкидаються. Тому відлік Iterations не починається з 1!

  • Застосуйте ggplot() з шаром geom_line() до sleep_chains, щоб відтворити трейc-плот ланцюга $m`.

  • Збільште масштаб: побудуйте трейc-плот ggplot() для перших 100 ітерацій ланцюга \(m\).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()
Редагувати та запускати код