Está en la página 1de 100

Bioestadstica.

An
alisis bayesiano de datos
experimentales
Diego Salmer
on Martnez
dsm@um.es
http://webs.um.es/dsm/miwiki/doku.php

(Universidad de Murcia)

Murcia 2012/2013

1 / 95

Introduccion. Estimaci
on a posteriori y distribuciones a priori no
informativas.
Analisis bayesiano de muestras con distribuci
on normal.
Metodos de Monte Carlo (MC) y de Monte Carlo y Cadenas de
Markov (MCMC).
Aspectos computacionales con R y WinBUGS.
Inferencia bayesiana en modelos lineales y en modelos de regresion
logstica.

(Universidad de Murcia)

Murcia 2012/2013

2 / 95

Introducci
on
El punto de partida en inferencia parametrica es un modelo de
probabilidad para los datos x = (x1 , ..., xn ).
Generalmente dicho modelo vendra definido mediante una funcion de
densidad f (x|) parametrizada por el parametro Rk ,
x| f (x|), .

Objetivo: estimar el parametro .


Los datos han sido generados seg
un el modelo f (x|) para alg
un valor
desconocido de y el objetivo es estimar dicho valor a partir de la
observacion de los datos x.

(Universidad de Murcia)

Murcia 2012/2013

3 / 95

Estimador de maxima verosimilitud

La funcion 7 f (x|) se conoce como funci


on de verosimilitud para
los datos x.
Una de las formas de estimar el parametro es usando el estimador de
maxima verosimilitud definido como
= arg max f (x|) = arg max log f (x|)

(Universidad de Murcia)

Murcia 2012/2013

4 / 95

Example
Si asumimos que los datos son una muestra de una distribucion normal
con varianza 1 y media desconocida: x1 , ..., xn iid N(, 1), entonces la
funcion de verosimilitud es


n
Y
(xi )2
1/2
f (x1 , ..., xn |) =
(2)
exp
.
2
i=1

El par
Panmetro desconocido puede ser estimado con la media muestral,
x = i=1 xi /n, que se corresponde con el metodo de maxima
verosimilitud:
d
log f (x|) = 0 = x.
d

(Universidad de Murcia)

Murcia 2012/2013

5 / 95

Inferencia bayesiana

La inferencia frecuentista se basa fundamentalmente en la funcion de


verosimilitud para realizar estimaciones (inferencias) sobre el
parametro
El punto de vista bayesiano trata al parametro como una variable
aleatoria especificando sobre ella una distribuci
on de probabilidad
llamada distribuci
on a priori.

(Universidad de Murcia)

Murcia 2012/2013

6 / 95

La distribucion de probabilidad de una variable aleatoria refleja informacion


sobre los valores que puede tomar dicha variable.

(Universidad de Murcia)

Murcia 2012/2013

7 / 95

Example
Si una variable V tiene por funci
on de densidad f (v ) = 2v , 0 < v < 1,
sera mas facil observar valores de la variable cercanos a 1 que a 0:
P(0 < V < 0.3) = 0.09 y P(0.7 < V < 1) = 0.51.

Example
Si la variable tiene una distribuci
on normal N(0, 2 ), los valores de dicha
variable estaran alrededor de 0, y sera muy raro (aunque no imposible)
observar valores superiores a 4 o inferiores a 4:
P(4 < N(0, 2 ) < 4) 0.99994.

(Universidad de Murcia)

Murcia 2012/2013

8 / 95

Un primer ejemplo de inferencia bayesiana

Lanzar un dado y anotar X = 1 si ha salido un n


umero par y X = 0 si
ha salido impar.
Dicho experimento lo realizamos n veces de manera independiente y
bajo las mismas condiciones obteniendo los datos x = (x1 , ..., xn ),
donde xi {0, 1}, y por tanto
f (x|p) = p nx (1 p)n(1x) ,
donde x =

Pn

(Universidad de Murcia)

i=1 xi /n.

Murcia 2012/2013

9 / 95

Razonamiento bayesiano?
Modelamos el parametro desconocido p como variable aleatoria
asignando como distribuci
on a priori la uniforme U(0, 1) con
densidad (p), aceptando por tanto a priori cualquier valor de p por
igual.
Como f (x|p) es la densidad de x dado el valor del parametro, entonces
la densidad conjunta de la variable aleatoria (x, p) es f (x|p)(p)
Entonces la distribuci
on de p condicionado ha haber observado x
viene dada por la densidad
(p|x) =

f (x|p)(p)
m(x)

(1)

donde m(x) es la densidad marginal de x.


(Universidad de Murcia)

Murcia 2012/2013

10 / 95

La densidad
(p|x) =

f (x|p)(p)
m(x)

contiene informacion sobre el parametro p despues de observar los


datos x, es decir a posteriori.
La informacion a priori sobre el parametro p que hemos modelado
mediante (p), se actualiza usando los datos mediante lo que se
conoce como distribuci
on a posteriori (p|x).

(Universidad de Murcia)

Murcia 2012/2013

11 / 95

Definition
Si el modelo parametrico para los datos es
x| f (x|), ,
y la distribucion a priori es (), entonces la distribucion a posteriori de
viene dada por
f (x|)()
, ,
(2)
(|x) =
m(x)
R
donde m(x)
=
f (x|)()d si () es de tipo continuo, y
P
m(x) = f (x|)() si () es de tipo discreto.

(Universidad de Murcia)

Murcia 2012/2013

12 / 95

Example
P
Si f (x|p) = p nx (1 p)n(1x) , donde x = ni=1 xi /n y usamos

1
if p [0, 1]
(p) =
0
if p
/ [0, 1]
entonces
(p|x) =

f (x|p)(p)
p nx (1 p)n(1x)
m(x)

es la densidad de la distribuci
on Beta de parametros a = nx + 1 y
b = n(1 x) + 1.

(Universidad de Murcia)

Murcia 2012/2013

13 / 95

Ejercicio
Usando R, vamos a simular una muestra (los datos) x con n=250,
p = 0.4, y pintaremos la distribuci
on a posteriori de p.

(Universidad de Murcia)

Murcia 2012/2013

14 / 95

Ejercicio
Usando R, vamos a simular una muestra (los datos) x con n=250,
p = 0.4, y pintaremos la distribuci
on a posteriori de p.
x=rbinom(250,1,.4)
n=length(x)
a=n*mean(x)+1
b=n*(1-mean(x))+1
puntos=dbeta(seq(0,1,.005), a, b, ncp = 0, log = FALSE);
limite=5*max(puntos)/4; limite=14;
plot(seq(0,1,.005),puntos,type=l,ylim=c(0,limite),ylab=,xlab=p)
abline(v=.4,lty=2)

