Tanto bayesglm()
(en el paquete arm R) como varias funciones en el paquete MCMCpack están destinadas a hacer una estimación bayesiana de modelos lineales generalizados, pero no estoy seguro de que realmente estén calculando lo mismo. Las funciones MCMCpack utilizan la cadena de Markov Monte Carlo para obtener una muestra (dependiente) de la articulación posterior para los parámetros del modelo. bayesglm()
, por otro lado, produce. No estoy seguro de qué.
Parece que bayesglm()
produce una estimación puntual, lo que lo convertiría en una estimación MAP (máximo a posteriori) en lugar de una estimación bayesiana completa, pero hay una sim()
función que parece que puede usarse para obtener dibujos posteriores.
¿Alguien puede explicar la diferencia en el uso previsto para los dos? ¿Puede bayesglm() + sim()
producir verdaderos dibujos posteriores, o es algún tipo de aproximación?
fuente
Respuestas:
Para ver el código fuente completo, debe descargar la
arm
fuente del paquete de CRAN (es un tarball). Una mirada rápida a lasim
función me hace pensar quearm
es un método aproximado de Bayes, ya que parece asumir la normalidad multivariada de las estimaciones de máxima verosimilitud. En modelos con una probabilidad de registro muy no cuadrática, como el modelo logístico binario, es poco probable que sea lo suficientemente preciso. Me gustaría recibir algunos comentarios de otros sobre esto. Lo he usadoMCMCpack
con éxito; Proporciona una solución bayesiana exacta para muchos modelos, dados suficientes dibujos posteriores y la convergencia de MCMC.fuente