Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentacion Master Bioinformatica
Presentacion Master Bioinformatica
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|), .
(Universidad de Murcia)
Murcia 2012/2013
3 / 95
(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
(Universidad de Murcia)
Murcia 2012/2013
6 / 95
(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
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)
Murcia 2012/2013
10 / 95
La densidad
(p|x) =
f (x|p)(p)
m(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
Murcia 2012/2013
15 / 95
(Universidad de Murcia)
Murcia 2012/2013
16 / 95
f (x|)c()
f (x|)()
=
,
m(x)
f (x|)c()d
(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
(Universidad de Murcia)
Murcia 2012/2013
19 / 95
(Universidad de Murcia)
Murcia 2012/2013
20 / 95
h()(|x)d,
y
Z
Var (|x) =
(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
(Universidad de Murcia)
Murcia 2012/2013
22 / 95
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
(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
(Universidad de Murcia)
Murcia 2012/2013
27 / 95
(Universidad de Murcia)
Murcia 2012/2013
28 / 95
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
(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
(Universidad de Murcia)
Murcia 2012/2013
30 / 95
(Universidad de Murcia)
Murcia 2012/2013
31 / 95
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
Murcia 2012/2013
33 / 95
(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
(Universidad de Murcia)
Murcia 2012/2013
35 / 95
(Universidad de Murcia)
Murcia 2012/2013
36 / 95
(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)
(Universidad de Murcia)
Murcia 2012/2013
39 / 95
(Universidad de Murcia)
Murcia 2012/2013
40 / 95
lim
m
1 X
h((i) ) = E (h()|x).
m
i=1
(Universidad de Murcia)
Murcia 2012/2013
41 / 95
(|x)d, donde
1 X (i)
= E (h()|x).
lim
m m
i=1
(Universidad de Murcia)
Murcia 2012/2013
42 / 95
(Universidad de Murcia)
Murcia 2012/2013
43 / 95
Ejemplo
(Universidad de Murcia)
Murcia 2012/2013
44 / 95
(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
(Universidad de Murcia)
Murcia 2012/2013
46 / 95
(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
(Universidad de Murcia)
Murcia 2012/2013
49 / 95
Muestreo de importancia
(Universidad de Murcia)
Murcia 2012/2013
50 / 95
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
(Universidad de Murcia)
Murcia 2012/2013
51 / 95
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
(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
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
(Universidad de Murcia)
Murcia 2012/2013
60 / 95
(Universidad de Murcia)
Murcia 2012/2013
61 / 95
Gibbs sampling
(Universidad de Murcia)
Murcia 2012/2013
62 / 95
(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
(Universidad de Murcia)
Murcia 2012/2013
64 / 95
Murcia 2012/2013
65 / 95
(Universidad de Murcia)
Murcia 2012/2013
66 / 95
(Universidad de Murcia)
Murcia 2012/2013
67 / 95
(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
> 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
(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
Murcia 2012/2013
75 / 95
(Universidad de Murcia)
Murcia 2012/2013
76 / 95
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)
(Universidad de Murcia)
Murcia 2012/2013
77 / 95
(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
(Universidad de Murcia)
Murcia 2012/2013
80 / 95
(Universidad de Murcia)
Murcia 2012/2013
81 / 95
(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
(X T X )1 X T y, y s 2 = (y X )
(Universidad de Murcia)
Murcia 2012/2013
83 / 95
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
(Universidad de Murcia)
"V5"
"V6"
"V7"
Murcia 2012/2013
85 / 95
(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
(Universidad de Murcia)
Murcia 2012/2013
90 / 95
(Universidad de Murcia)
Murcia 2012/2013
91 / 95
n
Y
piyi (1 pi )1yi
i=1
(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
(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
(Universidad de Murcia)
Murcia 2012/2013
95 / 95