el algoritmo em

25

Upload: marcelo-rodriguez-gallardo

Post on 02-Aug-2015

62 views

Category:

Presentations & Public Speaking


3 download

TRANSCRIPT

Page 1: El algoritmo EM

Estadística computacional

Tema 1: El algoritmo EM

Sesión 4

Doctorado en Estadística

Profesor: Dr. Harvey Rosas

Alumno: Marcelo Rodríguez

Facultad de Ciencias

Universidad de Valparaíso

Valparaíso, Chile, 23 de abril de 2015

Page 2: El algoritmo EM

Contenidos

1 Introduccion

2 Un ejemplo inspirador

3 El algortitmo EM

4 Ejemplos del algortitmo EM

Page 3: El algoritmo EM

Introduccion

Page 4: El algoritmo EM

I II III IV El algoritmo EM

Introducción

El algoritmo EM (Expectation-Maximization) es una tecnica de

optimizacion originalmente introducida por Dempster, Laird and

Rubin (1977), en su publicación �Maximum Likelihood from In-

complete Data via the EM Algorithm�. Se utiliza en estadística

para encontrar estimadores de verosimilitud maxima (VM) de pa-

rámetros en modelos probabilísticos que dependen de variables no

observables (datos perdidos).

El algoritmo EM alterna pasos de esperanza (paso E), don-

de se calcula la esperanza de la verosimilitud mediante la

inclusión de variables latentes como si fueran observables,

y un paso de maximización (paso M), donde se calculan esti-

madores de VM de los parámetros mediante la maximización

de la verosimilitud esperada del paso E.

Los parámetros que se encuentran en el paso M se usan para

comenzar el paso E siguiente, y así el proceso se repite.

[email protected] IEUV Estadística computacional 15-10-2014 4/25

Page 5: El algoritmo EM

Un ejemplo inspirador

Page 6: El algoritmo EM

I II III IV El algoritmo EM

Ejemplo inspirador: estimación de ligamientoen genética (Rao, 1973)

Este problema es propuesto por Rao (1973, pp. 368-369) y ana-

lizado por Dempester (1977) para presentar el algoritmo EM.

Se presenta datos en que 197 animales se distribuyen en cuatro

categorías (AB, Ab, aB y ab), de modo que el vector de datos

observados de frecuencias es

x = (x1, x2, x3, x4)T = (125, 18, 20, 34)T .

Se postula que provienen de una distribucion multinomial con

cuatro categorias con funcion de probabilidad

Pr(X1 = x1, X2 = x2, X3 = x3, X4 = x4) = g(x|θ),

es decir

g(x|θ) =n!

x1!x2!x3!x4!

(1

2+

1

)x1 (1

4− 1

)x2 (1

4− 1

)x3 (1

)x4.

donde n = x1 + x2 + x3 + x4 y 0 ≤ θ ≤ [email protected] IEUV Estadística computacional 15-10-2014 6/25

Page 7: El algoritmo EM

I II III IV El algoritmo EM

Estimación analítica

La función de log-verosimilitud es

l(θ) = log(L(θ|x)) = log(g(x|θ)),

l(θ) ∝ x1 log(2 + θ) + (x2 + x3) log(1− θ) + x4 log(θ).

Al derivar l(θ) con respecto a θ se tiene

∂θl(θ) =

x12 + θ

− x2 + x31− θ

+x4θ.

Resolviendo el sitema ∂∂θ l(θ) = 0, lo cual equivale a la ecuación

cuadrática l∗(θ) = nθ2 + (2x2 + 2x3 − x1 + x4)θ − 2x4 = 0 y

despejando θ se obtiene el EVM de θ.

θMV =−(2x2 + 2x3 − x1 + x4) +

√(2x2 + 2x3 − x1 + x4)2 + 8nx42n

.

Por lo tanto, para x = (x1, x2, x3, x4)T = (125, 18, 20, 34)T , una

estimación es θMV = 15+√53809

394 = 0, 626821498.

[email protected] IEUV Estadística computacional 15-10-2014 7/25

Page 8: El algoritmo EM

I II III IV El algoritmo EM

Estimación utilizando la librería maxLik

l(θ) ∝ x1 log(2 + θ) + (x2 + x3) log(1− θ) + x4 log(θ).

library(maxLik)

