Upload
andres-castillo
View
161
Download
17
Embed Size (px)
Citation preview
CHAVEZ ABARCA
VARAS VILLAFUERTE
Esperanza - Maximización
U N I V E R S I D A D N A C I O N A L D E I N G E N I E R I A
El Algoritmo EM: Visión General
Técnica general para encontrar EMV para modelos paramétricos de data incompleta.
Idea Intuitiva:
contiene información relevante para estimar .
nos ayuda a obtener valores de los .
El Algoritmo EM se enfoca en las recurrencias anteriores.
Yfaltante µ
µ Yfaltante
Estimación por Máxima Verosimilitud
Vector Aleatorio X con f.d.p.
Vector de parámetros desconocidos en
Función de Verosimilitud para obtenida de la data
observada:
Ecuación Log-Verosimilitud
De cuyas raíces obtenemos el EMV .
µ = (µ1; : : : ; µd)0
g(x; µ)
£
µ
L(µ) = g(x; µ)
±log L(µ)
±µ= 0
µ̂
Problema de Data Incompleta
Yobservada
Yfaltante
Data Completa
Disponible
No Disponible
Situaciones de Data Incompleta:
Explicitas
• Data Faltante• Distribuciones Truncadas• Observaciones Agrupadas
Implícitas
• Efectos Aleatorios• Mixturas• Convoluciones• Modelos Log-Lineales• Clases Latentes• Estructuras Variables Latentes
Formulación del Algoritmo EM
Definición de variables y términos:
: vector n-dimensional de cantidades observadas.
: vector m-dimensional de cant. no observadas.
: data completa.
: función de densidad de Y.
: densidad condicional de la data faltante dada la observada (que también depende de ).
Yobs 2 Rn
Yfal 2 Rm
Y 2 Rn+m
p(Y jµ) = p(Yobs; Yfaljµ); µ 2 £
p(YfaljYobs; µ)
µ
Formulación del Algoritmo EM
Para cualquier problema de data incompleta:
Log-Verosimilizando cada termino:
Elementos:
: log-verosimilitud de la data completa
: log-verosimilitud de la data observada
: distribución predictiva de la data faltante
dado .
p(Y jµ) = p(Yobsjµ)p(YfaljYobsµ)
l(µjY ) = l(µjYobs) + log p(YfaljYobs; µ)
l(µjY )
l(µjYobs)
p(YfaljYobs; µ)
µ
Formulación del algoritmo EM
es desconocido, luego tomamos promedios sobre la distribución predictiva .
es un estimado del parámetro desconocido .
Del promedio:
Yfal
p(YfaljYobs;µ(t))
µ(t) µ
Q(µjµ(t)) = l(µjYobs) + H(µjµ(t))
Q(µjµ(t)) = EYfaljYobs;µ(t) [l(µjY )]
H(µjµ(t)) = EYfaljYobs;µ(t) [log p(YfaljYobs; µ)]
EYfaljYobs;µ[l(µjYobs)] = l(µjYobs)
Implementación del Algoritmo EM
1. Iniciar seleccionando un arbitrario.
2. Para
1. Paso E: Evaluación de
2. Paso M: Selección de del espacio parametrál £que maximiza , esto es:
µ(0)
Q(µ; µ(j¡1)) = EYfaljYobs;µ(j¡1) [l(µ; Y )]
µ(j+i)
Q(µ; µ(j¡1))
Q(µ(j+1); µ(j)) ¸ Q(µ; µ(j)); 8 µ 2 £
j = 1;2; : : :
function teta=em2(y1,y2,y3,y4,tol, start)
n=y1+y2+y3+y4;
tetaactual = start;
teta= tetaactual;
tetalast =0;
iter =0;
while (abs (tetalast-teta)>tol )
[x1,x2]=estep(tetaactual,y1);
teta= mstep (x2, x1, y4 ,n);
tetalast = tetaactual;
tetaactual =teta;
iter = iter+1;
end
disp('numero de iteraciones');
disp(iter);
function [x1,x2]=estep(tetaactual,y1)
x1=(2*y1)/(2+tetaactual );
x2=y1-x1;
function tetanuevo = mstep (x2,x1,y4,n)
tetanuevo =(x2+y4)/(n-x1);
Ejemplo2: RESPUESTA ALEATORIZADA
Una proporción (teta) de individuos pertenecientes a cierta categoría
estigmatizada debe ser estimada. Para evitar la no respuesta (y su
consecuente perdida de información) un nuevo esquema de muestreo es
propuesto. Una pregunta alternativa no relacionada a la principal con
proporción conocida de “SI” es introducida junto con la garantía de que la
pregunta seleccionada será conocida solamente por el que responde. La
idea es incrementarle la confianza para que nos de la respuesta correcta sin
revelarnos su verdadero estatus.
La probabilidad de la respuesta SI sería
Donde teta es la probabilidad de seleccionar la pregunta de interés y teta(A)
es la probabilidad conocida de un “SI” a la pregunta alternativa y pi es la
probabilidad de seleccionar la pegunta de interés. En una muestra de 150
individuos, 60 respuestas “SI” fueron obtenidas. Basadas en un
procedimiento con pi igual a 0.7 y teta(A) igual a 0.6
Usando el algoritmo EM tenemos que de la data observada es X es el
numero de SI respondidos y X se distribuye como una binomial:
Asimismo, de los datos no observados es Z el numero de individuos que
seleccionen la pregunta de interés .
Entonces tenemos que Z se distribuye:
function teta=em2(n,x,tetaA,pi,tol, start)
tetaactual = start;
teta= tetaactual;
tetalast =0;
iter =0;
while (abs (tetalast-teta)>tol )
z=estep(tetaactual,x,pi,tetaA);
teta= mstep (z,pi,tetaA,n,x);
tetalast = tetaactual;
tetaactual =teta;
iter = iter+1;
end
disp('numero de iteraciones');
disp(iter);
function z=estep (tetaactual,x,pi,tetaA)
z=(x*tetaactual*pi)/((pi*tetaactual)+((1-pi)*tetaA));
function tetanuevo = mstep (z,pi,tetaA,n,x)
tetanuevo =(z*(1-(tetaA*(1-pi))))/(z+((n-x)*pi));