(Universidad de Murcia)

Murcia 2012/2013

14 / 95

Figure: Densidades a posteriori de p para diferentes muestras generadas por


simulaci
on, usando la U(0, 1) como distribuci
on a priori.
(Universidad de Murcia)

Murcia 2012/2013

15 / 95

El parametro puede ser multidimensional.


Supongamos que = (1 , 2 ) donde 1 y 2 pueden ser tambien
multidimensionales. La distribuci
on a posteriori de 1 es la distribucion
marginal que, en el caso de distribuciones de tipo continuo, viene dada por
Z
(1 |x) = (|x)d2 .

(Universidad de Murcia)

Murcia 2012/2013

16 / 95

Como (|x) define a una distribuci


on de probabilidad sobre ,
entonces m(x) es una constante de proporcionalidad y no es necesario
calcular m(x) para tener definida la distribuci
on a posteriori, por lo
que podemos escribir
(|x) f (x|)(),
donde indica proporcionalidad.
Ademas, si formalmente cambiamos () por c() con c > 0
constante, y aplicamos la definici
on de distribuci
on a posteriori
(|x) = R

f (x|)c()
f (x|)()
=
,
m(x)
f (x|)c()d

obtenemos el mismo resultado.

(Universidad de Murcia)

Murcia 2012/2013

17 / 95

Estimaci
on a posteriori
Las distribuciones de probabilidad son una herramienta para
cuantificar la informaci
on la distribuci
on a posteriori de es la
herramienta que necesitamos para hecer inferencia (obtener
informacion) sobre .
Podemos describir la distribuci
on a posteriori mediante cuantiles,
media, varianza...
Para parametros unidimensionales, entre el cuantil 0.025 y el cuantil
0.975 se encuentra el parametro con probabildad a posteriori 0.95,
formando lo que llamaremos intervalo de credibilidad al 95% para
dicho parametro. diferencia con el intervalo de confianza?

(Universidad de Murcia)

Murcia 2012/2013

18 / 95

Algunas definiciones

En las siguientes definiciones asumiremos que la distribucion a


posteriori es de tipo continuo.
El caso discreto se obtiene cambiando integrales por sumatorios.
Vamos a considerar h() una funci
on (medible) del parametro , es
decir otro parametro = h().
Si modelamos como variable aleatoria, tambien es una variable
aleatoria y la distribuci
on a posteriori de induce una distribucion de
probabilidad sobre ; la distribuci
on a posteriori de .

(Universidad de Murcia)

Murcia 2012/2013

19 / 95

Definition (Intervalo de credibilidad)


Dado (0, 1), diremos que un intervalo I R es un intervalo de
credibilidad del (1 )100% para el parametro unidimensional = h() si
Z
P(h() I |x) =
(|x)d = 1 .
h()I

(Universidad de Murcia)

Murcia 2012/2013

20 / 95

Definition (Media y varianza a posteriori)


La media y varianza a posteriori del parametro unidimensional h(), son
respectivamente la media y la varianza de la distribucion a posteriori de
h(), es decir,
Z
E (h()|x) =

h()(|x)d,

y
Z
Var (|x) =

(h() E (h()|x))2 (|x)d.

(Universidad de Murcia)

Murcia 2012/2013

21 / 95

Example
La distribucion a posteriori
(p|x) =

f (x|p)(p)
p nx (1 p)n(1x)
m(x)

es la densidad de la distribuci
on Beta de parametros a = nx + 1 y
b = n(1 x) + 1. La media a posteriori de p es
E (p|x) =

nx + 1
.
n+2

Si n es suficiente grande, dicha media a posteriori se aproxima a x, que es


el estimador frecuentista del parametro p, mientras que la varianza a
posteriori se aproxima a 0.

(Universidad de Murcia)

Murcia 2012/2013

22 / 95

Distribuciones a priori no informativas

La eleccion de la distribuci
on a priori () es una de las principales
dificultades para realizar inferencia bayesiana y un tema actual de
investigacion.
Cuando el investigador tiene informaci
on sobre los parametros del
modelo antes de la observaci
on de los datos, es posible establecer
distribuciones a priori de manera subjetiva pero esta situacion no
suele darse en la practica
Es preferible usar procedimientos automaticos conocidos como
objetivos o no informativos para producir distribuciones a priori, que
tienen como objetivo atenuar el impacto que la distribucion a priori
pueda tener sobre la inferencia resultante, [?].

(Universidad de Murcia)

Murcia 2012/2013

23 / 95

Regla de Jeffreys

Una de tales reglas es la regla de Jeffreys, ver [?], que establece como
distribucion a priori la raz cuadrada de la medida de informacion de Fisher

()


Ex|

1/2
d2
2 log f (x|)
d

cuando el parametro es unidimensional.


El smbolo Ex| significa esperanza respecto de la distribucion dada por
f (x|).

(Universidad de Murcia)

Murcia 2012/2013

24 / 95

Example
Como primer ejemplo consideramos la distribuci
on de Poisson.
Supongamos que x = (x1 , ..., xn ) es una muestra de n observaciones
independientes de la distribuci
on de Poisson de media . Entonces
f (x|) nx exp(n)
d
log f (x|) = nx/ n
d

d2
log f (x|) = nx/2 .
d2

2
2
La esperanza de nx/
es n/ = n/, la distribucion a priori de
Jeffrey es () 1/ .

R +
La distribucion () es impropia, es decir, 0 1/ = +, sin embargo
la distribucion a posteriori que resulta de aplicar la definicion (2) es propia.
(Universidad de Murcia)

Murcia 2012/2013

25 / 95

Ejercicio
Supongamos que x = (x1 , ..., xn ) es una muestra de n observaciones
independientes de la distribuci
on N(, 2 ), donde es conocido. En este
caso la regla de Jeffrey establece () 1.

(Universidad de Murcia)

Murcia 2012/2013

26 / 95

An
alisis bayesiano de muestras con distribuci
on
2
normal. Una poblaci
on normal N(, )
Supongamos que los datos x1 , x2 , ..., xn son observaciones independientes
con distribucion N(, 2 ). La funci
on de densidad de los datos viene dada
por
!
n
1 X
2 n/2
2
f (x|, ) = (2 )
exp 2
(xi ) .
2
i=1

Consideramos dos casos


Caso 1. El parametro es conocido =
Caso 2. Los parametros y son desconocido = (, )

(Universidad de Murcia)

Murcia 2012/2013

27 / 95

Caso 1. El parametro es conocido.


