Estadística computacional
Tema 1: El algoritmo EM
Sesión 4
Doctorado en Estadística
Profesor: Dr. Harvey Rosas
Alumno: Mar...
Contenidos
1 Introduccion
2 Un ejemplo inspirador
3 El algortitmo EM
4 Ejemplos del algortitmo EM
Introduccion
I II III IV El algoritmo EM
Introducción
El algoritmo EM (Expectation-Maximization) es una tecnica de
optimizacion origina...
Un ejemplo inspirador
I II III IV El algoritmo EM
Ejemplo inspirador: estimación de ligamiento
en genética (Rao, 1973)
Este problema es propuest...
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(θ)...
I II III IV El algoritmo EM
Estimación utilizando la librería maxLik
l(θ) ∝ x1 log(2 + θ) + (x2 + x3) log(1 − θ) + x4 log(...
I II III IV El algoritmo EM
Estimación mediante método de
Newton-Raphson
Recuerde que, si desea encontrar los valores de θ...
I II III IV El algoritmo EM
Estimación mediante el método de
Newton-Raphson
La EVM mediante al algoritmo de N-R es de θNR ...
El algortitmo EM
I II III IV El algoritmo EM
Primeros detalles del algoritmo EM
Se supone que X = (X1, X2, . . . , Xn) VA iid con distribuc...
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|...
I II III IV El algoritmo EM
Primeros detalles del algoritmo EM
es decir,
log g(x|θ) = log L(θ|x) = log Lc
(θ|x, Z) − log k...
I II III IV El algoritmo EM
Iteraciones
El valor esperado de la log-verosimilitud se denota por
Q(θ|θ0, x) = Eθ0 [log Lc
(...
I II III IV El algoritmo EM
El algoritmo
Se comienza con una valor inicial θ(0) jado por el investigador.
Repita.
1 Calcul...
Ejemplos del algortitmo EM
I II III IV El algoritmo EM
Ejemplo: distribución de los datos observados
Recuerde que se presentaron datos en que n = 197...
I II III IV El algoritmo EM
Ejemplo: distribución de los datos completos
Suponga que el dato con la mayor categoría provie...
I II III IV El algoritmo EM
Ejemplo: distribución condicional de los
datos perdidos
La distribución condicional de los dat...
I II III IV El algoritmo EM
Ejemplo: La etapa E
Primero la log-verosimilitud completa es
log Lc
(θ|x, Z) = log f(x, Z|θ) =...
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)
∂...
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 θ...
I II III IV El algoritmo EM
Código R: Algoritmo EM Monte Carlo
emrao - function(m,teta0,error)
{
error1 - 1
contador - 1
w...
Fin sesión 4
Gracias por asistir a esta presentación
Próxima SlideShare
Cargando en…5
×

El algoritmo EM

844 visualizaciones

Publicado el

El algoritmo EM

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
844
En SlideShare
0
De insertados
0
Número de insertados
9
Acciones
Compartido
0
Descargas
19
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

El algoritmo EM

  1. 1. 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
  2. 2. Contenidos 1 Introduccion 2 Un ejemplo inspirador 3 El algortitmo EM 4 Ejemplos del algortitmo EM
  3. 3. Introduccion
  4. 4. 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. mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 4/25
  5. 5. Un ejemplo inspirador
  6. 6. I II III IV El algoritmo EM Ejemplo inspirador: estimación de ligamiento en 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 4 θ x1 1 4 − 1 4 θ x2 1 4 − 1 4 θ x3 1 4 θ x4 . donde n = x1 + x2 + x3 + x4 y 0 ≤ θ ≤ 1. mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 6/25
  7. 7. 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(θ) = x1 2 + θ − x2 + x3 1 − θ + 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 + 8nx4 2n . 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. mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 7/25
  8. 8. 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 mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 8/25
  9. 9. I II III IV El algoritmo EM Estimación mediante método de Newton-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 . mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 9/25
  10. 10. I II III IV El algoritmo EM Estimación mediante el método de Newton-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)−68 394θ(0)−15 = 0, 50 − 197[0,50]2−15∗0,50−68 394∗0,50−15 = 0, 644230769 θ(2) = 0, 644230769 − 197[0,644230769]2−15∗0,644230769−68 394∗0,644230769−15 = 0, 627071500 mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 10/25
  11. 11. El algortitmo EM
  12. 12. 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 m´ax L(θ|x). Donde L(θ|x) = g(x|θ). Consideremos los datos completos w provenientes 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. mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 12/25
  13. 13. 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, dado los 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 log Lc (θ|x, Z) = log k(Z|θ, x) + log g(x|θ) mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 13/25
  14. 14. I II III IV El algoritmo EM Primeros detalles del algoritmo EM es decir, log g(x|θ) = log L(θ|x) = log Lc (θ|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 log L(θ|x) Datos obs. = Eθ0 [log Lc (θ|x, Z)] Datos completos − Eθ0 [log k(Z|θ, x)] Datos perdidos . Al maximizar log L(θ|x) se debe ignorar el termino asociado solo a los datos perdidos. mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 14/25
  15. 15. I II III IV El algoritmo EM Iteraciones El valor esperado de la log-verosimilitud se denota por Q(θ|θ0, x) = Eθ0 [log Lc (θ|x, Z)]. El algoritmo EM comienza maximizando en cada iteración Q(θ|θ0, x). Si θ(1) = arg m´ax Q(θ|θ0, x), entonces θ(0) → θ(1). Se obtienen secuencias de estimadores {θ(j)}, donde θ(j) = arg m´ax Q(θ|θ(j−1), x). Este esquema iterativo, en cada paso contiene un calculo de esperanza y maximización. mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 15/25
  16. 16. 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) [log Lc (θ|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 m´ax θ 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). mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 16/25
  17. 17. Ejemplos del algortitmo EM
  18. 18. 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 4 θ 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 . mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 18/25
  19. 19. 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 . mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 19/25
  20. 20. I II III IV El algoritmo EM Ejemplo: distribución condicional de los datos perdidos La distribución condicional de los datos perdidos z, dado los datos observados x es k(z|θ, x) = f(x, z|θ) g(x|θ) = x1 y2 θ θ + 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 . mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 20/25
  21. 21. I II III IV El algoritmo EM Ejemplo: La etapa E Primero la log-verosimilitud completa es log Lc (θ|x, Z) = log f(x, Z|θ) = (Z2+x4) log(θ)+(x2+x3) log(1−θ). La esperanza sería E θ(m) [log Lc (θ|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) + 2 log(θ) + x4 log(θ) + (x2 + x3) log(1 − θ), mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 21/25
  22. 22. 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 . mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 22/25
  23. 23. 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 mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 23/25
  24. 24. 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. mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 24/25
  25. 25. Fin sesión 4 Gracias por asistir a esta presentación

×