Presentacion Master Bioinformatica

100
Bioestad´ ıstica. An´ alisis bayesiano de datos experimentales Diego Salmer´ on Mart´ ınez [email protected] http://webs.um.es/dsm/miwiki/doku.php (Universidad de Murcia) Murcia 2012/2013 1 / 95

description

Bioinformatica

Transcript of Presentacion Master Bioinformatica

Page 1: Presentacion Master Bioinformatica

Bioestadıstica. Analisis bayesiano de datosexperimentales

Diego Salmeron Martı[email protected]

http://webs.um.es/dsm/miwiki/doku.php

(Universidad de Murcia) Murcia 2012/2013 1 / 95

Page 2: Presentacion Master Bioinformatica

Introduccion. Estimacion a posteriori y distribuciones a priori noinformativas.

Analisis bayesiano de muestras con distribucion normal.

Metodos de Monte Carlo (MC) y de Monte Carlo y Cadenas deMarkov (MCMC).

Aspectos computacionales con R y WinBUGS.

Inferencia bayesiana en modelos lineales y en modelos de regresionlogıstica.

(Universidad de Murcia) Murcia 2012/2013 2 / 95

Page 3: Presentacion Master Bioinformatica

Introduccion

El punto de partida en inferencia parametrica es un modelo deprobabilidad para los datos x = (x1, ..., xn).

Generalmente dicho modelo vendra definido mediante una funcion dedensidad f (x|θ) parametrizada por el parametro θ ∈ Θ ⊆ Rk ,

x|θ ∼ f (x|θ), θ ∈ Θ.

Objetivo: estimar el parametro θ.

Los datos han sido generados segun el modelo f (x|θ) para algun valordesconocido de θ y el objetivo es estimar dicho valor a partir de laobservacion de los datos x.

(Universidad de Murcia) Murcia 2012/2013 3 / 95

Page 4: Presentacion Master Bioinformatica

Estimador de maxima verosimilitud

La funcion θ ∈ Θ 7→ f (x|θ) se conoce como funcion de verosimilitud paralos datos x.

Una de las formas de estimar el parametro θ es usando el estimador demaxima verosimilitud definido como

θ = argmaxθf (x|θ) = argmaxθ log f (x|θ)

(Universidad de Murcia) Murcia 2012/2013 4 / 95

Page 5: Presentacion Master Bioinformatica

Example

Si asumimos que los datos son una muestra de una distribucion normalcon varianza 1 y media µ desconocida: x1, ..., xn iid N(µ, 1), entonces lafuncion de verosimilitud es

f (x1, ..., xn|µ) =n∏

i=1

(2π)−1/2 exp

(−(xi − µ)2

2

).

El parametro desconocido µ puede ser estimado con la media muestral,x =

∑ni=1 xi/n, que se corresponde con el metodo de maxima

verosimilitud:d

dµlog f (x|θ) = 0⇔ µ = x.

(Universidad de Murcia) Murcia 2012/2013 5 / 95

Page 6: Presentacion Master Bioinformatica

Inferencia bayesiana

La inferencia frecuentista se basa fundamentalmente en la funcion deverosimilitud para realizar estimaciones (inferencias) sobre elparametro θ

El punto de vista bayesiano trata al parametro θ como una variablealeatoria especificando sobre ella una distribucion de probabilidadllamada distribucion a priori.

(Universidad de Murcia) Murcia 2012/2013 6 / 95

Page 7: Presentacion Master Bioinformatica

La distribucion de probabilidad de una variable aleatoria refleja informacionsobre los valores que puede tomar dicha variable.

(Universidad de Murcia) Murcia 2012/2013 7 / 95

Page 8: Presentacion Master Bioinformatica

Example

Si una variable V tiene por funcion 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 distribucion normal N(0, σ2), los valores de dichavariable 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

Page 9: Presentacion Master Bioinformatica

Un primer ejemplo de inferencia bayesiana

Lanzar un dado y anotar X = 1 si ha salido un numero par y X = 0 siha salido impar.

Dicho experimento lo realizamos n veces de manera independiente ybajo las mismas condiciones obteniendo los datos x = (x1, ..., xn),donde xi ∈ {0, 1}, y por tanto

f (x|p) = pnx(1− p)n(1−x),

donde x =∑n

i=1 xi/n.

(Universidad de Murcia) Murcia 2012/2013 9 / 95

Page 10: Presentacion Master Bioinformatica

¿Razonamiento bayesiano?

Modelamos el parametro desconocido p como variable aleatoriaasignando como distribucion a priori la uniforme U(0, 1) condensidad π(p), aceptando por tanto a priori cualquier valor de p porigual.

Como f (x|p) es la densidad de x dado el valor del parametro, entoncesla densidad conjunta de la variable aleatoria (x, p) es f (x|p)π(p)

Entonces la distribucion de p condicionado ha haber observado xviene 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

Page 11: Presentacion Master Bioinformatica

La densidad

π(p|x) =f (x|p)π(p)

m(x)

contiene informacion sobre el parametro p despues de observar losdatos x, es decir a posteriori.

La informacion a priori sobre el parametro p que hemos modeladomediante π(p), se actualiza usando los datos mediante lo que seconoce como distribucion a posteriori π(p|x).

(Universidad de Murcia) Murcia 2012/2013 11 / 95

Page 12: Presentacion Master Bioinformatica

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

π(θ|x) =f (x|θ)π(θ)

m(x), θ ∈ Θ, (2)

donde m(x) =∫

Θ f (x|θ)π(θ)dθ si π(θ) es de tipo continuo, ym(x) =

∑θ∈Θ f (x|θ)π(θ) si π(θ) es de tipo discreto.