x<-c(125,18,20,34)

LogLikTheta<- function(param)

{

theta<-param[1]

x[1]*log(2+theta)+(x[2]+x[3])*log(1-theta)+

x[4]*log(theta)

}

EVM <- maxLik(logLik = LogLikTheta, start = c(theta=0.5))

#summary(mle)

coef(EVM)

theta

0.6268215

[email protected] IEUV Estadística computacional 15-10-2014 8/25

Page 9: El algoritmo EM

I II III IV El algoritmo EM

Estimación mediante método deNewton-Raphson

Recuerde que, si desea encontrar los valores de θ que satisfacen la

ecuación f(θ) = aθ2 + bθ + c = las puede obtener con el método

de N-R mediante el algoritmo iterativo

θ(j+1) = θ(j) −f(θ(j))

f ′(θ(j))= θ(j) −

a[θ(j)]2 + bθ(j) + c

2aθ(j) + b.

En nuestro ejemplo tendriamos

θ(j+1) = θ(j) −n[θ(j)]

2 + (2x2 + 2x3 − x1 + x4)θ(j) − 2x4

2nθ(j) + (2x2 + 2x3 − x1 + x4).

Reemplazando los datos

θ(j+1) = θ(j) −197[θ(j)]

2 − 15θ(j) − 68

394θ(j) − 15.

[email protected] IEUV Estadística computacional 15-10-2014 9/25

Page 10: El algoritmo EM

I II III IV El algoritmo EM

Estimación mediante el método deNewton-Raphson

La EVM mediante al algoritmo de N-R es de θNR = 0, 626821498.

Iteración j θ(j) δj = |θ(j) − θ(j−1)| l∗(θj)

0 0,500000000 - -26,2500000000000

1 0,644230769 0,144230769 4,0980954142012

2 0,627071500 0,017159269 0,0580047808911

3 0,626821551 0,000249949 0,0000123075082

4 0,626821498 0,000000053 0,0000000000006

5 0,626821498 0,000000000 0,0000000000000

Por ejemplo,

θ(1) = θ(0) −197[θ(0)]

2−15θ(0)−68394θ(0)−15

= 0, 50− 197[0,50]2−15∗0,50−68394∗0,50−15 = 0, 644230769

θ(2) = 0, 644230769− 197[0,644230769]2−15∗0,644230769−68394∗0,644230769−15 = 0, 627071500

[email protected] IEUV Estadística computacional 15-10-2014 10/25

Page 11: El algoritmo EM

El algortitmo EM

Page 12: El algoritmo EM

I II III IV El algoritmo EM

Primeros detalles del algoritmo EM

Se supone que X = (X1, X2, . . . , Xn) VA iid con distribución

conjunta desde g(x|θ) y se quiere calcular

θ = arg maxL(θ|x).

Donde L(θ|x) = g(x|θ). Consideremos los datos completos wprovenientes una muestra aleatoria constituida por W = (X,Z),donde W representa los datos completos, X los datos observados

y Z datos perdidos. La distribución conjunta de W es

f(w|θ) = f(x, z|θ) = k(z|θ,x)g(x|θ).

¾Cómo calculamos Lc(θ|w) = Lc(θ|x, z) si no conocemos z? Res-

puesta: No conocemos z de Lc(θ|x, z), así que la supondremos

como variable aleatoria y calculamos una media.

[email protected] IEUV Estadística computacional 15-10-2014 12/25

Page 13: El algoritmo EM

I II III IV El algoritmo EM

Primeros detalles del algoritmo EM

Considerando g(x|θ) =∫Z f(x, z|θ)dz, donde (X,Z) ∼ f(x, z|θ).

Entonces la distribución condicional de los datos perdidos z, dadolos datos observados x es

k(z|θ,x) =f(x, z|θ)g(x|θ)

.

Además existe una relación entre la verosimilitud para los datos

completos Lc(θ|x,Z) y la verosimilitud para los datos observados

L(θ|x) dada por

Lc(θ|x,Z) = k(Z|θ,x)L(θ|x)

y la log-verosimilitud es

logLc(θ|x,Z) = log k(Z|θ,x) + log g(x|θ)

[email protected] IEUV Estadística computacional 15-10-2014 13/25

Page 14: El algoritmo EM

I II III IV El algoritmo EM