En este caso es el u
nico parametro sobre el que tenemos que
especificar una distribuci
on a priori.
La distribucion a priori de Jeffreys es () 1.
R
Esta distribucion a priori es impropia: ()d = + la teora
de la probabilidad no puede ser aplicada salvo que la definicion de
distribuci
Ron a posteriori (2) nos proporcione una distribucion propia,
es decir, (|x)d = 1, lo que en este caso equivale a que
Z
f (x|, )d < +.
R

(Universidad de Murcia)

Murcia 2012/2013

28 / 95

Sumando y restando x en (xi )2 obtenemos


n
n
X
X
(xi )2 =
(xi x)2 + n(x )2
i=1

i=1

y por tanto


(x )2
f (x|, ) exp
2 2 /n
donde significa que el lado izquierdo es el derecho multiplicado por una
funcion que no depende de .

(Universidad de Murcia)

Murcia 2012/2013

29 / 95

Entonces

Z
f (x|, )d < +
R

ya que
(x )2
exp
2 2 /n
R

q
d = 2 2 /n

y podemos usar () 1 como distribuci


on a prior y la distribucion a
posteriori resultante es

(Universidad de Murcia)

Murcia 2012/2013

30 / 95

Entonces

Z
f (x|, )d < +
R

ya que
(x )2
exp
2 2 /n
R

q
d = 2 2 /n

y podemos usar () 1 como distribuci


on a prior y la distribucion a
posteriori resultante es


(x )2
(|x) f (x|, )() exp
,
2 2 /n
es decir, la distribucion normal de media x y varianza 2 /n.

(Universidad de Murcia)

Murcia 2012/2013

30 / 95

El intervalo I = (x 1.96/ n, x + 1.96/ n) es un intervalo de


credibilidad al 95% para , que coincide con el clasico intervalo de
confianza al 95% para cuando la varianza de la poblacion es conocida.

(Universidad de Murcia)

Murcia 2012/2013

31 / 95

Caso 2. Los parametros y son desconocidos.

Esta es la situacion que mas se presenta.


La distribucion a priori que vamos a utilizar
es (, ) 1/. Esta
R
distribucion a priori es impropia pues (, )dd = +, sin embargo

Theorem
P
Si n 2 y la varianza muestral es s 2 = 1 (xi x)2 > 0, con
= n 1, entonces la distribuci
R on a posteriori (2) que resulta es una
distribucion propia, es decir, (, |x)dd = 1.

(Universidad de Murcia)

Murcia 2012/2013

32 / 95

Distribucion a posteriori de
Como



1
2
2
(, |x)
exp 2 (s + n( x) )
2
entonces (|x) es proporcional a


Z +
1
1
n1
2
2

exp 2 (s + n( x) ) d
2
2
(s + n( x)2 )n/2
0
y por tanto
1
(|x) 
n/2 .
n(x)2
1 + s 2
n1

La distribucion a posteriori de es la distribuci


on de la variable aleatoria
s
x + t,
n
donde t es una variable con distribuci
on t-Student con grados de
libertad.
(Universidad de Murcia)

Murcia 2012/2013

33 / 95

La media a posteriori de es x y un intervalo de credibilidad al


(1 )100% viene dado por


s
s
x t/2, , x + t/2,
n
n
donde t/2, es el cuantil 1 /2 de la distribuci
on Student-t con
grados de libertad.

(Universidad de Murcia)

Murcia 2012/2013

34 / 95

Distribucion a posteriori de

Z
(|x)





s 2
(x )2
d
exp 2 exp
2
2 2 /n


s 2
n
exp 2
2

n1

que esta relacionada con la distribuci


on Gamma.

(Universidad de Murcia)

Murcia 2012/2013

35 / 95

Diferencia de las medias de dos poblaciones


normales

Cuantificar las diferencias entre la distribuci


on de dos variables es un
objetivo muy com
un en las aplicaciones.
Comparar los niveles de colesterol ante dos medicamentos es un
ejemplo: si asumimos que la concentraci
on de colesterol tiene una
distribucion normal bajo dos tratamientos que deseamos comparar y
ambas distribuciones presentan la misma varianza, entonces la
comparacion puede hacerse comparando las medias de ambas
distribuciones.

(Universidad de Murcia)

Murcia 2012/2013

36 / 95

Supongamos que tenemos dos muestras independientes,


I
I

x1 de n1 observaciones independientes de una poblacion N(1 , 12 )


x2 de n2 observaciones independientes de una poblacion N(2 , 22 ).

Los parametros desconocidos son 1 , 2 , 1 y 2 , pero estamos


interesados en el parametro
= 2 1
.
La inferencia sobre el parametro se basa en su distribucion a
posteriori.
Esta distribucion puede ser obtenida analticamente en el caso en que
1 = 2 = . En este escenario los parametros desconocidos son 1 ,
2 y , y asumiremos como distribuci
on a priori (1 , 2 , ) 1/.

(Universidad de Murcia)

Murcia 2012/2013

37 / 95

Theorem
La distribucion a posteriori de , ver [?], es tal que
(x2 x1 )
p
s 1/n1 + 1/n2
tiene como distribucion a posteriori una distribuci
on t de Student con
= n1 + n2 2 grados de libertad, donde s 2 = (1 s12 + 2 s22 )/.
Cuando no es asumible que 1 = 2 , la distribuci
on a posteriori de 2 1
no admite una expresion cerrada, y es necesario recurrir a metodos
numericos para hacer inferencias sobre 2 1 .

(Universidad de Murcia)

Murcia 2012/2013

38 / 95

M
etodos de Monte Carlo (MC) y de Monte Carlo y
Cadenas de Markov (MCMC).
La aplicacion de los metodos bayesianos para hacer inferencia requiere
poder calcular integrales del tipo
Z
E (h()|x) = h()(|x)d.
(3)

Otra forma de ver la integral (??) es considerando el parametro = h().


Si
(|x) es la distribucion a posteriori de , entonces
Z
E (h()|x) =
(|x)d.

(Universidad de Murcia)

Murcia 2012/2013

39 / 95

Estas integrales no pueden calcularse de manera explcita en general,


lo que significa que es necesario recurrir a metodos numericos de
aproximacion.
Cuando la integral es de dimensi
on elevada, los metodos numericos
clasicos como las formulas de Newton-Cotes no son eficientes.
La simulacion de la distribuci
on a posteriori es la tecnica que mas se
usa en estadstica bayesiana para aproximar integrales del tipo (??).

(Universidad de Murcia)

Murcia 2012/2013

40 / 95

Metodo de Monte Carlo

