Як я можу генерувати сюжет, схожий на той, що створений plot.bugs та plot.jags з mcmc.list? [зачинено]


9

Здається, R зможе вивести приємні підсумкові графіки з об'єктів bugsі jagsзгенерованих функціями R2WinBUGS :: помилки та R2jags: jags .

Однак я використовую rjagsпакет. Коли я намагаюся побудувати результати функції, rjags::coda.samplesвикористовуючи R2WinBUGS::plot.mcmc.listрезультати, це діагностичні діаграми (щільність параметрів, ланцюговий часовий ряд, автокореляція) для кожного параметра.

Нижче наведено тип сюжету, який я хотів би створити, з підручника Ендрю Гелмана "Запуск WinBuugs та OpenBugs від R" . Вони були виготовлені з використанням plot.pugs.

Проблема полягає в тому, що plot.bugsбере bugsоб’єкт як аргумент, а plot.mcmc.listприймає вихід coda.samples.

Ось приклад (з coda.samples)

 library(rjags)
 data(LINE)
 LINE$recompile()
 LINE.out <- coda.samples(LINE, c("alpha","beta","sigma"), n.iter=1000)
 plot(LINE.out)

Що мені і потрібно

  • спосіб генерувати аналогічний, насичений інформацією односторінковий підсумковий сюжет, подібний тому, який створив plot.bugs
  • функція, яка перетворить LINE.outна об’єкт помилок або

введіть тут опис зображення

Відповіді:


2

Оскільки відповідей немає, я принаймні опублікую те, що я отримав досі:

Для as.bugs.arrayцього R2WinBUGSбула створена функція в пакеті. Відповідно до документації ( ?as.bugs.array):

Перетворення функцій результатів симуляції ланцюга Маркова, що може бути від BUGS, в об’єкт помилок. В основному використовується для відображення результатів з plot.bugs.

Таким чином, можна отримати графік з LINE.outвашого прикладу, хоча він не побудує правильних змінних:

plot(as.bugs.array(sims.array = as.array(LINE.out)))        

Знадобиться трохи більше роботи, щоб визначити правильний спосіб перетворення LINE.out, і LINE.samplesоб'єкт з нього example(jags.samples)може бути легшим місцем для початку.


0

Здається, що для мене працює таке:

require(R2jags)
m <-jags(data=d,inits=i,pars,n.iter=1000,n.chains=3,model.file="foo.txt",DIC=F)
m <- autojags(m)
plot(m)

Ось відтворюваний приклад:

example(jags)
plot(jagsfit)

1
Це корисна підказка, але не вирішує проблему починати з mcmc.list(наскільки я можу сказати).
Девід Лебоуер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.