Как я могу сгенерировать график, похожий на тот, который создается plot.bugs и plot.jags из mcmc.list? [закрыто]

9

R , кажется , чтобы иметь возможность вывод хороших краткие заговоры от bugsи jagsобъектов , порожденные функциями R2WinBUGS :: жучков и R2jags: откосы .

Тем не менее, я использую 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)может быть легче начать.

Abe
источник
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)
user12719
источник
1
Это полезная подсказка, но она не решает проблему запуска с mcmc.list(насколько я могу судить).
Дэвид Лебауэр