Bayesian Inference Using Gibbs Sampling. WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC Dr Toni Monleón Getino Departament d’Estadística (UB) 21 Mayo 2010 Material extraido del curso:Seminario de Aplicaciones Bayesianas en Economía de la Salud (19 y 20 Octubre 2006, UPF-CRES) Introducción al análisis bayesiano computacional: MCMC (WinBUGS) Miguel Ángel Negrín Hernández [www.personales.ulpgc.es/mnegrin.dmc] Francisco José Vázquez Polo [www.personales.ulpgc.es/fjvpolo.dmc] fjvpolo or mnegrin@dmc.ulpgc.es. También de : Introduction to Bayesian Analysis using Winbugs (David Spiegelhalter and Dave Lunn, 2010-Cambridge (UK)) También material de: SUMARIO n Introduccion a la prob bayesiana y a MCMC. 10 min n Instalación de Winbugs 1.4 (5 min) n Uso de Winbugs (10 min) n Ejemplos de probabilidad y de GLM con sintaxis Bugs (40 min) Thomas BAYES (1702 - 1761) Origen: Trabajos del Reverendo Thomas Bayes (1763) Desde un punto de vista estricto, la estadística bayesiana comienza en 1959 con la publicación del trabajo “Probability and Statistics for Business Decisions” por Robert Schlaiffer. En él se presentan las principales ideas de la estadística bayesiana, en el que se define la probabilidad como una opinión ordenada, en el que la inferencia no es más que una revisión de las opiniones a la luz de nueva información relevante. Probabilidad: Matemáticas incertidumbre. usadas para describir Prob. frecuentista: Probabilidad de un evento como el límite de la frecuencia relativa con la que el evento ocurre en una serie de repeticiones de dicho evento. Estas series son hipotéticas. Prob. Clásica: simetría. centradas en el “evento” Prob. bayesiana: Probabilidad de un evento es el número usado para indicar la opinión de un determinado observador de que ocurra el evento. La probabilidad se centra en el “observador”. Objetividad vs. Subjetividad & Bibliografía Básica: 4 Lee, P. (1993) “Bayesian Statistics: An introduction”. Oxford, UK: Oxford University Press, UK. 4 Berry, D. And Stangl, DK. (1996) “Bayesian Biostatistics”. Ed. Dekker. LEE 4 Chen, M., Shao, Q. e Ibrahim, J.(2000). “Monte Carlo Methods in Bayesian Computation”. Springer-Verlag. NY. 4 Leonard,T. y Hsu, J.S.(1999). “Bayesian Methods. An analysis for statisticians and interdisciplinary researches” Cambridge Series in Statistical and Probabilistic Mathematics. Cambridge. 4 O’Hagan, A.(1994). “Bayesian Inference”. Kendall’s Advanced Theory of Statistics (vol.2b). E. Arnold. University Press. Cambridge. 4 O’Hagan, A.(2003). “A primer on Bayesian Statistics in Health Economics and Outcomes Research”. Centre for Bayesian Statistics in Health Economics. Inferencia Según la teoría frecuentista o clásica, solo eventos repetibles tienen probabilidades. En la metodología bayesiana, la probabilidad describe incertidumbre desde un sentido amplio. Un evento puede ser incierto por ser intrínsecamente impredecible, sujeto a variabilidad aleatoria. Por ejemplo la respuesta de un paciente a un tratamiento. Pero, también puede ser incierto simplemente porque tenemos un conocimiento imperfecto, por ejemplo, la respuesta media de una población a un tratamiento. Solo la primera definición de incertidumbre es reconocida en la estadística frecuentista. Parámetros son específicos de cada problema y, generalmente, no están sujetos a variabilidad aleatoria. La estadística frecuentista parámetros como aleatorios. no reconoce dichos Sin embargo, la perspectiva bayesiana supone dichos parámetros como aleatorios simplemente por ser desconocidos. Intervalo de confianza clásico Para obtener una estimación por intervalo del parámetro poblacional θ desconocido, tendremos que obtener dos estadísticos (θmin, θmax) que nos darán los valores extremos del intervalo, tales que P(q min £ q £ q max ) = 1 - a Al valor (1-α)% se le llama nivel de confianza. Ejemplo: Queremos estudiar si el tratamiento 2 es más costoso que el tratamiento 1. Perspectiva bayesiana: ¿ Prob (C2 – C1) > 0? Perspectiva clásica: ¿ valor – p ? ¿Cómo interpretar un valor-p? Interpretación al valor p La hipótesis nula de que el tratamiento 2 es más costoso que el 1 es rechazada al 5%, es decir, p=0.05. ¿Qué quiere decir? 1. Solamente para el 5% de los pacientes, el tratamiento 2 es más costoso. 2. Si repitiésemos el análisis un número elevado de veces, y si la hipótesis nula fuese cierta, entonces solamente el 5% de las ocasiones sería rechazada. 3. Hay una probabilidad del 5% de que la hipótesis nula es cierta. Probabilidad condicionada Extraído del material de Statmedia (Dep Estadística, UB) Extraído del material de Statmedia (Dep Estadística, UB) Extraído del material de Statmedia (Dep Estadística, UB) / Fórmula para probabilidades condicionadas: Pr( A, B ) = Pr( A | B ) × Pr( B ) = Pr( B | A) × Pr( A) / Teorema de Bayes: Pr( A | B ) × Pr( B) = Pr( A, B) Pr( A, B) Pr( A | B ) = Pr( B ) Pr( B | A) × Pr( A) Pr( A | B ) = Pr( B ) / Teorema de Bayes. Pr( Data | q ) × Pr(q ) Pr(q | Data ) = Pr( Data ) Dist. a posteriori Verosimilitud (nuestro modelo de cómo un dato individual es generado) Dist. a priori / Notación abreviada común en la literatura bayesiana [ Data | q ] × [q ] [q | Data ] = [ Data ] / donde: ü [ Data | q ] indica la probabilidad o verosimilitud dada por una determinada distribución ü [q | Data ] es la distribución de q dados los datos. Ejemplo: Realizando un test para una enfermedad (1 de cada 50000). El test es muy preciso, con una tasa de falsos positivos o falsos negativos de 0.1%. Realizamos el test y obtenemos un positivo. ¿Qué quiere esto decir? ¿Podemos rechazar la hipótesis nula de no tener la enfermedad al 0.1%? P(tener enf. | test +)= P(test + | tener enf.) P(tener enf.) P(test +) = 1.9589 % Información a priori. Elicitación. La información a priori es tanto una gran ventaja y una potencial debilidad de la aproximación bayesiana. Tipos de distribución a priori: -No informativas (o impropias, de referencia, débiles o ignorantes): Representa una carencia de información previa -Informativa (o genuina): incorpora información procedente de análisis previos o información de expertos -Estructural (o jerárquica): incorpora información sobre relaciones entre parámetros. Pr( Data | q ) × Pr(q ) Pr(q | Data ) = Pr( Data ) Dist. a posteriori Inferencia bayesiana conjugada. Ejemplo: Supongamos que q representa un porcentaje (p.e. el parámetro de una binomial) y que estamos interesados en su estimación: •0 £q£1 •Verosimilitud Binomial: los datos corresponden a: “k” éxitos de un número fijo, N, de pacientes. Ejemplo (continuación): La verosimilitud tiene una expresión del tipo: æNö [ k | q , N ] = ç ÷ × (q è k ø ) × (1 - q ) k N -k << Dado q, la verosimilitud indica la probabilidad que el modelo otorga a que en N observaciones k hayan ocurrido con “éxito” >> Elementos del análisis bayesiano con FirstBayes Ejemplo (continuación): Información a priori: Distribución Beta [q | a,b ] ~ Beta(a,b) G(a + b) a -1 [q | a, b] = q (1 - q )b -1 G(a )G(b) (a>0, b>0) Ventajas de la distribución Beta 1. El rango de variación es el de un porcentaje: [0,1] 2. Tiene una relación natural (“conjugada”) con el modelo binomial. 3. Es muy flexible: admite una grandísima variedad de formas (Homberg, 1995). 5 Beta(.25, .25) 4 3 Beta(3, 7) 2 Beta(1, 1) 1 0 0 0.2 0.4 0.6 0.8 1 Homberg: 4. Fácil de asignar, “elicitar”: Media= a/(a+b) Varianza= ab/((a+b)^2(a+b+1)) Moda=(a-1)/(a+b-2) Procedimiento de actualización de nuestros juicios sobre la proporción de pacientes [ Data | q ] × [q ] [q | Data ] = [ Data ] El modelo Beta-Binomial Inf. a priori: [q ] Beta (a,b) Verosimilitud k: [k | q, N ] Binomial (q, N ) Posteriori: [q | k, N ] Beta (a+k, b+(N-k)) Propiedad de conjugación: Posteriori y priori pertenecen a la misma familia. ¿Qué “a priori” debemos utilizar? 1 Observaciones previas relevantes Atribuirle el mismo peso que a los nuevos datos. Utilizar “a priori” con igual media atenuando el tamaño muestral (Ej. 100 observaciones previas con 30 éxitos, ponderar un 10% del peso - Beta (3,7)). 2 Priori “no informativa” No exista información previa Minimizar el peso de la a priori Beta(0,0), Beta(0.25,0.25), Beta(1,1) WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Computación en Análisis Bayesiano: Métodos MCMC (Markov Chain Monte-Carlo). WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Cantidad a posteriori de interés: E[g(q)|x] = ò g(q)p(q|x)dq, donde Q q=(q1, . . ., qp)ÎQ, p(q|x) = p(q)f(x|q) ò p(q)f(x|q)dq Q é E[g(q)|x] = ò g(q)p(q)f(x|q)dq Q ò p(q)f(x|q)dq Q WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Por ejemplo: g(q) = q Þ media a posteriori g(q) = r s qi·qj Þ momentos a posteriori g(q) = (qi-E[qi|x])(qj-E[qj|x]) Þ covarianza entre qi, qj a posteriori g(q) = I{qÎA} Þ prob. a posteriori de un conjunto g(q) = f(z|q) Þ predictiva de z a posteriori WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Pero generalmente, 1) p(q|x) = p(q)f(x|q) ò p(q)f(x|q)dq Q no adopta una forma funcional conocida (salvo análisis conjugado), la evaluación del denominador generalmente no es posible de forma analítica. 2) E[g(q)|x] implica nuevamente integrales analíticamente no factibles. WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) . . . Y se hace necesario el tratamiento numérico, aproximado del problema, (salvo análisis conjugado y familias exponenciales). Agravado en muchos casos porque la dimensión del espacio paramétrico es mayor que 1, lo que implica además la integración sobre espacios de dimensiones que pueden ser elevadas . WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Ejemplo 1. Sup. x1, x2, . . ., xn iid ~ N(m, s²= h-1), para m ~ N(a0, b0-1), h=1/s²~ G(n0/2, s0/2), q=(m, h), p(m, h|x) µ h((n+n )/2-1) exp{(-1/2)[b0(m-a0)2 +s0h+håi(xi-m)²]} 0 “no tiene una forma exacta” ¿cómo calcular, por ejemplo, la cantidad? E[m|x] = ¥ ¥ òò m·p(m, h|x)dmdh 0 -¥ WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) • En cualquier caso, nos enfrentamos a complicados problemas de integración que han constituido la principal dificultad del análisis bayesiano. • Distintos métodos de integración numérica, mediante aproximaciones determinísticas, ver Bernardo y Smith, 1994; O’ Hagan, 1994 o Robert y Casella, 1999). • Pero estos métodos no tienen en cuenta la naturaleza aleatoria del problema, que las funciones implicadas sean densidades probabilísticas . . . WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) § Si fuera posible generar directamente muestras independientes de p(q|x) mediante algún método aleatorio de simulación, esto conduciría a la obtención de la cantidad a posteriori de interés, . . . (el Teorema Central del Límite aseguraría la convergencia de las cantidades muestrales a las cantidades de interés). WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Ejemplo 2. Dadas 1000 observ. de p(q|x), es posible: ü calcular la media muestral para estimar E[p(q|x)] ü calcular la var. muestral para estimar Var[p(q|x)] ü ordenar la muestra y buscar el valor no 250 (1er cuartil), o el valor no 500 (mediana), . . . ü obtener la proporción de la muestra mayor que q0 (Prob{q > q0}) · · · WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) 1 2 3 4 5 6 7 8 9 10 0.1103 0.05148 0.6527 0.004283 0.02866 0.1345 0.3636 0.2629 0.1732 0.3267 . . . media muestral = 0.140097258 varianza muestral = 0.025131898 mediana = 0.08161 1er cuartil = 0.02092 262 mayores que q0 = 0.2, (Prob{q > 0.2}=0.262). moda = 0.05148 WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) 600 400 200 0.75 0.9 0.78 0.93 0.6 0.45 0.3 0.15 0 0 Frecuencia Histograma Theta 0.63 0.48 0.33 0.18 500 400 300 200 100 0 0.03 Frecuencia Perfil Theta F WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Pero en muchos casos no es posible la simulación directa de muestras independientes para p(q|x) . . . Sin embargo, puede ser posible simular muestras con algún tipo de dependencia, que converjan (bajo ciertas condiciones de regularidad) a la distribución de interés p(q|x), Ø construir mediante simulación Monte Carlo una determinada Cadena de Markov . . . WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Desde hace aproximadamente 12-15 años, los métodos basados en simulación Monte Carlo mediante Cadenas de Markov, MCMC, permiten la resolución de problemas que hasta entonces no eran analíticamente tratables y que precisaban distintas aproximaciones numéricas para las integrales implicadas. Estos métodos permiten muestrear la distribución a posteriori, aunque ésta sea desconocida, gracias a la construcción de una cadena de Markov cuya distribución estacionaria sea, precisamente p(q|x). WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) “. . .Muestrear la distribución a posteriori y calcular la cantidad a posteriori de interés mediante MCMC son los retos más importantes de la computación bayesiana más avanzada .” (Chen, Shao e Ibrahin, 2000). “MCMC es, esencialmente, integración Monte Carlo, haciendo correr por largo tiempo una inteligentemente construida cadena de Markov .” (Gilks, Richardson y Spiegelhalter, 1996). Explicación de cómo funciona muestreo de Gibbs y Algoritmo de Metropolis Hastings http://www.dpye.iimas.unam.mx/eduardo/MCB/nod e25.html WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Algunos aspectos teóricos. Una cadena de Markov es una sucesión de vv. aa., {X1, X2, . . ., Xt, . . . } tal que "t³ 0, Xt+1 sólo depende del estado actual, Xt+1 es muestreado de p(×|Xt), es decir: p(Xt+1|Xt, Xt-1, . . ., X1)=p(Xt+1|Xt). p(×|×) es la probabilidad de transición de la cadena. WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) ¿cómo diseñar la cadena, {q(t)}? Se trata de muestrear iterativamente a partir de distribuciones apropiadas (no se puede muestrear directamente de p(q|x)). ß Principales métodos de muestreo : •Muestreo de Gibbs •Algoritmo de Metrópolis-Hastings WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) •Muestreo de Gibbs Ü Orígenes: Grenader(1983), Geman y Geman (1984). Ü En AB: Gelfand y Smith (1990), George(1992), Robert y Casella (1999). Aunque p(q|x)=p((q1, . . ., qp)|x) no sea estándar, puede que sí lo sean las condicionadas a posteriori de cada qi respecto al resto, p(qi|q1, . . . qi-1, qi+1, . . ., qp, x) ) = p(qi|q-i, x), para q-i = (q1, . . . qi-1, qi+1, . . ., qp). (“full conditional”, ¡es una distribución univariante!). WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Esquema general: •Paso 0. Valores iniciales : q(0) = (q01, . . ., q0p) •Paso 1. Para obtener q(1) = (q11, . . ., q1p): se muestrea q11 de p(q1|x, q02, . . ., q0p) se muestrea q12 de p(q2|x, q11, q03, . . ., q0p) se muestrea q13 de p(q3|x, q11, q12, q04, . . ., q0p) ... se muestrea q1p de p(qp|x, q11, . . ., q1p-1). · · · •Paso k. Actualizar q(k) = (qk1, . . ., qkp) a partir de q(k-1) . WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Ejemplo 3. Sup. x1, x2, . . ., xn iid ~ N(m, s²= h-1), para m~ N(a0, b0-1), h=1/s²~ G(n0/2, s0/2), q=(m, h), con p(m, h|x) no estándar, pero las condicionadas se obtienen de : p(m|h, x) = p(m, h|x) p(h|x) p(h|m, x) = p(m, h|x) p(m|x) = p(m, h|x) òp(m, h|x)dm = p(m, h|x) òp(m, h|x)dh WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) de donde, a0b0 +hn × p(m|h, x) µ exp{ -1 (b0+nh)(m 2 a0b0 +hn ~ N( , b0+nh 1 b0+nh b0+nh ) n0+n -1 2 × p(h|m, x) µ h (s0+åi(xi-m)²) exp{·h} 2 ~ G( n0+n , (s0+åi(xi-m)²) 2 2 ) )2 } WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) muestreo de Gibbs: •Paso 0. Valores iniciales : q(0) = (m0, h0) •Paso 1. Para obtener q(1) = (m1, h1): se muestrea m1 de p(m|h=h0, x), (se genera un valor de la distr. Normal) se muestrea h1 de p(h|m= m1, x), (se genera un valor de la distr. Gamma) se actualiza (m0, h0) a (m1, h1), · · · •Paso k. Actualizar q(k) = (mk, hk), a partir de q(k-1) . WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) ß la serie q(0), q(1), . . .., q(N), puede analizarse casi como una muestra independiente de p(q|x), y por tanto, cantidades muestrales estimarán las cantidades a posteriori respectivas (media muestral para la media a posteriori, cualquier momento o percentil muestral para el correspondiente a posteriori, o la curva descrita por el histograma de valores para un parámetro qi aproxima la forma de la curva de la distribución marginal p(qi|x)). WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) ¿por qué “casi”? Puede presentarse una fuerte correlación entre las realizaciones muestrales, que puede corregirse desechando las ‘m’ primeras: “muestra burn in”, q(0), q(1), . . ., q(m), q(m+1), . . ., q(N). ”burn in” análisis muestral s² * El valor del error, , el análisis de la traza de N-m la serie (gráfica de los valores muestrales), de los coeficientes de autocorrelación de la misma pueden ayudar a determinar ‘m’ y ‘N’, (no es fácil). WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) ß En el ejemplo 3, se obtiene, para m : node mu mean 0.1266 sd 0.1021 MC error 2.5% 0.001096 -0.06959 mu sample: 9000 median 97.5% start sample 0.1265 0.3292 1001 9000 mu 4.0 3.0 2.0 1.0 0.0 1.0 0.5 0.0 -0.5 -1.0 -0.5 0.0 0.25 mu 0.6 0.4 0.2 0.0 -0.2 -0.4 0 20 Histograma 40 lag Coef. de autocorrelación Traza de la serie 10800 10850 10900 10950 iteration WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) ß Y para h: node mean h 0.936 sd 0.1328 MC error 2.5% 0.001303 0.6964 h sample: 9000 median 97.5% start sample 0.9287 1.213 1001 9000 h 4.0 3.0 2.0 1.0 0.0 1.0 0.5 0.0 -0.5 -1.0 0.5 0.75 1.0 1.25 h 0 20 lag Histograma 1.75 1.5 1.25 1.0 0.75 0.5 40 Coef. de autocorrelación Traza de la serie 10800 10850 10900 10950 iteration WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) • Algoritmo de Metrópolis-Hastings Ü Orígenes: Metropolis et al (1953) y Hastings (1970). Ü Más recientes: Tierney(1994), Chib y Greenberg (1995), Robert y Casella (1999) Para construir la cadena {q(t)}, las prob. de transición p(q(t+1)|q(t)) vendrán dadas por una distr. arbitraria, (distribución generadora de candidatos), q(q,q’) tal que òq(q,q’)dq’ =1, dados el valor actual q, y el valor candidato, q’. WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) • Variables auxiliares (data augmentation) Ü (Ver Tanner y Wong (1987).) La introducción de parámetros auxiliares puede simplificar el problema: p(q|x) Ô p(q, l|x) de simulación más sencilla Þ se simula p(q, l|x) y sólo se usan las muestras para q. /Ejemplo 5. Sup. x1, x2, . . ., xn iid ~ St(m, h, a0), para m ~ N(a0, b0-1), h=1/s²~ G(n0/2, s0/2), q=(m, h) WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Õ reparametrizar la t de Student como una mixtura de distribuciones normales: xi ~ N (m, (lih)-1), para li ~ G(a0/2, a0/2), i=1, . . ., n Þ f(xi|m, h) ~ St(m, h, a0), i=1, . . ., n, por tanto q=(m, h) Ô (q, l) = (m, h, l1, l2, . . ., ln), f(x|q) y p(q|x) son las mismas, pero las condicionadas son ahora: • p(m|h, l, x) ~ Normal • p(h|m, l, x) ~ Gamma • p(l|m, h, x) ~ producto de Gammas. Þ se puede aplicar muestreo de Gibbs. WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Software: WinBUGS. WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) : El Proyecto BUGS: Spiegelhalter, D., Thomas, A. y Best, N. MRC Biostatistics Unit, Institute of Public Health, Cambrigde & Department of Epidemiology and Public Health, Imperial College School of Medicine at St. Mary’s Hospital. 8 http://www.mrc-bsu.cam.ac.uk/bugs WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) BUGS, Bayesian Inference Using Gibbs Sampling es un software diseñado para el análisis de modelos bayesianos usando MCMC. WinBUGS, es su versión Windows, que incorpora un menú de representación gráfica del modelo, Doodle, y utiliza Metropolis-Hastings. 8 la última versión, 1.4.3, puede obtenerse desde la dirección web, así como el manual, numerosos ejemplos, enlaces interesantes, y la subscripción a la lista de correo de usuarios. ANTES CLAVE ANNUAL, AHORA CLAVE UNIVERSAL EJERCICIOS DOODLE Y OTROS SENCILLOS EN http://wwwusers.york.ac.uk/~pml1/bayes/winbugsinfo/ra ab.htm WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) 8 Para empezar a trabajar con un modelo: formular el modelo crear el doodle cargar datos y valores iniciales simulación Analizar los resultados burn in editor,hoja de cálculo WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Ventajas: - Proporciona inferencias más naturales y útiles que la de los métodos frecuentistas. -Facilitan el uso de mayor información, obteniendo resultados más robustos. -Puede afrontar problemas más complejos. -Son ideales para problemas de toma de decisión. -Son más transparentes en relación a los supuestos empleados en el proceso de inferencia. WIN-BUGS: un software para el análisis de modelos bayesianos usando MCMC) Desventajas: -Incorpora un elemento de subjetividad no presente en el análisis clásico. -En la práctica, la información a priori es difícil de especificar (elicitar). -Los métodos bayesianos son más complejos que los clásicos, y el software disponible es escaso. Saghir A. Bashir Amgen Ltd, Cambridge, U.K. Email: saghir_bashir@hotmail.com 4th January 2001 Outline n n n n n n n Introduction BUGS and WinBUGS Graphical Models DoodleBUGS Example - Simulation Power calculation Summary Introduction n Bayesian Inference Using Gibbs Sampling q BUGS n Analysis of Complex Models n Bayesian Methods n Markov Chain Monte Carlo Integration q Useful when no closed form exists Classic BUGS n Declarative Language n n Similar to Splus Complex Statistical Models n n n Missing data Measurement Error No closed form for Likelihood n Graphical Modelling n Flexible compared to approximations WinBUGS n Similar to Classic BUGS q n Plus new methodological developments Graphical representation of model q DoodleBUGS n Menu Control of session n Cut and paste to other packages BUGS and WinBUGS n No data management facility q n “Easy” interface with other packages q q n Why reinvent the wheel? R and Splus Stata (S. Bashir) Simple analysis of output Working with BUGS Prepare Data BUGS Analysis Output Analysis Editor Stats package Spread sheet WinBUGS BUGS R/Splus STATA Graphical Models n Complex multivariate probability models q q n Representation Visualisation Graphs... q q q simplify complex models communicate structure of the problem provide basis for computation WinBUGS n BUGS language n DoodleBUGS n n Used for the purposed of this Demo. WinBUGS is currently free from: n n http://www.mrc-bsu.cam.ac.uk/bugs/ Register to get full version access DoodleBUGS n n Start WinBUGS Select “Doodle” from menu bar DoodleBUGS - Basics n Select “New…” n Press “ok” You have a window to “Doodle” in. n Nodes n Creating a node q n Mouse click in Doodle Window Deleting a node: CTRL + Del Node Types n Nodes can be q Stochastic q Logical q Constant (rectangle) Example - Simulation n Let q q r1 ~ Bin (0.25, 250) r2 ~ Bin (0.35, 150) n Calculate p: common proportion for r1 & r2 n p = (r1+r2)/400 n Classical p = 0.2875 DoodleBUGS n Start with r1 ~ Bin(0.25, 250) (stochastic node) DoodleBUGS n Add r2 ~ Bin(0.35, 150) (stochastic node) Logical Nodes n Add p as a logical node q To define a logical node click on “type” for choices. Logical Functions n Add “edges” for the logical relationship q Whilst node p is highlighted, CTRL + click in “parent nodes” r1 and r2 (hollow arrows Þ logical function) Stochastic Nodes n Stochastic dependence q q q p1 ~ N(0.25, 0.000026) size1 = 250 (constant) (i.e., p1 ~ [0.24, 0.26]) Single arrows for stochastic dependencies Normal Distribution n Note the Normal distribution in BUGS is defined as N (mean, precision) where precision = 1/variance q Note that we can define upper and lower bounds so that the proportion is between 0 and 1. DoodleBUGS Model n Let us add these stochastic dependencies to our “logical” model DoodleBUGS Model n What is our model? n r1 ~ Bin (p1, size1) n p1 ~ N (0.25, 0.000026) n size1 = 250 n r2 ~ Bin (p2, size2) n p2 ~ N (0.35, 0.000026) n size2 = 150 WinBUGS Modelling n Running our model in WinBUGS q Create a New document n n Menu bar - File - New A New document window will appear WinBUGS Document n Select your Doodle from your Doodle Window q n Copy your Doodle q n Menu bar - Edit - Select Document Menu bar - Edit - Copy Paste it into your New Document q Menu bar - Edit - Paste Model Data n Before running we need to give BUGS some data n Type list(size1=250, size2=150) at the top (or the bottom) of your new document. Running BUGS n Use “Specification...” from the “Model” option on Menu Bar to run BUGS Running BUGS Check Model Checks Syntax Load Data Compile Model Initial Values Start Sampler Update Sampler Check Model n Select the Doodle (note the hairy boarder) n Menu bar - Model - Check model Note the message in bottom left hand corner n Load Data n Highlight the word “list” n Menu bar - Model - Data Bottom left hand corner n Compiling the Model n n Menu bar - Model - Compile Bottom left hand corner Load Initial Values n n Menu bar - Model - Gen inits Bottom left hand side Update the Model n Menu bar - Model - Update n 1000 MCMC updates to be carried out. Burn In n Model has been updated n MCMC run did not store any data. q n Used for the “burn in” Store values by “monitoring” them to q q Draw inferences Monitor MCMC run Monitoring Nodes n Monitoring p our parameter of interest Menu bar - Inference - Samples... n Sample Monitor Tool n Monitoring Nodes n n Type name of node “p” to monitor Press “set” Update & Monitor n Update model again n 1000 values “monitored” of the MCMC run for p Summary Statistics n Summary statistics Select “p” from the Sample Monitor Tool Press “stats” (Sample Monitor Tool) n Node statistics window n n Summary Statistics n n n n Mean = 0.2873 Median = 0.285 (usually more stable) 95% credible interval (0.245, 0.335) MCMC run size 1000 MCMC Time Series n Press “History” in Sample Monitor Tool Kernel Density n Press “Density” in the Sample Monitor Tool Kernel Density n Increase monitored values to 25,000 Plates n Creating a plate q CTRL + mouse click in Doodle Window q Deleting a plate: CTRL + Del Plates n Allow more complex structure, e.g., q q n Repeated measures Hierarchical models Extend our example to calculate power q q q q r1 and r2 from Binomial distribution Simulte r1 and r2 100 times per “update” Calculate test statistic Count number of times it falls in critical region Test Statistic n H0: p1 = p2 = p q n p1 = r1/size1 & Test statistic vs H1: p1 < p2 p2 = r2/size2 (p2 - p1) s.d.(p) s.d.(p) = Ö(p(1-p)(1/size1 + 1/size2)) Power n Data q list(prop1=.25, prop2=.35, size1=250,size2=150, N=100, alpha.val=1.96) n Results n Power = 57% (47%, 67%) Power - History Power - Density Updates n Updating - Bottom left hand corner n After updates finish Summary n BUGS is a power tool q q n Graphical Models q q n Bayesian Analysis Simulation Tool Doodle BUGS Simple representation of model Easy to use! •EJEMPLO DE REGRESION EN ECOLOGIA •EJEMPLOS EN WINBUGS (HELP)