Primeros detalles del algoritmo EM

es decir,

log g(x|θ) = logL(θ|x) = logLc(θ|x,Z)− log k(Z|θ,x)

Para un valor θ0, calculando esperanza con respecto a k(Z|θ,x)y utilizando la desigualdad de Jensen, se tiene

logL(θ|x)︸ ︷︷ ︸Datos obs.

= Eθ0 [logLc(θ|x,Z)]︸ ︷︷ ︸Datos completos

−Eθ0 [log k(Z|θ,x)]︸ ︷︷ ︸Datos perdidos

.

Al maximizar logL(θ|x) se debe ignorar el termino asociado solo

a los datos perdidos.

[email protected] IEUV Estadística computacional 15-10-2014 14/25

Page 15: El algoritmo EM

I II III IV El algoritmo EM

Iteraciones

El valor esperado de la log-verosimilitud se denota por

Q(θ|θ0,x) = Eθ0 [logLc(θ|x,Z)].

El algoritmo EM comienza maximizando en cada iteración

Q(θ|θ0,x).

Si θ(1) = arg maxQ(θ|θ0,x), entonces θ(0) → θ(1).

Se obtienen secuencias de estimadores {θ(j)}, donde

θ(j) = arg maxQ(θ|θ(j−1),x).

Este esquema iterativo, en cada paso contiene un calculo de

esperanza y maximización.

[email protected] IEUV Estadística computacional 15-10-2014 15/25

Page 16: El algoritmo EM

I II III IV El algoritmo EM

El algoritmo

Se comienza con una valor inicial θ(0) �jado por el investigador.

Repita.

1 Calcule (paso E)

Q(θ|θ(m),x) = Eθ(m)

[logLc(θ|x,Z)],

donde la esperanza es con respecto a k(z|θ(m),x) y establecer

m = 0.

2 Maximizar Q(θ|θ(m),x) en θ y tomar (paso M)

θ(m+1) = arg maxθQ(θ|θ(m),x)

y establecer m = m+ 1.

Los parámetros que se encuentran en el paso M se usan para

comenzar el paso E siguiente, y así el proceso se repite. Es decir,

se �ja el punto θ(m+1) = θ(m).

[email protected] IEUV Estadística computacional 15-10-2014 16/25

Page 17: El algoritmo EM

Ejemplos del algortitmo EM

Page 18: El algoritmo EM

I II III IV El algoritmo EM

Ejemplo: distribución de los datos observados

Recuerde que se presentaron datos en que n = 197 animales se dis-

tribuyen en cuatro categorías, de modo que el vector de datos ob-

servados de frecuencias es x = (x1, x2, x3, x4)T = (125, 18, 20, 34)T .

Se postula que provienen de una distribucion multinomial.

La función de distribución conjunta, para los datos observa-

dos, es:

g(x|θ) =n!

x1!x2!x3!x4!

(1

2+

1

)x1 (1

4(1− θ)

)x2+x3(θ4

)x4.

El núcleo de la distribución de los datos observados es

g(x|θ) ∝ (2 + θ)x1(1− θ)x2+x3(θ)x4 .

[email protected] IEUV Estadística computacional 15-10-2014 18/25

Page 19: El algoritmo EM

I II III IV El algoritmo EM

Ejemplo: distribución de los datos completos

Suponga que el dato con la mayor categoría proviene de dos ca-

tegorías z1 y z2 con probabilidades 1/2 y θ/4 , respectivamente.

De esta forma se introduce una variable latente (x1 = z1 + z2) re-sultando cinco categorías dadas por w = (w1, w2, w3, w4, w5)

T =(z1, z2, x2, x3, x4)

T , que representarían los datos completo. Ade-

más z = (z1, z2) representa los datos perdidos.

La distribución conjunta de W es f(w|θ) = f(x, z|θ), donde

f(x, z|θ) =n!

z1!z2!x2!x3!x4!

(1

2

)z1 (θ4

)z2 (1

4(1− θ)

)x2+x3 (θ4

)x4.

El núcleo de la distribución de los datos observados es

f(x, z|θ) ∝ (θ)z2+x4(1− θ)x2+x3 .

[email protected] IEUV Estadística computacional 15-10-2014 19/25

Page 20: El algoritmo EM

I II III IV El algoritmo EM