Si (1) , (2) , ... es una sucesi


on de variables aleatorias independientes con
distribucion (|x), entonces con probabilidad uno
m

lim
m

1 X
h((i) ) = E (h()|x).
m
i=1

Por tanto para aproximar la integral E (h()|x) basta con simular de la


distribucion a posteriori (|x) un gran n
umeroP
m de veces, evaluar la
(i)
(i)
funcion h() en cada simulaci
on y calcular m
i=1 h( )/m.

(Universidad de Murcia)

Murcia 2012/2013

41 / 95

Otra forma de razonar es considerar que E (h()|x) =

(|x) es la distribucion a posteriori de = h().

(|x)d, donde

Si (1) , (2) , ... es una sucesi


on de variables aleatorias independientes con
distribucion
(|x), entonces con probabilidad uno
m

1 X (i)
= E (h()|x).
lim
m m
i=1

Por tanto para aproximar la integral E (h()|x) basta con simular de la


distribucion a posteriori
(|x) un gran n
umero m de veces.

(Universidad de Murcia)

Murcia 2012/2013

42 / 95

Para simular la distribucion a posteriori de = h() podemos simular de


(|x) y calcular = h(), es decir, (1) = h((1) ), (2) = h((2) ), ... son
simulaciones de la distribuci
on a posteriori de = h().

(Universidad de Murcia)

Murcia 2012/2013

43 / 95

Ejemplo

Vamos a considerar la inferencia bayesiana sobre la diferencia de las


medias de dos poblaciones normales en el caso en que no asumimos
igualdad de varianzas.
Supongamos que tenemos dos muestras independientes, una muestra
x1 de n1 observaciones independientes de una poblacion N(1 , 12 ) y
otra muestra x2 de n2 observaciones independientes de una poblacion
N(2 , 22 ).
Los parametros desconocidos son 1 , 2 , 1 y 2 , pero estamos
interesados en el parametro = 2 1 .

(Universidad de Murcia)

Murcia 2012/2013

44 / 95

Para simular la distribuci


on a posteriori de podemos simular
(1 , 2 , 1 , 2 ) de (1 , 2 , 1 , 2 |x) y calcular = 2 1 .
Tomando (1 , 2 , 1 , 2 ) 1/1 2 , resulta que
(1 , 2 , 1 , 2 |x) = 1 (1 , 1 |x1 )2 (2 , 2 |x2 ),
a posteriori (1 , 1 ) y (2 , 2 ) son independientes.
Por tanto para simular simular (1 , 2 , 1 , 2 ) de (1 , 2 , 1 , 2 |x)
podemos simular
I
I

(1 , 1 ) de 1 (1 , 1 |x1 ) y
(2 , 2 ) de 2 (2 , 2 |x2 ).

(Universidad de Murcia)

Murcia 2012/2013

45 / 95

Para simular
1 (1 , 1 |x1 ) = 1 (1 |x1 )1 (1 |1 , x1 )
podemos simular 1 (1 |x1 ) y luego 1 (1 |1 , x1 ).
La distribucion
1 (1 |x1 )

1n1



1 s12
exp 2
21

esta relacionada con la distribuci


on Gamma.
La distribucion 1 (1 |1 , x1 ) es la normal de media x1 y varianza
12 /n1 .

(Universidad de Murcia)

Murcia 2012/2013

46 / 95

La siguiente funcion para R proporciona una simulaci


on de la distribucion
a posteriori de = 2 1

(Universidad de Murcia)

Murcia 2012/2013

47 / 95

simula.difmedias=function(x1,x2){
n1=length(x1);n2=length(x2);
m.x1=mean(x1);m.x2=mean(x2);
q1=(n1-1)*var(x1);q2=(n2-1)*var(x2);
u=rgamma(1,shape=(n1-1)/2,scale=2/q1);
sigma1=1/sqrt(u);
mu1=rnorm(1,m.x1,sigma1/sqrt(n1));
u=rgamma(1,shape=(n2-1)/2,scale=2/q2);
sigma2=1/sqrt(u);
mu2=rnorm(1,m.x2,sigma2/sqrt(n2));
dif=mu2-mu1
return(dif)
}

(Universidad de Murcia)

Murcia 2012/2013

48 / 95

Ejercicio

Simular los datos con n1 = 15, 1 = 0, 1 = 0.1 y n2 = 20, 2 = 1 y


2 = 0.2; y aplicar a los datos obtenidos la funci
on simula.difmedias para
obtener la media a posteriori de 2 1 , un IC 95% y un histograma de la
distribucion a posteriori de 2 1 .
Comparar el IC95% con un resultado frecuentista.

(Universidad de Murcia)

Murcia 2012/2013

49 / 95

Muestreo de importancia

En la practica la funcion h() podra ser evaluada, pero la simulacion de la


distribucion a posteriori puede resultar complicada.
En estas situaciones, si podemos evaluar (|x), podemos aplicar muestreo
de importancia, es decir, si g () es una densidad (con soporte que
contenga al soporte de la posterior) entonces
Z
h()(|x)
g ()d
E (h()|x) =
g ()
puede aproximarse usando Monte Carlo simulando de g () y evaluando
h()(|x)/g ().

(Universidad de Murcia)

Murcia 2012/2013

50 / 95

La densidad g () puede ser cualquiera, sin embargo unas funcionan


mejor que otras.
Una eleccion que suele ser satisfactoria consiste en tomar la densidad
de una normal.
I

el estimador de maxima
La media de dicha normal puede ser ,
verosimilitud de
con V
la matriz de covarianzas de
La varianza puede ser 2V

Aunque este procedimineto es sencillo, requiere poder evaluar (|x),


es decir, evaluar (), f (x|) y tener calculada m(x). Normalmente
calcular m(x) es el problema.

(Universidad de Murcia)

Murcia 2012/2013

51 / 95

En este caso, como

Z
m(x) =

f (x|)()d

resulta que
R
E (h()|x) =

h()f (x|)()d
R
=
f (x|)()d

h() f (x|)()
g () g ()d
R f (x|)()
g () g ()d

y las integrales del numerador y denominador pueden ser aproximadas


usando Monte Carlo simulando de g () y evaluando la distribucion a priori
y la verosimilitud.

(Universidad de Murcia)

Murcia 2012/2013

52 / 95

Algoritmo
1. Simulamos independientemente (1) , (2) ,...,(m) de g ()
2. Calculamos
f (x|(i) )((i) )
, i = 1, ..., m
i
g ((i) )
3. Obtenemos la aproximaci
on
Z

(Universidad de Murcia)

