Post on 02-Aug-2015
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
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 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
Un ejemplo inspirador
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
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
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.
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 7/25
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
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.
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 9/25
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
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 10/25
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 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.
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 12/25
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|θ)
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 13/25
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.
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 14/25
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.
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 15/25
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).
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 16/25
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 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
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
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
.
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 20/25
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− θ),
mrodriguezgallardo@gmail.com IEUV Estadística computacional 15-10-2014 21/25
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
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
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
Fin sesión 4Gracias por asistir a esta presentación