Ejemplo: distribución condicional de losdatos perdidos

La distribución condicional de los datos perdidos z, dado los datosobservados x es

k(z|θ,x) =f(x, z|θ)g(x|θ)

=

(x1y2

)(θ

θ + 2

)z2 (1− θ

θ + 2

)x1−z2.

El nucleo de la distribución condicional de los datos perdidos z,dado los datos observados x es

k(z|θ,x) ∝ (θ)z2+x4(1− θ)x2+x3(2 + θ)x1(1− θ)x2+x3(θ)x4

=θz2

(2 + θ)x1.

En conclusión, la distribución de Z2 es binomial con n = x1 y

p = θθ+2 y por lo tanto

E(Z2) =θx1θ + 2

.

[email protected] IEUV Estadística computacional 15-10-2014 20/25

Page 21: El algoritmo EM

I II III IV El algoritmo EM

Ejemplo: La etapa E

Primero la log-verosimilitud completa es

logLc(θ|x,Z) = log f(x,Z|θ) = (Z2+x4) log(θ)+(x2+x3) log(1−θ).

La esperanza sería

Eθ(m)

[logLc(θ|x,Z)] = Eθ(m)

[(Z2+x4) log(θ)+(x2+x3) log(1−θ)],

= Eθ(m)

[Z2] log(θ) + x4 log(θ) + (x2 + x3) log(1− θ),

Por lo tanto,

Q(θ|θ(m),x) =θ(m)x1

θ(m) + 2log(θ) + x4 log(θ) + (x2 + x3) log(1− θ),

[email protected] IEUV Estadística computacional 15-10-2014 21/25

Page 22: El algoritmo EM

I II III IV El algoritmo EM

Ejemplo: la etapa M

Se deriva Q con respecto al parámetro θ y se iguala a cero

∂Q(θ|θ(m),x)

∂θ=

θ(m)x1θ(m)+2 + x4

θ− x2 + x3

1− θ= 0.

Resolviendo la ecuación (despejando θ)

θ =

θ(m)x1θ(m)+2 + x4

θ(m)x1θ(m)+2 + x2 + x3 + x4

Remplazando los datos, x1 = 125, x2 = 18, x3 = 20 y x4 = 34,resulta una formula recursiva para el EVM de θ mediante.

θ(m+1) =

125θ(m)

θ(m)+2 + 34

125θ(m)

θ(m)+2 + 72=

159θ(m) + 68

197θ(m) + 144.

[email protected] IEUV Estadística computacional 15-10-2014 22/25

Page 23: El algoritmo EM

I II III IV El algoritmo EM

Ejemplo: la estimación

La EVM mediante el algoritmo EM es de θEM = 0, 626821498.

Iteración j θ(j) δj = |θ(j) − θ(j−1)|1 0,500000000 -

2 0,608247423 0,108247423

3 0,624321050 0,016073628

4 0,626488879 0,002167829

5 0,626777322 0,000288443

6 0,626815632 0,000038310

7 0,626820719 0,000005087

8 0,626821394 0,000000675

9 0,626821484 0,000000090

10 0,626821496 0,000000012

11 0,626821498 0,000000002

12 0,626821498 0,000000000

[email protected] IEUV Estadística computacional 15-10-2014 23/25

Page 24: El algoritmo EM

I II III IV El algoritmo EM

Código R: Algoritmo EM Monte Carlo

emrao <- function(m,teta0,error)

{

error1 <- 1

contador <- 1

while(error1 > error)

{

tetaux <- teta0/(2+teta0)

zi <- rbinom(m,125,tetaux)

teta1 <- (mean(zi)+34)/(mean(zi)+72)

error1 <- abs((teta1-teta0)/teta1)

teta0 <- teta1

print(c(teta1,contador))

contador <- contador+1

}

}

emrao(10000,0.5,0.00001)

Iteración j θ(j)

1 0.6080664

2 0.6243003

3 0.6263641

4 0.6269785

5 0.6267242

... ...

149 0.6268228

148 0.6271139

150 0.6267015

148 0.6268587

151 0.6268609

La EVM mediante el

algoritmo EMMC es

de θMC = 0,6268609.

[email protected] IEUV Estadística computacional 15-10-2014 24/25

Page 25: El algoritmo EM

Fin sesión 4Gracias por asistir a esta presentación