Pm
h((i) )i
Pm
h()(|x)d i=1
i=1 i

Murcia 2012/2013

53 / 95

Ejercicio
Supongamos que los datos son una muestra de una distribucion normal
N(, 2 ) y que sabemos que (0, 5) y (0, 6). Simular los datos
(n=20) tomando unos valores concretos de y de , y realizar inferencia
bayesiana sobre los parametros.

(Universidad de Murcia)

Murcia 2012/2013

54 / 95

Ejercicio
Supongamos que los datos son una muestra de una distribucion normal
N(, 2 ) y que sabemos que (0, 5) y (0, 6). Simular los datos
(n=20) tomando unos valores concretos de y de , y realizar inferencia
bayesiana sobre los parametros.
La funcion de densidad de los datos es
n
1 X
(xi )2
f (x|, ) = (2 2 )n/2 exp 2
2

!
.

i=1

Tomaremos (, ) 1

(Universidad de Murcia)

Murcia 2012/2013

54 / 95

Ejercicio
Supongamos que los datos son una muestra de una distribucion normal
N(, 2 ) y que sabemos que (0, 5) y (0, 6). Simular los datos
(n=20) tomando unos valores concretos de y de , y realizar inferencia
bayesiana sobre los parametros.
La funcion de densidad de los datos es
n
1 X
(xi )2
f (x|, ) = (2 2 )n/2 exp 2
2

!
.

i=1

Tomaremos (, ) 1 1(0,5) ()1(0,6) ()


Usaremos muestreo de importancia y tomaremos g (, ) la densidad de la
distribucion uniforme en el espacio parametrico.
(Universidad de Murcia)

Murcia 2012/2013

54 / 95

library(stats)
x=rnorm(20,3,5)

t.test(x)

f.dens=function(x,mu,sigma){
n=length(x)
valor=exp(-sum((x-mu)^2)/(2*sigma^2))
valor=valor/(sigma^n)
return(valor)
}

g=function(mu,sigma){return(1)}
prior=function(mu,sigma){return(1/sigma)}
(Universidad de Murcia)

Murcia 2012/2013

55 / 95

lista1.mu={}
lista1.sigma={}
lista2={}
for(i in 1:1000){
mu=runif(1,0,5)
sigma=runif(1,0,6)
w=f.dens(x,mu,sigma)*prior(mu,sigma)/g(mu,sigma)
lista1.mu=c(lista1.mu,mu*w)
lista1.sigma=c(lista1.sigma,sigma*w)
lista2=c(lista2,w)
}
sum(lista1.mu)/sum(lista2)
sum(lista1.sigma)/sum(lista2)

(Universidad de Murcia)

Murcia 2012/2013

56 / 95

plot(cumsum(lista1.mu)/cumsum(lista2),type="l")
plot(cumsum(lista1.sigma)/cumsum(lista2),type="l")

(Universidad de Murcia)

Murcia 2012/2013

57 / 95

lista.mu={}
lista.sigma={}
lista.w={}
for(i in 1:1000){
mu=runif(1,0,5)
sigma=runif(1,0,6)
w=f.dens(x,mu,sigma)*prior(mu,sigma)/g(mu,sigma)
lista.mu=c(lista.mu,mu)
lista.sigma=c(lista.sigma,sigma)
lista.w=c(lista.w,w)
}
puntos=sample(lista.mu,length(lista.mu)
,replace=TRUE,prob=lista.w)
mean(puntos)
quantile(puntos,c(.025,.975))
(Universidad de Murcia)

Murcia 2012/2013

58 / 95

Cadena de Markov

Definition
Diremos que la sucesion de variables aleatorias (1) , (2) , ... es una cadena
de Markov si la distribuci
on de probabilidad de (k+1) |(1) , (2) , ..., (k) es
la distribucion de probabilidad de (k+1) |(k)

(Universidad de Murcia)

Murcia 2012/2013

59 / 95

Metropolisis-Hasting
El algoritmo de Metropolisis-Hasting fue desarrollado por Metropolis
et al. (1953) y posteriormente por Hasting (1970).
Dicho algoritmo aplicado a (|x) produce una cadena de Markov
((n) ) cuya distribucion lmite es (|x), y por tanto
m

1 X
lim
h((i) ) =
m m

Z
h()(|x)d,

i=1

resultado que podemos utilizar para aproximar las inferencias a


posteriori.
El algoritmo necesita una densidad de transici
on q(0 |) llamada
densidad instrumental o candidata, y un valor inicial (0) de la cadena.

(Universidad de Murcia)

Murcia 2012/2013

60 / 95

Los valores (1) , (2) , ..., se obtienen sucesivamente repitiendo los


siguientes pasos
1. Simular 0 q(0 |(k) ).
2. Simular u U(0, 1) y calcular
(0 )f (x|0 ) q((k) |0 )
k = min 1,
((k) )f (x|(k) ) q(0 |(k) )

3. Si u < k entonces tomar (k+1) = 0 , en otro caso tomar (k+1) = (k) .


La densidad q(0 |) puede ser cualquiera, incluso puede no depender de ,
sin embargo una eleccion arbitraria puede producir pobres resultados de
convergencia.

(Universidad de Murcia)

Murcia 2012/2013

61 / 95

Gibbs sampling

Cuando la distribucion a posteriori (|x) es multivariante, es complicado


proponer una candidata adecuada para aplicar directamente el algoritmo
de Metropolis-Hastings.
Si = (1 , ..., p ), donde cada i puede ser multidimensional, el algoritmo
Gibbs sampling produce una cadena de Markov ((n) ) con distribucion
lmite la distribucion (|x).

(Universidad de Murcia)

Murcia 2012/2013

62 / 95

La transicion (k) (k+1) esta definida por los siguientes pasos


(k+1)

(1 |2 , ..., p , x)

(k+1)

(2 |1

(k+1)

(p |1

1. 1

2. 2

(k)

(k+1)

(k)

(k)

(k)

, 3 , ..., p , x)

..
.
p. p

(k+1)

(k+1)

, 2

(k+1)

, ..., p1 , x)

Las distribuciones que hay que simular en cada paso son las
distribuciones a posteriori condicionadas que, en muchas situaciones
pueden realizarse directamente.
Si no es as, es posible aplicar el algoritmo de Metropolis-Hastings con
una iteracion para para simular en los pasos del algoritmo Gibbs
sampling.

(Universidad de Murcia)

Murcia 2012/2013

63 / 95

Aspectos computacionales con R y WinBUGS.

El programa WinBUGS permite simular la distribucion a posteriori