(Universidad de Murcia) Murcia 2012/2013 12 / 95

Page 13: Presentacion Master Bioinformatica

Example

Si f (x|p) = pnx(1− p)n(1−x), donde x =∑n

i=1 xi/n y usamos

π(p) =

{1 if p ∈ [0, 1]0 if p /∈ [0, 1]

entonces

π(p|x) =f (x|p)π(p)

m(x)∝ pnx(1− p)n(1−x)

es la densidad de la distribucion Beta de parametros a = nx + 1 yb = n(1− x) + 1.

(Universidad de Murcia) Murcia 2012/2013 13 / 95

Page 14: Presentacion Master Bioinformatica

Ejercicio

Usando R, vamos a simular una muestra (los datos) x con n=250,p = 0.4, y pintaremos la distribucion 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

Page 15: Presentacion Master Bioinformatica

Ejercicio

Usando R, vamos a simular una muestra (los datos) x con n=250,p = 0.4, y pintaremos la distribucion 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

Page 16: Presentacion Master Bioinformatica

Figure: Densidades a posteriori de p para diferentes muestras generadas porsimulacion, usando la U(0, 1) como distribucion a priori.

(Universidad de Murcia) Murcia 2012/2013 15 / 95

Page 17: Presentacion Master Bioinformatica

El parametro θ puede ser multidimensional.

Supongamos que θ = (θ1, θ2) donde θ1 y θ2 pueden ser tambienmultidimensionales. La distribucion a posteriori de θ1 es la distribucionmarginal que, en el caso de distribuciones de tipo continuo, viene dada por

π(θ1|x) =

∫π(θ|x)dθ2.

(Universidad de Murcia) Murcia 2012/2013 16 / 95

Page 18: Presentacion Master Bioinformatica

Como π(θ|x) define a una distribucion de probabilidad sobre θ,entonces m(x) es una constante de proporcionalidad y no es necesariocalcular m(x) para tener definida la distribucion a posteriori, por loque podemos escribir

π(θ|x) ∝ f (x|θ)π(θ),

donde ∝ indica proporcionalidad.

Ademas, si formalmente cambiamos π(θ) por cπ(θ) con c > 0constante, y aplicamos la definicion de distribucion a posteriori

π(θ|x) =f (x|θ)cπ(θ)∫f (x|θ)cπ(θ)dθ

=f (x|θ)π(θ)

m(x),

obtenemos el mismo resultado.

(Universidad de Murcia) Murcia 2012/2013 17 / 95

Page 19: Presentacion Master Bioinformatica

Estimacion a posteriori

Las distribuciones de probabilidad son una herramienta paracuantificar la informacion ⇒ la distribucion a posteriori de θ es laherramienta que necesitamos para hecer inferencia (obtenerinformacion) sobre θ.

Podemos describir la distribucion a posteriori mediante cuantiles,media, varianza...

Para parametros unidimensionales, entre el cuantil 0.025 y el cuantil0.975 se encuentra el parametro con probabildad a posteriori 0.95,formando lo que llamaremos intervalo de credibilidad al 95% paradicho parametro. ¿diferencia con el intervalo de confianza?

(Universidad de Murcia) Murcia 2012/2013 18 / 95

Page 20: Presentacion Master Bioinformatica

Algunas definiciones

En las siguientes definiciones asumiremos que la distribucion aposteriori es de tipo continuo.

El caso discreto se obtiene cambiando integrales por sumatorios.

Vamos a considerar h(θ) una funcion (medible) del parametro θ, esdecir otro parametro ν = h(θ).

Si modelamos θ como variable aleatoria, tambien ν es una variablealeatoria y la distribucion a posteriori de θ induce una distribucion deprobabilidad sobre ν; la distribucion a posteriori de ν.

(Universidad de Murcia) Murcia 2012/2013 19 / 95

Page 21: Presentacion Master Bioinformatica

Definition (Intervalo de credibilidad)

Dado α ∈ (0, 1), diremos que un intervalo I ⊆ R es un intervalo decredibilidad del (1− α)100% para el parametro unidimensional ν = h(θ) si

P(h(θ) ∈ I |x) =

∫h(θ)∈I

π(θ|x)dθ = 1− α.

(Universidad de Murcia) Murcia 2012/2013 20 / 95

Page 22: Presentacion Master Bioinformatica

Definition (Media y varianza a posteriori)

La media y varianza a posteriori del parametro unidimensional h(θ), sonrespectivamente la media y la varianza de la distribucion a posteriori deh(θ), es decir,

E (h(θ)|x) =

∫Θ

h(θ)π(θ|x)dθ,

y

Var(θ|x) =

∫Θ

(h(θ)− E (h(θ)|x))2π(θ|x)dθ.

(Universidad de Murcia) Murcia 2012/2013 21 / 95

Page 23: Presentacion Master Bioinformatica

Example

La distribucion a posteriori

π(p|x) =f (x|p)π(p)

m(x)∝ pnx(1− p)n(1−x)

es la densidad de la distribucion Beta de parametros a = nx + 1 yb = 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 esel estimador frecuentista del parametro p, mientras que la varianza aposteriori se aproxima a 0.

(Universidad de Murcia) Murcia 2012/2013 22 / 95

Page 24: Presentacion Master Bioinformatica

Distribuciones a priori no informativas

La eleccion de la distribucion a priori π(θ) es una de las principalesdificultades para realizar inferencia bayesiana y un tema actual deinvestigacion.

Cuando el investigador tiene informacion sobre los parametros delmodelo antes de la observacion de los datos, es posible establecerdistribuciones a priori de manera subjetiva pero esta situacion nosuele darse en la practica

Es preferible usar procedimientos automaticos conocidos comoobjetivos o no informativos para producir distribuciones a priori, quetienen como objetivo atenuar el impacto que la distribucion a prioripueda tener sobre la inferencia resultante, [?].

(Universidad de Murcia) Murcia 2012/2013 23 / 95

Page 25: Presentacion Master Bioinformatica

Regla de Jeffreys

Una de tales reglas es la regla de Jeffreys, ver [?], que establece comodistribucion a priori la raız cuadrada de la medida de informacion de Fisher

π(θ) ∝(

Ex|θ

(− d2

dθ2log f (x|θ)

))1/2

cuando el parametro θ es unidimensional.

El sımbolo Ex|θ significa esperanza respecto de la distribucion dada porf (x|θ).

(Universidad de Murcia) Murcia 2012/2013 24 / 95

Page 26: Presentacion Master Bioinformatica

Example

Como primer ejemplo consideramos la distribucion de Poisson.Supongamos que x = (x1, ..., xn) es una muestra de n observacionesindependientes de la distribucion de Poisson de media λ. Entonces

f (x|λ) ∝ λnx exp(−nλ)

d

dλlog f (x|λ) = nx/λ− n y

d2

dλ2log f (x|λ) = −nx/λ2.

La esperanza de nx/λ2 es nλ/λ2 = n/λ, ⇒ la distribucion a priori deJeffrey es π(λ) ∝ 1/

√λ.

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

Page 27: Presentacion Master Bioinformatica

Ejercicio

Supongamos que x = (x1, ..., xn) es una muestra de n observacionesindependientes de la distribucion N(µ, σ2), donde σ es conocido. En estecaso la regla de Jeffrey establece π(µ) ∝ 1.

(Universidad de Murcia) Murcia 2012/2013 26 / 95

Page 28: Presentacion Master Bioinformatica

Analisis bayesiano de muestras con distribucionnormal. Una poblacion normal N(µ, σ2)

Supongamos que los datos x1, x2, ..., xn son observaciones independientescon distribucion N(µ, σ2). La funcion de densidad de los datos viene dadapor

f (x|µ, σ) = (2πσ2)−n/2 exp

(− 1

2σ2

n∑i=1

(xi − µ)2

).

Consideramos dos casos

Caso 1. El parametro σ es conocido ⇒ θ = µ

Caso 2. Los parametros µ y σ son desconocido ⇒ θ = (µ, σ)

(Universidad de Murcia) Murcia 2012/2013 27 / 95

Page 29: Presentacion Master Bioinformatica

Caso 1. El parametro σ es conocido.

En este caso µ es el unico parametro sobre el que tenemos queespecificar una distribucion a priori.

La distribucion a priori de Jeffreys es π(µ) ∝ 1.

Esta distribucion a priori es impropia:∫π(µ)dµ = +∞ ⇒ la teorıa

de la probabilidad no puede ser aplicada salvo que la definicion dedistribucion a posteriori (2) nos proporcione una distribucion propia,es decir,

∫π(µ|x)dµ = 1, lo que en este caso equivale a que∫

Rf (x|µ, σ)dµ < +∞.

(Universidad de Murcia) Murcia 2012/2013 28 / 95

Page 30: Presentacion Master Bioinformatica

Sumando y restando x en (xi − µ)2 obtenemos

n∑i=1

(xi − µ)2 =n∑

i=1

(xi − x)2 + n(x− µ)2

y por tanto

f (x|µ, σ) ∝ exp

(−(x− µ)2

2σ2/n

)donde ∝ significa que el lado izquierdo es el derecho multiplicado por unafuncion que no depende de µ.

(Universidad de Murcia) Murcia 2012/2013 29 / 95

Page 31: Presentacion Master Bioinformatica

Entonces ∫R

f (x|µ, σ)dµ < +∞

ya que ∫R

exp

(−(x− µ)2

2σ2/n

)dµ =

√2πσ2/n

y podemos usar π(µ) ∝ 1 como distribucion a prior y la distribucion aposteriori resultante es

π(µ|x) ∝ f (x|µ, σ)π(µ) ∝ exp

(−(x− µ)2

2σ2/n

),

es decir, la distribucion normal de media x y varianza σ2/n.

(Universidad de Murcia) Murcia 2012/2013 30 / 95

Page 32: Presentacion Master Bioinformatica

Entonces ∫R

f (x|µ, σ)dµ < +∞

ya que ∫R

exp

(−(x− µ)2

2σ2/n

)dµ =

√2πσ2/n

y podemos usar π(µ) ∝ 1 como distribucion a prior y la distribucion aposteriori resultante es

π(µ|x) ∝ f (x|µ, σ)π(µ) ∝ exp

(−(x− µ)2

2σ2/n

),

es decir, la distribucion normal de media x y varianza σ2/n.

(Universidad de Murcia) Murcia 2012/2013 30 / 95

Page 33: Presentacion Master Bioinformatica

El intervalo I = (x− 1.96σ/√

n, x + 1.96σ/√

n) es un intervalo decredibilidad al 95% para µ, que coincide con el clasico intervalo deconfianza al 95% para µ cuando la varianza de la poblacion es conocida.

(Universidad de Murcia) Murcia 2012/2013 31 / 95

Page 34: Presentacion Master Bioinformatica

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/σ. Estadistribucion a priori es impropia pues

∫π(µ, σ)dµdσ = +∞, sin embargo

Theorem

Si n ≥ 2 y la varianza muestral es s2 = ν−1∑

(xi − x)2 > 0, conν = n − 1, entonces la distribucion a posteriori (2) que resulta es unadistribucion propia, es decir,

∫π(µ, σ|x)dµdσ = 1.

(Universidad de Murcia) Murcia 2012/2013 32 / 95

Page 35: Presentacion Master Bioinformatica

Distribucion a posteriori de µComo

π(µ, σ|x) ∝ σ−n−1 exp

(− 1

2σ2(νs2 + n(µ− x)2)

)entonces π(µ|x) es proporcional a∫ +∞

0σ−n−1 exp

(− 1

2σ2(νs2 + n(µ− x)2)

)dσ ∝ 1

(νs2 + n(µ− x)2)n/2

y por tanto

π(µ|x) ∝ 1(1 + n(µ−x)2

νs2

)n/2.

La distribucion a posteriori de µ es la distribucion de la variable aleatoria

x +s√n

t,

donde t es una variable con distribucion t-Student con ν grados delibertad.

(Universidad de Murcia) Murcia 2012/2013 33 / 95

Page 36: Presentacion Master Bioinformatica

La media a posteriori de µ es x y un intervalo de credibilidad al(1− α)100% viene dado por(

x− s√n

tα/2,ν , x +s√n

tα/2,ν

)donde tα/2,ν es el cuantil 1− α/2 de la distribucion Student-t con νgrados de libertad.

(Universidad de Murcia) Murcia 2012/2013 34 / 95

Page 37: Presentacion Master Bioinformatica

Distribucion a posteriori de σ

π(σ|x) ∝∫σ−n−1 exp

(− νs2

2σ2

)exp

(−(x− µ)2

2σ2/n

)dµ

∝ σ−n exp

(− νs2

2σ2

)

que esta relacionada con la distribucion Gamma.

(Universidad de Murcia) Murcia 2012/2013 35 / 95

Page 38: Presentacion Master Bioinformatica

Diferencia de las medias de dos poblacionesnormales

Cuantificar las diferencias entre la distribucion de dos variables es unobjetivo muy comun en las aplicaciones.

Comparar los niveles de colesterol ante dos medicamentos es unejemplo: si asumimos que la concentracion de colesterol tiene unadistribucion normal bajo dos tratamientos que deseamos comparar yambas distribuciones presentan la misma varianza, entonces lacomparacion puede hacerse comparando las medias de ambasdistribuciones.

(Universidad de Murcia) Murcia 2012/2013 36 / 95

Page 39: Presentacion Master Bioinformatica

Supongamos que tenemos dos muestras independientes,

I x1 de n1 observaciones independientes de una poblacion N(µ1, σ21)

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

Los parametros desconocidos son µ1, µ2, σ1 y σ2, pero estamosinteresados en el parametro

α = µ2 − µ1

.

La inferencia sobre el parametro α se basa en su distribucion aposteriori.

Esta distribucion puede ser obtenida analıticamente en el caso en queσ1 = σ2 = σ. En este escenario los parametros desconocidos son µ1,µ2 y σ, y asumiremos como distribucion a priori π(µ1, µ2, σ) ∝ 1/σ.

(Universidad de Murcia) Murcia 2012/2013 37 / 95

Page 40: Presentacion Master Bioinformatica

Theorem

La distribucion a posteriori de α, ver [?], es tal que

α− (x2 − x1)

s√

1/n1 + 1/n2

tiene como distribucion a posteriori una distribucion t de Student conν = n1 + n2 − 2 grados de libertad, donde s2 = (ν1s2

1 + ν2s22 )/ν.

Cuando no es asumible que σ1 = σ2, la distribucion a posteriori de µ2− µ1

no admite una expresion cerrada, y es necesario recurrir a metodosnumericos para hacer inferencias sobre µ2 − µ1.

(Universidad de Murcia) Murcia 2012/2013 38 / 95

Page 41: Presentacion Master Bioinformatica

Metodos de Monte Carlo (MC) y de Monte Carlo yCadenas de Markov (MCMC).

La aplicacion de los metodos bayesianos para hacer inferencia requierepoder calcular integrales del tipo

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

E (h(θ)|x) =

∫νπ(ν|x)dν.

(Universidad de Murcia) Murcia 2012/2013 39 / 95

Page 42: Presentacion Master Bioinformatica

Estas integrales no pueden calcularse de manera explıcita en general,lo que significa que es necesario recurrir a metodos numericos deaproximacion.

Cuando la integral es de dimension elevada, los metodos numericosclasicos como las formulas de Newton-Cotes no son eficientes.

La simulacion de la distribucion a posteriori es la tecnica que mas seusa en estadıstica bayesiana para aproximar integrales del tipo (??).

(Universidad de Murcia) Murcia 2012/2013 40 / 95

Page 43: Presentacion Master Bioinformatica

Metodo de Monte Carlo

Si θ(1), θ(2), ... es una sucesion de variables aleatorias independientes condistribucion π(θ|x), entonces con probabilidad uno

limm

1

m

m∑i=1

h(θ(i)) = E (h(θ)|x).

Por tanto para aproximar la integral E (h(θ)|x) basta con simular de ladistribucion a posteriori π(θ|x) un gran numero m de veces, evaluar lafuncion h(θ) en cada simulacion θ(i) y calcular

∑mi=1 h(θ(i))/m.

(Universidad de Murcia) Murcia 2012/2013 41 / 95

Page 44: Presentacion Master Bioinformatica

Otra forma de razonar es considerar que E (h(θ)|x) =∫νπ(ν|x)dν, donde

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

Si ν(1), ν(2), ... es una sucesion de variables aleatorias independientes condistribucion π(ν|x), entonces con probabilidad uno

limm

1

m

m∑i=1

ν(i) = E (h(θ)|x).

Por tanto para aproximar la integral E (h(θ)|x) basta con simular de ladistribucion a posteriori π(ν|x) un gran numero m de veces.

(Universidad de Murcia) Murcia 2012/2013 42 / 95

Page 45: Presentacion Master Bioinformatica

Para simular la distribucion a posteriori de ν = h(θ) podemos simular θ deπ(θ|x) y calcular ν = h(θ), es decir, ν(1) = h(θ(1)), ν(2) = h(θ(2)), ... sonsimulaciones de la distribucion a posteriori de ν = h(θ).

(Universidad de Murcia) Murcia 2012/2013 43 / 95

Page 46: Presentacion Master Bioinformatica

Ejemplo

Vamos a considerar la inferencia bayesiana sobre la diferencia de lasmedias de dos poblaciones normales en el caso en que no asumimosigualdad de varianzas.

Supongamos que tenemos dos muestras independientes, una muestrax1 de n1 observaciones independientes de una poblacion N(µ1, σ

21) y

otra muestra x2 de n2 observaciones independientes de una poblacionN(µ2, σ

22).

Los parametros desconocidos son µ1, µ2, σ1 y σ2, pero estamosinteresados en el parametro ν = µ2 − µ1.

(Universidad de Murcia) Murcia 2012/2013 44 / 95

Page 47: Presentacion Master Bioinformatica

Para simular la distribucion 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 (µ1, σ1) de π1(µ1, σ1|x1) yI (µ2, σ2) de π2(µ2, σ2|x2).

(Universidad de Murcia) Murcia 2012/2013 45 / 95

Page 48: Presentacion Master Bioinformatica

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) ∝ σ−n11 exp

