Como posso gerar um gráfico semelhante ao produzido por plot.bugs e plot.jags a partir de um mcmc.list? [fechadas]


9

R parece ser capaz de gerar gráficos de resumo agradáveis ​​dos objetos bugse jagsgerados pelas funções R2WinBUGS :: bugs e R2jags: jags .

No entanto, estou usando o rjagspacote. Quando tento traçar os resultados da função rjags::coda.samplesusando R2WinBUGS::plot.mcmc.listos resultados, são plotagens de diagnóstico (densidade de parâmetros, séries temporais da cadeia, correlação automática) para cada parâmetro.

Abaixo está o tipo de plot que eu gostaria de produzir, no tutorial de Andrew Gelman "Running WinBuugs and OpenBugs from R" . Estes foram produzidos usando o plot.pugs.

O problema é que plot.bugsleva um bugsobjeto como argumento, enquanto plot.mcmc.listleva a saída de coda.samples.

Aqui está um exemplo (do coda.samples):

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

O que eu preciso é também

  • uma maneira de gerar um gráfico de resumo de uma página semelhante, rico em informações, semelhante ao produzido por plot.bugs
  • uma função que será convertida LINE.outem um objeto de bugs ou

insira a descrição da imagem aqui

Respostas:


2

Como não há respostas, pelo menos postarei o que obtive até agora:

A as.bugs.arrayfunção no R2WinBUGSpacote foi criada para esse fim. De acordo com a documentação ( ?as.bugs.array):

Função que converte resultados de simulações de cadeia de Markov, que podem não ser do BUGS, para o objeto bugs. Usado principalmente para exibir resultados com plot.bugs.

Portanto, é possível obter um gráfico LINE.outno seu exemplo, embora ele não plote as variáveis ​​corretas:

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

Vai demorar um pouco mais de trabalho para determinar a maneira correta de transformar LINE.outo LINE.samplesobjeto , e o objeto example(jags.samples)pode ser um local mais fácil para começar.


0

O seguinte parece funcionar para mim:

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)

Aqui está um exemplo reproduzível:

example(jags)
plot(jagsfit)

11
Essa é uma pista útil, mas não resolve o problema de começar com um mcmc.list(até onde eu sei).
19412 David LeBauer
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.