combinando varias tecnicas MCMC.
Empezaremos usando el ejemplo de la diferencia de las medias de dos
variables con ditribuci
on normal con varianzas desconocidas sin
asumir que sean iguales.

(Universidad de Murcia)

Murcia 2012/2013

64 / 95

El modelo en lenguaje WinBUGS es el siguiente


model
{
for(i in 1:n1){
x1[i] ~ dnorm(mu1,tau1)
}
for(i in 1:n2){
x2[i] ~ dnorm(mu2,tau2)
}
mu1 ~ dflat()
mu2 ~ dflat()
sigma1<-1/sqrt(tau1)
sigma2<-1/sqrt(tau2)
tau1<-1/exp(2*xi1)
xi1 ~ dflat()
tau2<-1/exp(2*xi2)
xi2 ~ dflat()
dif<-mu2-mu1
}
(Universidad de Murcia)

Murcia 2012/2013

65 / 95

Los datos y el resto de constantes se introducen de la siguiente manera


list(x1=c(0.148959579,0.007198116,-0.072278186,-0.038867987,
-0.029622564,-0.025290609,-0.086010258,0.006999139,
-0.040942766,
-0.064413844,0.150187745,0.144700852,
-0.117060806,-0.154255399,0.017170805),
x2=c(0.9222077,1.0528108,0.8652817,1.1192609,1.0354215,
1.2059262,1.1978014,0.8903806,1.105493,0.7581489,1.019186,
1.1539261,0.8586593,1.0936432,0.8506843,
1.2912517,1.2547214,0.7857361,1.2225398,1.2478184)
,n1=15,n2=20)
Estos datos han sido simulados usando R: x1=rnorm(15,0,0.1)
x2=rnorm(20,1,.2)

(Universidad de Murcia)

Murcia 2012/2013

66 / 95

Como en todo metodo MCMC, necesitamos unos valores iniciales de la


cadena de Markov
list(mu1=0,mu2=0,xi1=0,xi2=0)
La notacion significa tiene por distribuci
on, es decir,
xdnorm(mu,tau) significa que x se modela como una variable con
distribucion normal de media mu y varianza 1/tau.
La notacion < se utiliza para definir variables o constantes. Los
valores iniciales se definen para lo que esta declarado con .
Definiendo iniciales para xi1 y xi2, tenemos iniciales para tau1 y tau2,
y definiendo iniciales para mu1 y mu2, ya tenemos todas las iniciales
que necesitamos.

(Universidad de Murcia)

Murcia 2012/2013

67 / 95

Pasos para ejecutar WinBUGS


Abrimos WinBUGS, File>New y escribimos (pegamos) el modelo, los
datos y los valores iniciales en la ventana que aparece.
Model>Specification y aparece la ventana Specification Tool.
Seleccionamos con el puntero del rat
on el texto del modelo y
seleccionamos chek model en la ventana Specification Tool. Si el
modelo esta bien escrito, aparecera el mensaje model is
syntactically correct en la esquina inferior izquierda.
Cargar los datos: seleccionamos con el puntero del raton los datos y
hacemos click en load data de la ventana Specification Tool.
Aparecera el mensaje data loaded en la esquina inferior izquierda.
Compilar: hacemos click en compile de la ventana Specification
Tool.

(Universidad de Murcia)

Murcia 2012/2013

68 / 95

Cargar los valores iniciales: seleccionamos con el puntero del raton los
valores iniciales y hacemos click en load inits; aparecera model is
initialized en la esquina inferior izquierda. En este momento el
programa esta preparado para simular la cadena de Markov.
Inference>Samples y aparece la ventana Sample Monitor Tool.
Tenemos que especificar los parametros que deseamos simular, en
principio todas las componentes de . Como para este ejemplo solo
estamos interesados en 2 1 , escribiremos dif en node y hacemos
click en set.
Model>Update y aparece la ventana Update Tool. Podemos ir
lanzado trozos de la cadena haciendo click en update.
Cuando tenemos un gran n
umero de iteraciones (simulaciones),
volvemos a la ventana Sample Monitor Tool. Si hacemos click en
stats, aparece un descriptivo de la distribuci
on a posteriori del
parametro que aparece en node, basado en las simulaciones creadas
hasta el momento.
(Universidad de Murcia)

Murcia 2012/2013

69 / 95

Si usamos la funcion simula.difmedias

> lista={}
> for(k in 1:30000){
+ lista=c(lista,simula.difmedias(x1,x2))
+ }
>
> mean(lista)
[1] 1.056417
> quantile(lista,c(0.025,0.975))
2.5\% 97.5\%
0.9612464 1.1508548

(Universidad de Murcia)

Murcia 2012/2013

70 / 95

Ejercicio

Cambiar las priors para mu1 y mu2 por distribuciones normales centradas
en 0 y varianza 100. Describir el cambio de resultados.

(Universidad de Murcia)

Murcia 2012/2013

71 / 95

Ejercicio
La distribucion Student-t es una distribuci
on con colas mas pesadas que la
distribucion Normal y puede usarse si sospechamos que en nuestros datos
hay outliers (valores atpicos).
Cambiar el primer dato a 4 (outlier) y lanzar el modelo. Como cambia la
inferencia a posteriori?
Ahora usar la distribucion Student-t con k = 2 grados de libertad para
modelar los datos y observar lo que pasa con las estimaciones a posteriori.
x ~ dt(mu, tau, k)

(Universidad de Murcia)

Murcia 2012/2013

72 / 95

Ejercicio

Supongamos que a un grupo de 20 pacientes hemos suministrado el


farmaco 1 y a otro grupo de 24 pacientes el farmaco 2. Tras un periodo de
tiempo la enfermedad desaparece en 16 de los 20 pacientes con el farmaco
1, y en 21 de los 24 pacientes con el farmaco 2. Utilizando WinBUGS
estimar cuanto es mas probable sanar con el farmaco 2 que con el 1.

(Universidad de Murcia)

Murcia 2012/2013

73 / 95

R y WinBUGS
Desde R podemos usar WinBUGS y combinar la funcionalidad de
ambos programas.
Necesitaresmos cargar en R la librera R2WinBUGS.
La funcion que llama a WinBUGS desde R es bugs.
Necesitamos los mismos ingredientes que son necesarios para usar
WinBUGS: el modelo, los datos y los valores iniciales.
El modelo debe estar en un archivo de texto, por ejemplo modelo.txt. La
funcion bugs buscara el fichero modelo.txt en el directorio de trabajo
actual de la sesion que tengamos abierta de R.
(Universidad de Murcia)

Murcia 2012/2013

74 / 95

Los datos deben declararse de la siguiente forma