(−ν1s2

1

2σ21

)esta relacionada con la distribucion Gamma.

La distribucion π1(µ1|σ1, x1) es la normal de media x1 y varianzaσ2

1/n1.

(Universidad de Murcia) Murcia 2012/2013 46 / 95

Page 49: Presentacion Master Bioinformatica

La siguiente funcion para R proporciona una simulacion de la distribuciona posteriori de ν = µ2 − µ1

(Universidad de Murcia) Murcia 2012/2013 47 / 95

Page 50: Presentacion Master Bioinformatica

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

Page 51: Presentacion Master Bioinformatica

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 funcion simula.difmedias paraobtener la media a posteriori de µ2 − µ1, un IC 95% y un histograma de ladistribucion a posteriori de µ2 − µ1.

Comparar el IC95% con un resultado frecuentista.

(Universidad de Murcia) Murcia 2012/2013 49 / 95

Page 52: Presentacion Master Bioinformatica

Muestreo de importancia

En la practica la funcion h(θ) podra ser evaluada, pero la simulacion de ladistribucion a posteriori puede resultar complicada.

En estas situaciones, si podemos evaluar π(θ|x), podemos aplicar muestreode importancia, es decir, si g(θ) es una densidad (con soporte quecontenga al soporte de la posterior) entonces

