18
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

Algoritmo EM.pdf

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));

GRACIAS

TOTALES