datos=list(x1=varx1,x2=varx2,...)
Por ejemplo, x1 es nombre que usaremos en el modelo que aparece en
el fichero modelo.txt, mientras que varx1 es la variable en R con los
datos de la variable x1.
Los valores iniciales se declaran de la siguiente manera
iniciales=function(){
list(theta=valor inicial para theta)
}
por ejemplo
iniciales=function(){
list(mu1=0,mu2=0,xi1=0,xi2=0)
}
(Universidad de Murcia)

Murcia 2012/2013

75 / 95

Es una buena practica lanzar varias cadenas y empezar cada vez en


valores diferentes.
Por ejemplo, usando
iniciales=function(){
list(mu1=rnorm(1,0,1),mu2=rnorm(1,0,1),xi1=rnorm(1,0,1),
xi2=rnorm(1,0,1))
}
cada vez que la funci
on iniciales sea llamada, los valores iniciales
seran simulados seg
un la distribuci
on que pongamos; en este caso
para generar las iniciales simulamos de la N(0, 1) para todos los
parametros.

(Universidad de Murcia)

Murcia 2012/2013

76 / 95

Las siguientes lneas de comandos llaman a WinBUGS para que simule 3


cadenas, 15000 iteraciones, eliminando las primeras 1000, y pidiendo solo
las simulaciones correspondientes al parametro dif:

directorio.winbugs="C:/Program Files/WinBUGS14"
res=bugs(data=datos,inits=iniciales,model.file="modelo.txt",
parameters.to.save=c("dif"),n.iter=15000,n.burnin=1000,
n.thin=1,n.chain=3,
bugs.directory=directorio.winbugs)

todo estara en el objeto res.

(Universidad de Murcia)

Murcia 2012/2013

77 / 95

Cuando WinBUGS ha terminado lo cerramos y ya tenemos en R el


resultado en el objeto res.
Para visualizar los resultados en R podemos ejecutar el comando
print(res,digits=3), lo que muestra en pantalla las caractersticas a
posteriori de los parametros que hemos especificado, en este caso, dif.

Con el comando attach.bugs(res) conseguimos tener en memoria las


simulaciones que ha obtenidas por WinBUGS, en este caso,
tendremos una nueva variable llamada dif con las simulaciones, y, por
tanto, podremos usar dichas simulaciones para construir histogramas,
otras figuras o incluso guardarlas para analisis posteriores.

(Universidad de Murcia)

Murcia 2012/2013

78 / 95

Ejercicio

Usando los mismos datos que hemos usado para estimar la diferencia de
las medias con WinBUGS, preparar una sintaxis en R para realizar las
inferencias mediante R y WinBUGS

(Universidad de Murcia)

Murcia 2012/2013

79 / 95

Modelo de regresion lineal

En todo modelo de regresi


on tenemos una variable dependiente (outcome
o variable respuesta) y variables independientes (explicativas), y se
establece una relacion entre la variable respuesta y las explicativas.
Esta relacion depende de parametros y entre los objetivos aparece la
estimacion de dichos parametros.

(Universidad de Murcia)

Murcia 2012/2013

80 / 95

El modelo de regresion lineal establece la relaci


on entre la variable
continua y y las variables explicativas x1 ,...,xk , de la siguiente manera.
Las observaciones y1 , ..., yn de la variable y , dados , y xi = (xi1 , ..., xik ),
i = 1, ..., n, son independientes y tienen una distribucion normal con media
E (yi |, , xi ) = 0 + 1 xi1 + ... + k xik
y varianza 2 .

(Universidad de Murcia)

Murcia 2012/2013

81 / 95

Usando una notacion matricial


y|, , X Nn (X , 2 In ),

(4)

donde y = (y1 , ..., yn )T , X es la matriz con filas (1, xi1 , ..., xik ), i = 1, ..., n,
es el vector de los coeficientes de regresi
on (0 , 1 , ..., k )T y la matrix
In es la matriz identidad n n.
Asumiremos que la matriz X es de rango completo, es decir, la matriz
X T X tiene inversa.
Los coeficientes 1 , ..., k del modelo (??) tienen la siguiente
interpretacion. Cuando la variable xj se incrementa en una unidad y el
resto permanecen fijas, entonces la media de la variable respuesta se
incrementa en j .

(Universidad de Murcia)

Murcia 2012/2013

82 / 95

La funcion de verosimilitud viene dada por