E (h(θ)|x) =

∫h(θ)π(θ|x)

g(θ)g(θ)dθ

puede aproximarse usando Monte Carlo simulando de g(θ) y evaluandoh(θ)π(θ|x)/g(θ).

(Universidad de Murcia) Murcia 2012/2013 50 / 95

Page 53: Presentacion Master Bioinformatica

La densidad g(θ) puede ser cualquiera, sin embargo unas funcionanmejor que otras.

Una eleccion que suele ser satisfactoria consiste en tomar la densidadde una normal.

I La media de dicha normal puede ser θ, el estimador de maximaverosimilitud de θ

I La varianza puede ser 2V con V la matriz de covarianzas de θ

Aunque este procedimineto es sencillo, requiere poder evaluar π(θ|x),es decir, evaluar π(θ), f (x|θ) y tener calculada m(x). Normalmentecalcular m(x) es el problema.

(Universidad de Murcia) Murcia 2012/2013 51 / 95

Page 54: Presentacion Master Bioinformatica

En este caso, como

m(x) =

∫f (x|θ)π(θ)dθ

resulta que

E (h(θ)|x) =

∫h(θ)f (x|θ)π(θ)dθ∫

f (x|θ)π(θ)dθ=

∫h(θ) f (x|θ)π(θ)

