Está en la página 1de 26

XXIII FORO NACIONAL DE ESTADISTICA

10-12 Sep. Boca del Ro, Veracruz

Modelacin Bayesiana: Conectando R con WinBUGS

Jos Salvador Zamora Muoz


Doctorado en Ciencias Matemticas, UNAM
p. 1/26

Orden de la presentacin
Introduccin al anlisis Bayesiano.
MCMC
El proyecto BUGS
WinBUGS
Interface R WinBUGS
Ejemplos
Comentarios finales

p. 2/26

Introduccin al anlisis Bayesiano


Distribucin inicial de los parmetros

P ()
Iniciales Informativas y No Informativas
Distribucin final
P (|D)
Teorema de Bayes

L (|D) P ()
P (|D) R
L (|D) P () d
p. 3/26

... contina: Introduccin al anlisis Bayesiano


Inferencias basadas en la distribucin final
- Media
- Mediana
- Moda
- Cuantiles
- Intervalos de probabilidad
- Distribuciones marginales
- Regiones de confianza
Simulacin de la distribucin final
- Mtodos que simulan variables independientes
- Inversin
- Aceptacin y rechazo
- Muestreo por importancia y SIR
p. 4/26

... contina: Introduccin al anlisis Bayesiano


Mtodos que simulan variables no independientes: MCMC
-Idea: Construir una cadena de Markov (fcil de simular)
cuya distribucin de equilibrio corresponda a nuestra
distribucin final
-Propiedades de la cadena: Homognea, Irreducible,
Aperidica, Reversible.
- Metropolis-Hastings
- Gibbs Sampler
- Slice Sampler
- Adaptativo
No siempre es fcil implementar estos algoritmos. Aqu es donde
entra WINBUGS
p. 5/26

Proyecto BUGS
1989 inicia con una versin para UNIX llamada
BUGS (Bayesian inference Using Gibbs Sampling)
1998 Primera versin para Windows: Nace WinBUGS
Windows Bayesian inference Using Gibbs Sampling
Desarrollado inicialmente por la unidad de Bioestadstica del
Medical Research Council (MRC), en Cambridge
Actualmente, trabajando conjuntamente con el Imperial
College School of Medicine, en St Marys, Londres

p. 6/26

...contina Proyecto BUGS


Tambin actual: OpenBUGS, desarrollado en la Universidad
de Helsinki, Finlandia

p. 7/26

Los responsables

p. 8/26

WinBUGS
Qu es WinBUGS?: Sofware para hacer anlisis Bayesiano de
modelos estadsticos complejos, usando Mtodos Monte Carlo
de Cadenas de Markov (MCMC)
Plataforma: Windows.
Esfuerzos para correrlo bajo Linux usando Wine y
VMWare
Mtodos para muestrear en WinBUGS
- Gibbs sampling como base para construir las cadenas
- En cada iteracin de Gibbs, se muestrea de una de las
distribuciones condicionales completas
- En general se muestrea sobre nodos univariados, pero
puede hacerse de nodos multivariados
p. 9/26

...contina WinBUGS
Eleccin del mtodo para muestrear
- Durante el proceso de compilacin, WinBUGS
elige el mtodo que utilizar para muestrear
de cada condicional completa
Condicionales completas conjugadas Algoritmos estndar
Condicionales completas no conjugadas con rango
RWMetropolis
Condicionales completas no estndar, pero log-cncavas
Mtodo de muestreo adaptativo de regiones, libre de derivacin
Condicionales completas no log-cncavas o con rango
restringido Slice sampling
p. 10/26

...contina WinBUGS
Elementos para especificar un modelo en WinBUGS
Cdigo con el modelo a simular
Distribuciones iniciales de los parmetros (nodos)
Datos
Valores iniciales de los parmetros

p. 11/26

...contina WinBUGS
Pantalla principal WinBUGS

p. 12/26

...contina WinBUGS
Pantalla: lectura y compilacin del modelo

p. 13/26

...contina WinBUGS
Pantalla: parmetros a muestrear y especificacin de la cadena

p. 14/26

...contina WinBUGS
Pantalla: Actualizacin de los parmetros

p. 15/26

...contina WinBUGS
Modelo de regresin lineal
Promedio de nacimientos de polluelos de cigeas

p. 16/26

R2WinBUGS
Paquete: R2WinBUGS
Creadores: Sibylle Sturtz, Uwe Ligges y Andrew Gelman
(2005)
Versin 1.4 de WinBUGS en adelante
Herramienta para llamar WinBUGS desde R
Ventaja principal: Manipular los resultados desde R
Conectados a Internet: install.packages(R2WinBUGS)
library(R2WinBUGS)

p. 17/26

...contina R2WinBUGS
R2WinBUGS: Modelo de regresin lineal

p. 18/26

...contina R2WinBUGS
R2WinBUGS: Modelo de regresin lineal

p. 19/26

...contina R2WinBUGS
cdigo para llamar desde R a WinBUGS

p. 20/26

...contina R2WinBUGS
Cmo correr modelos generales
Truco: Ones trick para escribir la log-verosimilitud
Variable auxiliar de ceros
La observacin de un cero en una Poisson(), tiene
probabilidad exp {}
Si nuestros datos observados son un conjunto de ceros y
= log(L [yi , ]). Muestreando de esta Poisson,
obtendremos la contribucin correcta de cada observacin a la
verosimilitud
Tambin se puede hacer muestreando unos de una Bernoulli
p. 21/26

...contina R2WinBUGS
cdigo para un modelo Weibull

p. 22/26

...contina R2WinBUGS
cdigo modelo Weibull mediante Ones trick

p. 23/26

...contina R2WinBUGS
Llamando...que es gerundio...modelo Weibull desde R

p. 24/26

Comentarios finales
WinBUGS ha recibido una gran cantidad de crticas porque no
siempre funciona
Mucha gente se aterra porque funciona como caja negra
La pantalla que muestra cuando hay problemas en la
simulacin del modelo, ES REALMENTE INENTENDIBLE
No obstante, hay que decir en justicia, que cuando funciona,
FUNCIONA MUY BIEN!!!

p. 25/26

El final se acerca ya...

Si te convenciste...

HAZ BAYESIANA

p. 26/26

También podría gustarte