1
2
2 n/2
T
f (y|, , X ) = (2 )
exp 2 (y X ) (y X )
2
y la distribucion a priori de Jeffreys es (, 2 |X ) 1/ 2 . En esta
situacion la distribucion a posteriori viene dada por
2 (X T X )1 )
| 2 , y, X Nk+1 (,
2 |y, X IG((n k 1)/2, s 2 /2)
donde es el estimador de maxima verosimilitud de , es decir,
T (y X ).

(X T X )1 X T y, y s 2 = (y X )

(Universidad de Murcia)

Murcia 2012/2013

83 / 95

Aunque es posibles hacer inferencia bayesiana sobre todos los parametros


del modelo sin usar metodos MCMC ...

Ejercicio.
Usando WinBUGS y R, ajustar el modelo de regresi
on lineal con la base de
datos caterpillar.txt, tomando la variable respuesta log V 11, y el resto de
variables como variables de ajuste.

> Bdatos=read.table("caterpillar.txt")

> Bdatos[1:5,]
V1 V2 V3 V4
V5 V6 V7 V8 V9
1 1200 22 1 4.0 14.8 1.0 1.1 5.9 1.4
2 1342 28 8 4.4 18.0 1.5 1.5 6.4 1.7
3 1231 28 5 2.4 7.8 1.3 1.6 4.3 1.5
4 1254 28 18 3.0 9.2 2.3 1.7 6.9 2.3
5 1357 32 7 3.7 10.7 1.4 1.7 6.6 1.8
(Universidad de Murcia)

V10
1.4
1.7
1.4
1.6
1.3

V11
2.37
1.47
1.13
0.85
0.24
Murcia 2012/2013

84 / 95

Almacenamos el nombre de las variables en memoria


> attach(Bdatos)
> names(Bdatos)
[1] "V1" "V2" "V3" "V4"
"V8" "V9" "V10" "V11"

(Universidad de Murcia)

"V5"

"V6"

"V7"

Murcia 2012/2013

85 / 95

La variable respuesta sera log V11


> y=log(V11)
y ajustamos el modelo desde el punto de vista frecuentista
> ajuste=lm(y~V1+V2+V3+V4+V5+V6+V7+V8+V9+V10)

(Universidad de Murcia)

Murcia 2012/2013

86 / 95

> summary(ajuste)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10.998412
3.060272
3.594 0.00161 **
V1
-0.004431
0.001557 -2.846 0.00939 **
V2
-0.053830
0.021900 -2.458 0.02232 *
V3
0.067939
0.099472
0.683 0.50174
V4
-1.293636
0.563811 -2.294 0.03168 *
V5
0.231637
0.104378
2.219 0.03709 *
V6
-0.356800
1.566464 -0.228 0.82193
V7
-0.237469
1.006006 -0.236 0.81558
V8
0.181060
0.236724
0.765 0.45248
V9
-1.285316
0.864847 -1.486 0.15142
V10
-0.433106
0.734869 -0.589 0.56162
---

(Universidad de Murcia)

Murcia 2012/2013

87 / 95

library(R2WinBUGS)

datos=list(y=y,V1=V1,V2=V2,V3=V3,V4=V4,V5=V5,V6=V6,
V7=V7,V8=V8,V9=V9,V10=V10,n=length(y))
iniciales=function(){list(beta=rnorm(10,0,1),inter=0,xi=0)
model="modelo-reglineal-catepillar.txt"
directorio.winbugs="C:/Program Files/WinBUGS14"

resultado=bugs(data=datos,inits=iniciales,model.file=model,
parameters.to.save=c("inter","beta","sigma"),n.iter=10000,
n.burnin=1000,n.thin=10,n.chain=3,
bugs.directory=directorio.winbugs,DIC=F)
}
(Universidad de Murcia)

Murcia 2012/2013

88 / 95

> print(resultado,digits=3)
Inference for Bugs model at "modelo-reglineal-catepillar.txt", fit using WinBUGS,
3 chains, each with 10000 iterations (first 1000 discarded), n.thin = 10
n.sims = 2700 iterations saved
mean
sd
2.5%
25%
50%
75% 97.5% Rhat n.eff
inter
10.987 3.166 4.877 8.874 11.000 13.082 17.241 1.001 2700
beta[1] -0.004 0.002 -0.007 -0.005 -0.004 -0.003 -0.001 1.001 2200
beta[2] -0.053 0.023 -0.097 -0.068 -0.054 -0.038 -0.008 1.001 2700
beta[3]
0.066 0.105 -0.143 -0.002 0.066 0.134 0.275 1.001 2700
beta[4] -1.299 0.590 -2.482 -1.661 -1.293 -0.928 -0.127 1.001 2700
beta[5]
0.232 0.110 0.005 0.163 0.231 0.304 0.453 1.000 2700
beta[6] -0.343 1.644 -3.594 -1.393 -0.323 0.729 2.903 1.001 2700
beta[7] -0.231 1.032 -2.275 -0.920 -0.249 0.472 1.856 1.002 1700
beta[8]
0.183 0.249 -0.305 0.023 0.181 0.344 0.678 1.001 2700
beta[9] -1.282 0.939 -3.183 -1.881 -1.304 -0.684 0.663 1.001 2700
beta[10] -0.452 0.761 -1.970 -0.955 -0.454 0.044 1.047 1.001 2700
sigma
0.858 0.136 0.643 0.764 0.842 0.934 1.168 1.001 2700
For each parameter, n.eff is a crude measure of effective sample size,
and Rhat is the potential scale reduction factor (at convergence, Rhat=1).

(Universidad de Murcia)

Murcia 2012/2013

89 / 95

Cambiar la prior sobre sigma por la siguiente prior para tau


tau dgamma(0.001,0.001)
y repetir las estimaciones a posteriori sobre los parametros.

(Universidad de Murcia)

Murcia 2012/2013

90 / 95

Inferencia bayesiana en modelos de regresion logstica

Supongamos que el outcome es una variable dicot


omica que toma los
valores 0 y 1, es decir, una variable de bernoulli.
El modelo de regresion logstica asume la siguiente relacion entre los datos
yi y los valores xi1 , xi2 , ..., xik de las covariables
logit pi = 0 + 1 xi1 + ... + k xik , i = 1, ..., n
donde pi = P(yi = 1|, xi ) y logit pi = log(pi /(1 pi )).

(Universidad de Murcia)

Murcia 2012/2013

91 / 95

Asuminedo que los datos yi son independientes dados y xi , i = 1, ..., n,


la funcion de verosimilitud es
f (y|, x1 , ..., xn ) =

n
Y

piyi (1 pi )1yi

i=1

Para este modelo no es posible simular la distribuci


on a posteriori
directamente, como en el caso del modelo de regresi
on lineal, y
necesitamos tecnicas MCMC para realizar las inferencias.

(Universidad de Murcia)

Murcia 2012/2013

92 / 95

Usando () = 1, la implementaci
on general de este modelo en WinBUGS
es
model{
for(i in 1:n){
y[i] ~ dbin(p.bound[i],1)
p.bound[i] <- max(0, min(1, p[i]))
logit(p[i]) <-beta0+beta[1]*x1[i]+...+beta[k]*xk[i]
}
beta0 ~ dflat()
for(i in 1:k){beta[i] ~ dflat()}
}

(Universidad de Murcia)

Murcia 2012/2013

93 / 95

Durante 1986 el Baystate Medical Center de Massachusetts recogio datos


sobre el peso de recien nacidos para identificar factores que incrementan el
riesgo de bajo peso al nacer. Algunos de esos factores, medidos en las
madres, fueron tabaco, raza, partos previos y edad. Utilizaremos los datos
de estas variables para ejemplificar el ajuste bayesiano de un modelo de
regresion logstica.

(Universidad de Murcia)

Murcia 2012/2013

94 / 95

El ajuste clasico en R es
summary(glm(LOW~factor(SMOKE)+factor(RACE)+factor(edad5c)+
factor(PTL>0),family=binomial(logit),data=datos))

(Universidad de Murcia)

Murcia 2012/2013

95 / 95

Berger, J. y Bernardo, J. (1989). Estimating a product of means:


Bayesian analysis with reference priors. J. Amer. Statist. Assoc.,
84:200-207.
Bernardo, J. M. (1979). Reference posterior distribution for bayesian
inference. J. R. Stat. Soc. Ser. B, 41:113-147.
Jeffreys, H. (1961). Theory of Probability. Oxford University Press,
London.
Bernardo, J. y Smith, A. (1994). Bayesian Theory. John Wiley, New
York..
Box, G.E.P. y Tiao, G.C. (1973). Bayesian Inference in Statistical
Analysis. Addison-Wesley.

(Universidad de Murcia)

Murcia 2012/2013

95 / 95

También podría gustarte