g(θ) g(θ)dθ∫ f (x|θ)π(θ)g(θ) g(θ)dθ

y las integrales del numerador y denominador pueden ser aproximadasusando Monte Carlo simulando de g(θ) y evaluando la distribucion a prioriy la verosimilitud.

(Universidad de Murcia) Murcia 2012/2013 52 / 95

Page 55: Presentacion Master Bioinformatica

Algoritmo

1. Simulamos independientemente θ(1), θ(2),...,θ(m) de g(θ)2. Calculamos

ωi ∝f (x|θ(i))π(θ(i))

g(θ(i)), i = 1, ...,m

3. Obtenemos la aproximacion∫h(θ)π(θ|x)dθ ≈

∑mi=1 h(θ(i))ωi∑m

i=1 ωi

(Universidad de Murcia) Murcia 2012/2013 53 / 95

Page 56: Presentacion Master Bioinformatica

Ejercicio

Supongamos que los datos son una muestra de una distribucion normalN(µ, σ2) y que sabemos que µ ∈ (0, 5) y σ ∈ (0, 6). Simular los datos(n=20) tomando unos valores concretos de µ y de σ, y realizar inferenciabayesiana sobre los parametros.

La funcion de densidad de los datos es

f (x|µ, σ) = (2πσ2)−n/2 exp

(− 1

2σ2

n∑i=1

(xi − µ)2

).

Tomaremos π(µ, σ) ∝ σ−11(0,5)(µ)1(0,6)(σ)

Usaremos muestreo de importancia y tomaremos g(µ, σ) la densidad de ladistribucion uniforme en el espacio parametrico.

(Universidad de Murcia) Murcia 2012/2013 54 / 95

