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