R solo alternativas a BUGS [cerrado]

13

Estoy siguiendo un curso sobre estadísticas bayesianas usando BUGS y R. Ahora, ya conozco BUGS, es genial, pero no me gusta mucho usar un programa separado en lugar de solo R.

He leído que hay muchos paquetes bayesianos nuevos en R. ¿Hay una lista o referencia sobre qué paquetes hay para las estadísticas bayesianas y qué hacen? Y, ¿hay una alternativa de paquete R para la flexibilidad de BUGS?

Sacha Epskamp
fuente

Respuestas:

8

Puede echar un vistazo al paquete MCMCglmm que viene con viñetas muy bonitas. También hay una bayesglm()función para ajustar modelos lineales generalizados bayesianos en el paquete de brazo , por Andrew Gelman. También he oído hablar de futuras versiones blmer / bglmerfunciones para el modelado jerárquico en el mismo paquete.

chl
fuente
2
En el brazo del paquete están los errores de fucntion, que le permiten llamar a los errores desde R. Eso es lo que uso en mi investigación. En el blog de Gelman hay un ejemplo de criar winbugs por R.
Manoel Galdino
6

Algunas personas que conozco han estado usando JAGS . La sintaxis de JAGS es similar a BUGS.

csgillespie
fuente
(+1 pero creo que el OP está buscando una solución R pura). Funciona muy bien con el paquete rjags , pero aún necesitamos especificar nuestro modelo en la sintaxis de BUGS en un archivo externo.
chl
5

En segundo lugar, la vista de tareas bayesianas. Solo agregaría un voto para MCMCpack , un paquete maduro que ofrece una variedad de modelos. En su mayor parte, también está bastante bien documentado.

JMS
fuente
0

El rendimiento es la razón principal por la que las personas usan WinBUGS / OpenBUGS / JAGS frente a paquetes como MCMglmm. Es muy difícil, no práctico, escribir una muestra de Gibbs eficiente en R. nativa. Hay paquetes que le permiten ejecutar modelos BUGS desde un script R, especialmente RBUGS y BUGSParallel .

Jeff Hall
fuente
1
MCMCglammes un mal ejemplo porque "[a] ll simulación se realiza en C / C ++ usando la biblioteca CSparse para sistemas lineales dispersos" (ver resumen ).
Bernd Weiss
1
-1; ver @Bernd. La mayoría de los paquetes maduros usan código compilado. La razón principal es que BUGS et al son más flexibles porque pueden adaptarse a más modelos. Si bien esto puede conducir a un cálculo más eficiente, ya que un paquete R, incluso con código compilado, debe ser más general, puede que no.
JMS
1
MCMCpack utiliza código compilado C / C ++, optimizado para la tarea en cuestión, por lo que en realidad es más rápido que hacer algo en un paquete generalizado como JAGS (para una tarea en particular).
Wayne