Page 57: Presentacion Master Bioinformatica

Ejercicio

Supongamos que los datos son una muestra de una distribucion normalN(µ, σ2) y que sabemos que µ ∈ (0, 5) y σ ∈ (0, 6). Simular los datos(n=20) tomando unos valores concretos de µ y de σ, y realizar inferenciabayesiana sobre los parametros.

La funcion de densidad de los datos es

f (x|µ, σ) = (2πσ2)−n/2 exp

(− 1

2σ2

n∑i=1

(xi − µ)2

).

Tomaremos π(µ, σ) ∝ σ−1

1(0,5)(µ)1(0,6)(σ)

Usaremos muestreo de importancia y tomaremos g(µ, σ) la densidad de ladistribucion uniforme en el espacio parametrico.

(Universidad de Murcia) Murcia 2012/2013 54 / 95

Page 58: Presentacion Master Bioinformatica

Ejercicio

Supongamos que los datos son una muestra de una distribucion normalN(µ, σ2) y que sabemos que µ ∈ (0, 5) y σ ∈ (0, 6). Simular los datos(n=20) tomando unos valores concretos de µ y de σ, y realizar inferenciabayesiana sobre los parametros.

La funcion de densidad de los datos es

f (x|µ, σ) = (2πσ2)−n/2 exp

(− 1

2σ2

n∑i=1

(xi − µ)2

).

Tomaremos π(µ, σ) ∝ σ−11(0,5)(µ)1(0,6)(σ)

Usaremos muestreo de importancia y tomaremos g(µ, σ) la densidad de ladistribucion uniforme en el espacio parametrico.

(Universidad de Murcia) Murcia 2012/2013 54 / 95

Page 59: Presentacion Master Bioinformatica

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

Page 60: Presentacion Master Bioinformatica

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

Page 61: Presentacion Master Bioinformatica

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

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

(Universidad de Murcia) Murcia 2012/2013 57 / 95

Page 62: Presentacion Master Bioinformatica

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))

t.test(x)(Universidad de Murcia) Murcia 2012/2013 58 / 95

Page 63: Presentacion Master Bioinformatica

Cadena de Markov

Definition

Diremos que la sucesion de variables aleatorias θ(1), θ(2), ... es una cadenade Markov si la distribucion de probabilidad de θ(k+1)|θ(1), θ(2), ..., θ(k) esla distribucion de probabilidad de θ(k+1)|θ(k)

(Universidad de Murcia) Murcia 2012/2013 59 / 95

Page 64: Presentacion Master Bioinformatica

Metropolisis-Hasting

El algoritmo de Metropolisis-Hasting fue desarrollado por Metropoliset al. (1953) y posteriormente por Hasting (1970).

Dicho algoritmo aplicado a π(θ|x) produce una cadena de Markov(θ(n)) cuya distribucion lımite es π(θ|x), y por tanto

limm

1

m

m∑i=1

h(θ(i)) =

∫h(θ)π(θ|x)dθ,

resultado que podemos utilizar para aproximar las inferencias aposteriori.

El algoritmo necesita una densidad de transicion q(θ′|θ) llamadadensidad instrumental o candidata, y un valor inicial θ(0) de la cadena.

(Universidad de Murcia) Murcia 2012/2013 60 / 95

Page 65: Presentacion Master Bioinformatica

Los valores θ(1), θ(2), ..., se obtienen sucesivamente repitiendo lossiguientes pasos

1. Simular θ′ ∼ q(θ′|θ(k)).2. Simular u ∼ U(0, 1) y calcular

ρk = min

(1,

π(θ′)f (x|θ′)π(θ(k))f (x|θ(k))

q(θ(k)|θ′)q(θ′|θ(k))

)

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

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

(Universidad de Murcia) Murcia 2012/2013 61 / 95

Page 66: Presentacion Master Bioinformatica

Gibbs sampling

Cuando la distribucion a posteriori π(θ|x) es multivariante, es complicadoproponer una candidata adecuada para aplicar directamente el algoritmode Metropolis-Hastings.

Si θ = (θ1, ..., θp), donde cada θi puede ser multidimensional, el algoritmoGibbs sampling produce una cadena de Markov (θ(n)) con distribucionlımite la distribucion π(θ|x).

(Universidad de Murcia) Murcia 2012/2013 62 / 95

Page 67: Presentacion Master Bioinformatica

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

1. θ(k+1)1 ∼ π(θ1|θ(k)

2 , ..., θ(k)p , x)

2. θ(k+1)2 ∼ π(θ2|θ(k+1)

1 , θ(k)3 , ..., θ

(k)p , x)

...

p. θ(k+1)p ∼ π(θp|θ(k+1)

1 , θ(k+1)2 , ..., θ

(k+1)p−1 , x)

Las distribuciones que hay que simular en cada paso son lasdistribuciones a posteriori condicionadas que, en muchas situacionespueden realizarse directamente.

Si no es ası, es posible aplicar el algoritmo de Metropolis-Hastings conuna iteracion para para simular en los pasos del algoritmo Gibbssampling.

(Universidad de Murcia) Murcia 2012/2013 63 / 95

Page 68: Presentacion Master Bioinformatica

Aspectos computacionales con R y WinBUGS.

El programa WinBUGS permite simular la distribucion a posterioricombinando varias tecnicas MCMC.

Empezaremos usando el ejemplo de la diferencia de las medias de dosvariables con ditribucion normal con varianzas desconocidas sinasumir que sean iguales.

(Universidad de Murcia) Murcia 2012/2013 64 / 95

Page 69: Presentacion Master Bioinformatica

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

Page 70: Presentacion Master Bioinformatica

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

Page 71: Presentacion Master Bioinformatica

Como en todo metodo MCMC, necesitamos unos valores iniciales de lacadena de Markov

list(mu1=0,mu2=0,xi1=0,xi2=0)

La notacion ∼ significa tiene por distribucion, es decir,x∼dnorm(mu,tau) significa que x se modela como una variable condistribucion normal de media mu y varianza 1/tau.

La notacion < − se utiliza para definir variables o constantes. Losvalores 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 inicialesque necesitamos.

(Universidad de Murcia) Murcia 2012/2013 67 / 95

Page 72: Presentacion Master Bioinformatica

Pasos para ejecutar WinBUGS

Abrimos WinBUGS, File>New y escribimos (pegamos) el modelo, losdatos y los valores iniciales en la ventana que aparece.

Model>Specification y aparece la ventana Specification Tool.Seleccionamos con el puntero del raton el texto del modelo yseleccionamos chek model en la ventana Specification Tool. Si elmodelo esta bien escrito, aparecera el mensaje model issyntactically correct en la esquina inferior izquierda.

Cargar los datos: seleccionamos con el puntero del raton los datos yhacemos 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 SpecificationTool.

(Universidad de Murcia) Murcia 2012/2013 68 / 95

Page 73: Presentacion Master Bioinformatica

Cargar los valores iniciales: seleccionamos con el puntero del raton losvalores iniciales y hacemos click en load inits; aparecera model isinitialized en la esquina inferior izquierda. En este momento elprograma 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, enprincipio todas las componentes de θ. Como para este ejemplo soloestamos interesados en µ2 − µ1, escribiremos dif en node y hacemosclick en set.

Model>Update y aparece la ventana Update Tool. Podemos irlanzado trozos de la cadena haciendo click en update.Cuando tenemos un gran numero de iteraciones (simulaciones),volvemos a la ventana Sample Monitor Tool. Si hacemos click enstats, aparece un descriptivo de la distribucion a posteriori delparametro que aparece en node, basado en las simulaciones creadashasta el momento.

(Universidad de Murcia) Murcia 2012/2013 69 / 95

Page 74: Presentacion Master Bioinformatica

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

Page 75: Presentacion Master Bioinformatica

Ejercicio

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

(Universidad de Murcia) Murcia 2012/2013 71 / 95

Page 76: Presentacion Master Bioinformatica

Ejercicio

La distribucion Student-t es una distribucion con colas mas pesadas que ladistribucion Normal y puede usarse si sospechamos que en nuestros datoshay outliers (valores atıpicos).

Cambiar el primer dato a 4 (outlier) y lanzar el modelo. ¿Como cambia lainferencia a posteriori?

Ahora usar la distribucion Student-t con k = 2 grados de libertad paramodelar 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

Page 77: Presentacion Master Bioinformatica

Ejercicio

Supongamos que a un grupo de 20 pacientes hemos suministrado elfarmaco 1 y a otro grupo de 24 pacientes el farmaco 2. Tras un periodo detiempo la enfermedad desaparece en 16 de los 20 pacientes con el farmaco1, y en 21 de los 24 pacientes con el farmaco 2. Utilizando WinBUGSestimar cuanto es mas probable sanar con el farmaco 2 que con el 1.

(Universidad de Murcia) Murcia 2012/2013 73 / 95

Page 78: Presentacion Master Bioinformatica

R y WinBUGS

Desde R podemos usar WinBUGS y combinar la funcionalidad deambos programas.

Necesitaresmos cargar en R la librerıa R2WinBUGS.

La funcion que llama a WinBUGS desde R es bugs.

Necesitamos los mismos ingredientes que son necesarios para usarWinBUGS: el modelo, los datos y los valores iniciales.

El modelo debe estar en un archivo de texto, por ejemplo modelo.txt. Lafuncion bugs buscara el fichero modelo.txt en el directorio de trabajoactual de la sesion que tengamos abierta de R.

(Universidad de Murcia) Murcia 2012/2013 74 / 95

Page 79: Presentacion Master Bioinformatica

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 enel fichero modelo.txt, mientras que varx1 es la variable en R con losdatos 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

Page 80: Presentacion Master Bioinformatica

Es una buena practica lanzar varias cadenas y empezar cada vez envalores 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 funcion iniciales sea llamada, los valores inicialesseran simulados segun la distribucion que pongamos; en este casopara generar las iniciales simulamos de la N(0, 1) para todos losparametros.

(Universidad de Murcia) Murcia 2012/2013 76 / 95

Page 81: Presentacion Master Bioinformatica

Las siguientes lıneas de comandos llaman a WinBUGS para que simule 3cadenas, 15000 iteraciones, eliminando las primeras 1000, y pidiendo sololas 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

Page 82: Presentacion Master Bioinformatica

Cuando WinBUGS ha terminado lo cerramos y ya tenemos en R elresultado en el objeto res.

Para visualizar los resultados en R podemos ejecutar el comandoprint(res,digits=3), lo que muestra en pantalla las caracterısticas aposteriori de los parametros que hemos especificado, en este caso, dif.

Con el comando attach.bugs(res) conseguimos tener en memoria lassimulaciones que ha obtenidas por WinBUGS, en este caso,tendremos una nueva variable llamada dif con las simulaciones, y, portanto, podremos usar dichas simulaciones para construir histogramas,otras figuras o incluso guardarlas para analisis posteriores.

(Universidad de Murcia) Murcia 2012/2013 78 / 95

Page 83: Presentacion Master Bioinformatica

Ejercicio

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

(Universidad de Murcia) Murcia 2012/2013 79 / 95

Page 84: Presentacion Master Bioinformatica

Modelo de regresion lineal

En todo modelo de regresion tenemos una variable dependiente (outcomeo variable respuesta) y variables independientes (explicativas), y seestablece una relacion entre la variable respuesta y las explicativas.

Esta relacion depende de parametros y entre los objetivos aparece laestimacion de dichos parametros.

(Universidad de Murcia) Murcia 2012/2013 80 / 95

Page 85: Presentacion Master Bioinformatica

El modelo de regresion lineal establece la relacion entre la variablecontinua 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 + β1xi1 + ...+ βkxik

y varianza σ2.

(Universidad de Murcia) Murcia 2012/2013 81 / 95

Page 86: Presentacion Master Bioinformatica

Usando una notacion matricial

y|β, σ,X ∼ Nn(Xβ, σ2In), (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 regresion (β0, β1, ..., βk)T y la matrixIn es la matriz identidad n × n.

Asumiremos que la matriz X es de rango completo, es decir, la matrizXTX tiene inversa.

Los coeficientes β1, ..., βk del modelo (??) tienen la siguienteinterpretacion. Cuando la variable xj se incrementa en una unidad y elresto permanecen fijas, entonces la media de la variable respuesta seincrementa en βj .

(Universidad de Murcia) Murcia 2012/2013 82 / 95

Page 87: Presentacion Master Bioinformatica

La funcion de verosimilitud viene dada por

f (y|β, σ2,X ) = (2πσ2)−n/2 exp

(− 1

2σ2(y − Xβ)T (y − Xβ)

)y la distribucion a priori de Jeffreys es π(β, σ2|X ) ∝ 1/σ2. En estasituacion la distribucion a posteriori viene dada por

β|σ2, y,X ∼ Nk+1(β, σ2(XTX )−1)

σ2|y,X ∼ IG((n − k − 1)/2, s2/2)

donde β es el estimador de maxima verosimilitud de β, es decir,(XTX )−1XTy, y s2 = (y − X β)T (y − X β).

(Universidad de Murcia) Murcia 2012/2013 83 / 95

Page 88: Presentacion Master Bioinformatica

Aunque es posibles hacer inferencia bayesiana sobre todos los parametrosdel modelo sin usar metodos MCMC ...

Ejercicio.

Usando WinBUGS y R, ajustar el modelo de regresion lineal con la base dedatos caterpillar.txt, tomando la variable respuesta log V 11, y el resto devariables como variables de ajuste.

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

> Bdatos[1:5,]

V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11

1 1200 22 1 4.0 14.8 1.0 1.1 5.9 1.4 1.4 2.37

2 1342 28 8 4.4 18.0 1.5 1.5 6.4 1.7 1.7 1.47

3 1231 28 5 2.4 7.8 1.3 1.6 4.3 1.5 1.4 1.13

4 1254 28 18 3.0 9.2 2.3 1.7 6.9 2.3 1.6 0.85

5 1357 32 7 3.7 10.7 1.4 1.7 6.6 1.8 1.3 0.24

(Universidad de Murcia) Murcia 2012/2013 84 / 95

Page 89: Presentacion Master Bioinformatica

Almacenamos el nombre de las variables en memoria

> attach(Bdatos)

> names(Bdatos)

[1] "V1" "V2" "V3" "V4" "V5" "V6" "V7"

"V8" "V9" "V10" "V11"

(Universidad de Murcia) Murcia 2012/2013 85 / 95

Page 90: Presentacion Master Bioinformatica

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

Page 91: Presentacion Master Bioinformatica

> 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

Page 92: Presentacion Master Bioinformatica

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

Page 93: Presentacion Master Bioinformatica

> 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

Page 94: Presentacion Master Bioinformatica

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

Page 95: Presentacion Master Bioinformatica

Inferencia bayesiana en modelos de regresion logıstica

Supongamos que el outcome es una variable dicotomica que toma losvalores 0 y 1, es decir, una variable de bernoulli.

El modelo de regresion logıstica asume la siguiente relacion entre los datosyi y los valores xi1, xi2, ..., xik de las covariables

logit pi = β0 + β1xi1 + ...+ βkxik , i = 1, ..., n

donde pi = P(yi = 1|β, xi ) y logit pi = log(pi/(1− pi )).

(Universidad de Murcia) Murcia 2012/2013 91 / 95

Page 96: Presentacion Master Bioinformatica

Asuminedo que los datos yi son independientes dados β y xi , i = 1, ..., n,la funcion de verosimilitud es

f (y|β, x1, ..., xn) =n∏

i=1

pyii (1− pi )

1−yi

Para este modelo no es posible simular la distribucion a posterioridirectamente, como en el caso del modelo de regresion lineal, ynecesitamos tecnicas MCMC para realizar las inferencias.

(Universidad de Murcia) Murcia 2012/2013 92 / 95

Page 97: Presentacion Master Bioinformatica

Usando π(β) = 1, la implementacion general de este modelo en WinBUGSes

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

Page 98: Presentacion Master Bioinformatica

Durante 1986 el Baystate Medical Center de Massachusetts recogio datossobre el peso de recien nacidos para identificar factores que incrementan elriesgo de bajo peso al nacer. Algunos de esos factores, medidos en lasmadres, fueron tabaco, raza, partos previos y edad. Utilizaremos los datosde estas variables para ejemplificar el ajuste bayesiano de un modelo deregresion logıstica.

(Universidad de Murcia) Murcia 2012/2013 94 / 95

Page 99: Presentacion Master Bioinformatica

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

Page 100: Presentacion Master Bioinformatica

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 bayesianinference. 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, NewYork..

Box, G.E.P. y Tiao, G.C. (1973). Bayesian Inference in StatisticalAnalysis. Addison-Wesley.

(Universidad de Murcia) Murcia 2012/2013 95 / 95