Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap...

60
Algoritmo EM e variações Cristiano de Carvalho Santos [email protected] Departamento de Estatística, Universidade Federal de Minas Gerais (UFMG)

Transcript of Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap...

Page 1: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Algoritmo EM e variaçõesCristiano de Carvalho [email protected]

Departamento de Estatística,Universidade Federal de Minas Gerais (UFMG)

Page 2: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

IntroduçãoO algoritmo EM (expectation-maximization) é uma estratégia demaximização baseada na ideia de dados faltantes e considera adistribuição do que está faltando dado o que foi observado.

I O artigo seminal de Dempster et al. (1977) apresenta osfundamentos estatísticos desta estratégia e a eficácia em umavariedade de problemas estatísticos.

I A popularidade do algoritmo EM origina-se de que pode sersimples de implementar e com que confiabilidade consegueencontrar o máximo global através de passos estáveis ecrescentes.

I No contexto Bayesiano, o algoritmo EM pode ser utilizadopara encontrar a moda da distribuição a posteriori.

Page 3: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Suponha que temos dados observados gerados a partir de variáveisaleatórias X, juntamente com dados faltantes (ou não observados)de variáveis aleatórias Z.

I Condicional nos dados observados x, queremos maximizaruma função de verossimilhança L(θ|x).

I Definimos por dados completos os dados gerados deY = (X,Z).

I No entanto, pode ser mais fácil trabalhar com as densidadesde Y |θ e Z|(x,θ).

Observação: Os dados faltantes podem não ser verdadeiros, sendoapenas uma manobra conceitual que simplifica o problema. Nestecaso, Z é frequentemente referenciado como variáveis latentes.

Page 4: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Marginalização

I Se Z é considerado latente ou ausente, ele pode ser vistocomo tendo sido removido do Y completo por meio daaplicação de uma função X = M(Y ).

I Sejam fX(x|θ) e fY (y|θ) denotam as densidades dos dadosobservados e os dados completos, respectivamente.

Note que a densidade condicional dos dados faltantes dado osdados observados é dada por

fZ|X(z|x,θ) = fY (y|θ)/fX(x|θ).

Page 5: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

O algoritmo

O algoritmo EM visa, iterativamente, maximizar L(θ|x) comrespeito a θ.

I Seja θ(t) a estimativa de máximo na iteração t, parat = 0, 1, . . ..

I Defina Q(θ|θ(t)) a esperança da função de log-verossimilhançapara dados completos, condicional aos dados observadosX = x. Isto é,

Q(θ|θ(t)) = E[logL(θ|Y )|x,θ(t)]

=∫

log fY (y|θ)fZ|X(z|x,θ(t))dz.

Page 6: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

O algoritmo é inicializado com θ(0) e então altera entre passos deesperança e maximização. O algoritmo pode ser descrito como:

1. Iniciar θ(0) e fazer t = 0;

2. Passo E: Calcular Q(θ|θ(t));

3. Passo M: Obter θ(t+1) ao maximizar Q(θ|θ(t)) com respeitoa θ e fazer t = t+ 1;

4. Repetir passos E e M até obter convergência para a sequênciade estimativas θ(t), segundo algum critério de parada.

Page 7: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Podemos considerar os critérios citados anteriormente nos métodosde maximização, usualmente com

(θ(t+1) − θ(t))T (θ(t+1) − θ(t))

ou|Q(θ(t+1)|θ(t))−Q(θ(t)|θ(t))|.

Page 8: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Outra regra muito usada é parar se

maxr

(|θ(t+1)r − θ(t)

r ||θ(t)r |+ δ1

)< δ2,

em queI δ1 e δ2 são constantes pré-determinadas (por exemplo,δ1 = 0, 001 e δ2 = 0, 0001);

I maxr Ar representa o maior valor Ar com o subscrito r talque r = 1, . . . , p.

Page 9: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Exemplo: Modelo Probito

Suponha uma amostra aleatória simples de Xi, i = 1, . . . , n, talque

Xi ∼ Bernoulli(pi),

em que pi = Φ(β0 + wiβ1) e wi é a covariável observada oindivíduo i.

Note que para estimar tal modelo para um conjunto de dados énecessário maximizar numericamente uma expressão que iráenvolver a inversa da distribuição acumulada da normal padrão.

Page 10: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Podemos utilizar o algoritmo EM reescrevendo tal que

Xi =

1 se Zi ≥ 0,0 caso contrário,

tal que Zi = β0 + β1wi + εi e εi ∼ N(0, 1).

Assim temos que,

fXi|Zi(xi|zi) = I{zi ≥ 0}I{xi = 1}+ I{zi < 0}I{xi = 0}fZi(zi|θ) = φ(zi|µzi , 1),

em que θ = (β0, β1) e µzi = β0 + β1wi.

Page 11: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Desta forma,

fZi|Xi(zi|xi,θ) =

φ(zi|µzi ,1)

1−Φ(0|µzi ,1)I{zi ≥ 0} se xi = 1;φ(zi|µzi ,1)Φ(0|µzi ,1) I{zi < 0} se xi = 0.

Considere:I βT = (β0, β1) e ZT = (Z1, . . . , Zn);I W = (1n, (w1, . . . , wn)T ).

Assim,

Q(θ|θ(t)) = −12E[ZTZ|x,θ(t)] + βTW TE[Z|x,θ(t)]

−12(Wβ)T (Wβ) + C

em que C é uma constante com respeito aos parâmetros.

Page 12: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Derivando,

Q(θ|θ(t))dβ

= W TE[Z|x,θ(t)]−W TWβ.

Logoβ(t+1) = (W TW )−1W TE[Z|x,θ(t)],

tal que

E[Zi|x,θ(t)] =

W Ti β

(t) − φ(WTi β

(t))Φ(−WT

i β(t)) se xi = 0;

W Ti β

(t) + φ(WTi β

(t))1−Φ(−WT

i β(t)) se xi = 1,

com W Ti = (1, wi).

Page 13: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Logo,1. Inicie β(0) e faça t = 0;

2. Passo E: Calcule E[Z|x,θ(t)];

3. Passo M: Calcule β(t+1):

4. Calcule um critério de parada. Se tolerância for atendida façaβ = β(t+1). Caso contrário, incremente t e volte ao passo 2.

Page 14: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

ConvergênciaInicialmente, vamos mostrar que cada passo de maximizaçãoaumenta a log-verossimilhança dos dados observados.

Note que,

log fX(x|θ) = log fY (y|θ)− log fZ|X(z|x,θ).

Então,

E[log fX(x|θ)|x,θ(t)] = E[log fY (y|θ)|x,θ(t)]− E[log fZ|X(z|x,θ)|x,θ(t)]

log fX(x|θ) = Q(θ|θ(t))−H(θ|θ(t)),

em que as esperanças são calculadas com respeito a distribuiçãode Z|(x,θ(t)) e

H(θ|θ(t)) = E[log fZ|X(z|x,θ)|x,θ(t)].

Page 15: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

A função H(θ|θ(t)) é maximizada com respeito a θ quandoθ = θ(t), pois

H(θ(t)|θ(t))−H(θ|θ(t))= E

[log fZ|X(z|x,θ(t))− log fZ|X(z|x,θ)|x,θ(t)

]=∫− log

{fZ|X(z|x,θ)fZ|X(z|x,θ(t))

}fZ|X(z|x,θ(t))dz

≥ − log∫fZ|X(z|x,θ)dz = 0,

em que a última linha vem da desigualdade de Jensen, dado que− log u é função convexa.

Page 16: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Quando escolhemos θ(t+1) que maximiza Q(θ|θ(t)) com respeito aθ, então

log fX(x|θ(t+1))− log fX(x|θ(t)) ≥ 0,

dado que Q é crescente e H decrescente, com desigualdade estritaquando Q(θ(t+1)|θ(t)) > Q(θ(t)|θ(t)).

Page 17: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Note que

l(θ|x) ≥ Q(θ|θ(t)) + l(θ(t)|x)−Q(θ(t)|θ(t)) = G(θ|θ(t)).

Page 18: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Estimação da variância

I O algoritmo EM não fornece automaticamente uma matriz decovariância dos estimadores de máxima verossimilhança.

I Uma caminho para estimar a matriz de covariância é calcular ainformação observada −l′′(θ|x), em que l′′ é a matriz desegundas derivadas de logL(θ|x).

I Em alguns casos, a matriz Hessiana pode ser calculadaanaliticamente, mas em outros pode ser difícil de obter.

Page 19: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Principio da informação de Louis

Temos que a informação observada é dada por

−I ′′(θ|x) = −Q′′(θ|ω)|ω=θ +H ′′(θ|ω)|ω=θ

iX(θ) = iY (θ)− iZ|X(θ),

em que as derivadas são com respeito a θ.

A informação observada é igual à informação completa menos ainformação faltante, este resultado é denominado princípio da faltade informação.

Page 20: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Trocando a ordem da integração e da diferenciação quandopossível temos que a informação completa é

iY (θ) = −Q′′(θ|ω)|ω=θ = −E [l′′(θ|Y ) | x,θ] .

Pode ser mostrado que

iZ|X(θ) = −H ′′(θ|ω)|ω=θ = V ar

[d log fZ|X(z|x,θ)

dθ|x,θ(t)

],

em que a variância é calculada com respeito a fZ|X .

Dado que o escore esperado é zero em θ, segue que

iZ|X(θ) =∫SZ|X(θ)SZ|X(θ)TfZ|X(z|X, θ)dz,

com SZ|X(θ) = d log fZ|X(z|x,θ)dθ

.

Page 21: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Assim,

IF (θ) = −E[l′′(θ|Y ) | x, θ

]− V ar

[d log fZ|X(z|x,θ)

dθ|x, θ

].

Louis (1982) mostra que

IF (θ) = −E[l′′(θ|Y ) | x, θ

]− E

[SY (θ)SY (θ)T | x, θ

]+E

[SY (θ) | x, θ

]ET

[SY (θ) | x, θ

],

em que SY (θ) = l(θ|Y )dθ

e θ são as estimativas finais dosparâmetros.

Logo,

IF (θ) = −E[l′′(θ|Y ) | x, θ

]− E

[SY (θ)SY (θ)T | x, θ

].

Page 22: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Se iY e iZ|X são difíceis de calcular analiticamente, eles podem serestimados via método Monte Carlo. Isto é,

iY ≈ −1m

m∑i=1

d2 log fY (yi|θ)dθdθT

,

onde, para i = 1, . . . ,m, yi = (x, zi) é um vetor simulado dedados completos consistindo dos dados observados e dados geradosiid de fZ|X .

Similarmente, um estimador Monte Carlo de iZ|X é a variânciaamostral de

d log fZ|X(zi|x,θ)dθ

obtidos de zi.

Page 23: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Bootstrap

O método bootstrap para obter uma estimativa da matriz decovariância para o EM para variáveis observadas iid é dado por:

1. Calcule θEM utilizando o algoritmo EM para x1, . . . ,xn. Façaj = 1 e faça θ1 = θEM .

2. Incremente j. Amostre pseudo-dados x∗1, . . . ,x∗naleatoriamente de x1, . . . ,xn com reposição.

3. Calcule θj utilizando o algoritmo EM para os pseudo-dadosx∗1, . . . ,x

∗n.

4. Pare se j é tão grande quanto desejado; Caso contrárioretorne ao passo 2.

Page 24: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

I No fim do processo, temos uma coleção de estimativas dosparâmetros dada por

θ1, . . . , θB,

em que B denota o número de iterações.

I A variância amostral destas estimativas é uma estimativa davariância de θ.

Esta metodologia se torna ineficiente quando a solução de cadaEM é lenta por causa da alta proporção de dados faltantes ou altadimensionalidade.

Page 25: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Informação Empírica

Quando os dados são iid, note que

d log fX(x|θ)dθ

= l′(θ|x) =n∑i=1

l′(θ|xi),

em que x = (x1, . . . ,xn).

A informação empírica é definida como

1n

n∑i=1

l′(θ|xi)l′(θ|xi)T −1n2 l′(θ|x)l′(θ|x)T .

Page 26: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Note que θ(t) maximiza Q(θ|θ(t))− l(θ|x) com respeito a θ.Tomando as derivadas, temos

Q′(θ|θ(t))|θ=θ(t) = l′(θ|x)|θ=θ(t) .

Dado que Q′ é calculado em cada passo M, os termos individuaisda informação empírica estão disponíveis.

Page 27: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Melhorando o passo M

I Uma das vantagens do algoritmo EM é o fato de quefrequentemente a derivação e maximização de Q(θ|θ(t)) émais simples do que os cálculos com a verossimilhança paradados incompletos.

I Em alguns casos, a maximização de Q(θ|θ(t)) pode não sertão simples e algumas estratégias foram propostas parafacilitar o passo M.

Page 28: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Algoritmo EM Condicional

I O algoritmo ECM de Meng e Rubin propõe substituir o passoM por uma série de passos de maximizações condicionaiscomputacionalmente mais simples.

I Cada maximização condicional é construída para ser umproblema simples de otimização com restrições para θ paraum subespaço particular e permitindo uma solução analíticaou uma solução numérica elementar.

Page 29: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Denotamos a coleção de passos simples CM depois do k-ésimopasso E de ciclo CM.

Seja S o número total de passos CM dentro de cada ciclo.

Para s = 1, . . . , S, o s-ésimo passo CM dentro do t-ésimo ciclorequer a maximização de Q(θ|θ(t)) sujeito a restrições

gs(θ(t+(s−1)/S)),

em que θt+(s−1)/S é o máximo encontrado no (s− 1)-ésimo passoCM do ciclo atual.

Quando o ciclo é terminado, fazemos θ(t+1) = θ(t+S/S).

Page 30: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Usualmente é natural particionar θ em S sub-vetores, isto é,

θ = (θ1, . . . ,θS).

Então o s-ésimo passo CM se torna maximizar Q com respeito a θsenquanto mantém os outros componentes de θ fixados. Nestecaso, a função de restrições é

gs(θ) = (θ1, . . . ,θs−1,θs+1, . . . ,θS).

I Alternativamente, o s-ésimo passo CM pode ser maximizar Qcom respeito a todos os outros elementos de θ enquanto θs émantido fixo, ou seja, gs(θ) = θs.

I Uma variação do ECM insere um passo E entre cada par depassos CM, atualizando assim Q em todas as etapas do cicloCM.

Page 31: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Mistura de Gamas

Suponha X1, . . . , Xn iid tal que

fXi(xi|θ) = δf(xi|α1, β1) + (1− δ)f(xi|α2, β2),

em que θ = (δ, α1, α2, β1, β2) e f(xi|αk, βk) = xαk−1i e−xiβk

βαkk

Γ(αk) ,para k = 1 e 2.

Podemos inserir variáveis latentes Zi e reescrever o modelo

fXi(xi|θ, zi) = f(xi|α1, β1)zif(xi|α2, β2)1−zi

fZi(zi|δ) = δzi(1− δ)1−zi .

Page 32: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Note que,

Q(θ|θ(t)) =n∑i=1

E[Zi|xi,θ(t)] {log δ + log f(xi|α1, β1)}

+n∑i=1

(1− E[Zi|xi,θ(t)]) {log (1− δ) + log f(xi|α2, β2)}

eZi|xi,θ(t) ∼ Bernoulli (pi) ,

com

pi = δ(t)f(xi|α(t)1 , β

(t)1 )

δ(t)f(xi|α(t)1 , β

(t)1 ) + (1− δ(t))f(xi|α(t)

2 , β(t)2 )

.

Page 33: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Assim,

δ(t+1) =∑ni=1E[Zi|xi,θ(t)]

n

β(t+1)1 = α

(t)1∑ni=1E[Zi|xi,θ(t)]∑n

i=1 xiE[Zi|xi,θ(t)]

β(t+1)2 = α

(t)2 (n−∑n

i=1E[Zi|xi,θ(t)])∑ni=1 xi −

∑ni=1 xiE[Zi|xi,θ(t)]

.

Enquanto, α(t+1)1 e α(t+1)

2 são obtidos numericamente tal que

n∑i=1

E[Zi|xi,θ(t)]

log xi + log β(t+1)1 − Γ′(α(t+1)

1 )Γ(α(t+1)

1 )

= 0

n∑i=1

(1− E[Zi|xi,θ(t)])

log xi + log β(t+1)2 − Γ′(α(t+1)

2 )Γ(α(t+1)

2 )

= 0

Page 34: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Algoritmo EM gradiente

Para evitar loops em casos em que são necessários métodosnuméricos de maximização, Lange propõe substituir o passo M porum simples passo do método de Newton, aproximando o máximosem obter a solução “exata”.

O passo M é substituído por

θ(t+1) = θ(t) −Q′′(θ|θ(t))−1|θ=θ(t)Q′(θ|θ(t))|θ=θ(t)

= θ(t) −Q′′(θ|θ(t))−1|θ=θ(t)l′(θ(t)|x)

em que l′(θ(t)|x) é a avaliação da função escore na iteração atual.

A segunda expressão segue da observação de que θ(t) maximizaQ(θ|θ(t))− l(θ|x).

Page 35: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Alternativas para o passo E

I O passo E do algoritmo EM requer a log-verossimilhançaesperada dos dados completos condicional nos dadosobservados.

I Quando esta esperança é difícil de ser calculadaanaliticamente, ela pode ser aproximada via Monte Carlo.

Page 36: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Algoritmo EM Monte Carlo

Wei and Tanner (1990) propuseram que o passo E do algoritmoEM pode ser substituído pelos seguintes passos:

1. Amostrar Z(t+1)1 , . . . ,Z

(t+1)L iid de fZ|X(z|x,θ(t)). Cada

Z(t+1)l é um vetor de dados faltantes para completar os dados

observados, então Y l = (x,Z(t+1)l ) denota um conjunto de

dados completos em que os dados faltante foram substituídospor Z(t+1)

l .

2. Calcule a aproximação de Q(θ|θ(t)) dada por

QL(θ|θ(t)) = 1L

L∑l=1

l(θ|Y (t)l ).

Page 37: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Temos que:I Se escolhermos L = 1, obtemos o caso particular introduzido

por Celeux and Diebolt (1985) conhecido como algoritmo EMestocástico.

I Valores maiores de L levam a estimativas mais precisas, mas oalgoritmo se torna lento (Booth and Hobert; 1999).

I Wei and Tanner (1990) propôs uma estratégia para construirum algoritmo MCEM mais eficiente que consiste em assumirvalores pequenos de L nos primeiros passos, quando asestimativas ainda estão longe dos parâmetros verdadeiros, eaumentando como as iterações aumentam.

I Procedimentos ad-hoc são usados para definir L em cadaetapa (McCulloch; 1997; Chan and Kuk; 1997).

Page 38: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

I Procedimentos automáticos para definir L são discutidos, porexemplo, por Booth and Hobert (1999), Levine and Casella(2001), Levine and Fan (2004), Caffo et al. (2005) nocontexto de modelos MLR normais. Tais procedimentos sãogeralmente baseados na avaliação do erro de Monte Carlo.

I O algoritmo EMMC pode não convergir da mesma forma doque o EM ordinário. Os valores de θ, em geral, ficam variandoem torno do máximo e a variabilidade depende do valor L.Uma possibilidade é tomar como estimativa final a média dasestimativas nas iterações finais do algoritmo.

Page 39: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Aproximação Estocástica do EM

I A aproximação estocástica do EM (SAEM) foi introduzidaDelyon et al. (1999) com o objetivo de reduzir o número deiterações necessárias no algoritmo MCEM.

I No algoritmo SAEM, o passo E é substituído por umprocedimento de média estocástica.

I De acordo com Delyon et al. (1999), além de ter boaspropriedades teóricas, o SAEM estima os parâmetrospopulacionais com precisão, convergindo para o máximo globaldas estimativas de MV sob condições gerais.

Page 40: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

O passo E é dado por

QSA(θ | θ(t)) = QSA(θ | θ(t−1))+δt

[QL(θ | θ(t))− QSA(θ | θ(t−1))

],

em que δt é um parâmetro de suavidade {δt}k≥1 é uma sequênciade pesos positivos tal que ∑∞m=1 δt =∞ e ∑∞m=1 δ

2t <∞.

Note queI O SAEM também utiliza valores das variáveis latentes

simulados em iterações prévias.

I O parâmetro de suavidade δt controla a importância dosvalores simulados na iteração t.

I Se δt é igual a 1 para todo t, então o algoritmo SAEM éequivalente ao algoritmo MCEM.

Page 41: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Quintana sugere

δt ={

1, para 1 ≤ t ≤ t0rt−t0 , para t > t0,

(1)

em que r < 1 e t0 ≥ 1 determina o número inicial de iterações semmemória.

I Note que um valor grande de r indica um grande peso para osvalores simulados na iteração t.

I Isto pode ser usual em situações onde é difícil escolher oinstante t0 em que as estimativas estão próximas davizinhança da solução, pois os valores simulados tem grandeinfluência nas estimativas.

Page 42: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

0.0

0.2

0.4

0.6

0.8

1.0

m

δ m

●●

● ● ● ● ● ● ● ●

t0 + 1 t0 + 3 t0 + 5 t0 + 7 t0 + 9 t0 + 11 t0 + 13 t0 + 15

r = 0.45r = 0.6r = 0.75r = 0.9

Page 43: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Kuhn and Lavielle (2005) propõe uma sequência de pesos dada por

δt ={

1, para 1 ≤ t ≤ t0(t− t0)−α, para t > t0,

(2)

com 0.5 < α ≤ 1.

I Valores menores de α aumentam a importância dos valoressimulados das variáveis latentes na atual iteração do algoritmo.

I Galarza et al. (2015) considera α = 1 e define um número Wmáximo de iterações.

Page 44: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

0.0

0.2

0.4

0.6

0.8

1.0

m

δ m

●●

●●

●● ● ● ●

t0 + 1 t0 + 3 t0 + 5 t0 + 7 t0 + 9 t0 + 11 t0 + 13 t0 + 15

α = 0.55α = 0.7α = 0.85α = 1

Page 45: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Seguindo Galarza et al (2015), t0 pode ser definido por estabelecero limiar c (0 ≤ c < 1) que determina a porcentagem de iteraçõesiniciais sem a propriedade de memória, isto é,

t0 = dcW e,

em que dcW e é o menor inteiro maior que cW .

Por exemplo,I Se c = 0, o algoritmo tem propriedade de memória em todas

as iterações, enquanto que se c = 1 não existe propriedade dememória em todas as iterações.

I Um valor de c entre 0 e 1 garante uma rápida convergênciapara a vizinhança da solução nas iterações inicias e uma maiorprecisão nas outras iterações .

Page 46: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Se desenvolvemos a fórmula recursiva podemos reescrever

QSA(θ | θ(t)) =T∑

r=t0ωrQL(θ | θ(r)),

em que ωt = δt e ωr = δr∏Ts=r+1(1− δs), para r = t0, . . . , t− 1.

I Se considerarmos a sequência δt em (2) com α = 1 entãoωt0 = 0 e

ωr = 1/(t− t0)

para r = t0 + 1, . . . , t, isto é, todos os valores amostradosentre as iterações t0 + 1 e t tem a mesma importância naobtenção de θ(t+1).

Page 47: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Modelo logístico com intercepto aleatório

Suponha que a população está dividida em k clusters e umaamostra aleatória de tamanho ni é escolhida do i-ésimo cluster.

Denote porI yij é a variável resposta para o indivíduo j no cluster i tal que

yij|πij ∼ Binomial(nij, πij), i = 1, . . . , k and j = 1, . . . , ni;

I ηij = logit(πij) = xTijβ + γi;

I β = (β0, β1, ..., βp)T ∈ Rp+1 é o vetor de efeitos fixos;

I γi é o efeito aleatório para o i-ésimo cluster tal queγi ∼ N(0, σ2);

Page 48: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

I xij = (1, xij1, ..., xijp)T é o vetor coluna representando ascovariáveis relacionadas aos efeitos fixos para o indivíduo j nocluster i.

Assumindo que, dado γ, os N indivíduos são independentes, entãoa função de verossimilhança é dada por

f(y|β,γ) =k∏i=1

ni∏j=1

(nijyij

)[exp {ηij}

1 + exp {ηij}

]yij [ 11 + exp {ηij}

]nij−yij,

em queI y = (y11, ..., y1n1 , ..., yk1, ..., yknk)T ;I γ = (γ1, ..., γk)T ∈ Rk é o vetor de efeitos aleatórios;

I X é a matriz com a informação das covariáveis para todos osN indivíduos.

Page 49: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Seja yTc = (yT ,γT ) o vetor de dados completos e denote porθT = (βT , σ2) o vetor de parâmetros. A função delog-verossimilhança para dados completos é dada por

lc(θ;yc) =k∑i=1

ni∑j=1

(yijηij − nij ln {1 + exp {ηij}})

−k2 ln σ2 − 12σ2

k∑i=1

γ2i + C,

em que C é uma constante.

Page 50: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Na iteração t+ 1, a expressão do valor esperado no passo E é dadapor

Q(θ | θ(t)) = Eγ [lc(θ;yc) | y,θ(t)]

em que θ(t) são as estimativas da iteração t.

Note que

fγi|θ,y,D(γi) ∝ ni∏j=1

(πij)yij (1− πij)nij−yij fγi|σ2(γi),

em que πij = exp {ηij}[1 + exp {ηij}]−1 e ηij = xTijβ + γi.

Page 51: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

No EMMC, após obter uma amostra γ(t+1,1), . . . ,γ(t+1,L) dadistribuição de γ condicional em y e θ(t), temos

QL(θ | θ(t)) = 1L

L∑l=1

lc(θ;y(t+1,l)c )

=k∑i=1

ni∑j=1

yij(xTijβ + γi(t+1))

−k∑i=1

ni∑j=1

nij ln {1 + exp {xTijβ + γi}}(t+1)

−k2 ln σ2 − 12σ2

k∑i=1

γ2i

(t+1)+ C,

Page 52: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

em que

γi(t+1) = 1

L

L∑l=1

γ(t+1,l)i ,

ln {1 + exp {xTijβ + γi}}(t+1)

=

L∑l=1

ln{

1 + exp{xTijβ + γ

(t+1,l)i

}}L

,

γ2i

(t+1)= 1L

L∑l=1

(γ2i )(t+1,l)

A maximização com respeito a β é feita numericamente e para σ2

temos o estimador dado por

(σ2)(t+1) = 1k

k∑i=1

γ2i

(t+1).

Page 53: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

O algoritmo EMMC é dado por

s1. Defina os valores iniciais L, θ(0) e faça t = 1;

s2. Gere uma amostra de tamanho L de fγ|θ(t−1),y,D(γ).

s3. Calcule γi(t+1), ln {1 + exp {xTijβ + γi}}(t+1)

, γ2i

(t+1), e,

consequentemente, QL(θ | θ(t));

s4. Maximize QL(θ | θ(t)) para obter β(t+1) e (σ2)(t+1);

s5. Faça t = t+ 1 e defina um novo L.

s6. Repita os passos s2-s5 até atingir a convergência ou onúmero máximo de iterações.

Page 54: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

E se usarmos o SAEM?

Os estimadores para os parâmetros de interesse no algoritmoSAEM são os mesmo obtidos no algoritmo EMMC substituindoγi

(t+1), γ2i

(t+1)e ln {1 + exp {xTijβ + γi}}

(t+1)por

(γi)(t+1)SA = δt+1γi

(t+1) + (1− δt+1)(γi)(t)SA,

(γ2i )(t+1)SA = δt+1γ2

i

(t+1)+ (1− δt+1)(γ2

i )(t)SA,(

ln {1 + exp {xTijβ + γi}})(t+1)

SA= δt+1

ln {1 + exp {xTijβ + γi}}(t+1)

+(1− δt+1)(

ln {1 + exp {xTijβ + γi}})(t)

SA,

Page 55: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Matriz de Informação de Fisher

A matriz de informação empírica (Meilijson; 1989) é um estimadorconsistente para a Informação de Fisher esperada no caso iid.Dados que os clusters são independentes, a função delog-verossimilhança é

lc(θ;yc) =k∑i=1

lc(θ;yic) =k∑i=1

ni∑j=1

[yijηij − nij ln {1 + exp {ηij}}]

−k∑i=1

12

[ln σ2 + γ2

i

σ2

]+ C,

em que yic = (yTi , γi)T e yi = (yi1, . . . , yini)T .

Page 56: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

A matriz de informação de Fisher empírica é dada por

H(y;θ) = 1n

k∑i=1

s(yi;θ)s(yi;θ)T − 1n2S(y;θ)S(y;θ)T ,

tal que S(y;θ) = ∑ki=1 s(yi;θ), s(yi;θ) = ∂

∂θlobs(θ;yi) é a

função escore para o vetor yi e

lobs(θ;yi) = ln{∫

exp {lc(θ;yic)}dγi}.

Page 57: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Dado que ∂∂θlobs(θ;y) = 0, segue que

H(y; θ) = 1n

k∑i=1

s(yi; θ)s(yi; θ)T . (3)

Assumindo o princípio da informação (Louis; 1982) segue que

s(yi; θ) = ∂

∂θlobs(θ;yi) = Eγi

[∂

∂θlc(θ;yic) | yi, θ

],

que pode ser aproximado por

s(yi; θ)(t) = 1L

L∑l=1

∂θlc(θ;y(t,l)

ic ),

tal que y(t,l)ic = (yi, γ

(t,l)i ).

Page 58: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

As primeiras derivadas com respeito a β e σ2 são

∂θlc(θ;yic) =

ni∑j=1

(yij − nijπij)xij,γ2i − σ2

2(σ2)2

T ,

No SAEM o termo s(yi; θ)(t) in (3) é substituído por

sSA(yi; θ)(t) = sSA(yi; θ)(t−1) + δt[s(yi; θ)(t) − sSA(yi; θ)(t−1)

].

Page 59: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

References

Booth, J. G. and Hobert, J. P. (1999). Maximizing generalized linear mixed model likelihoodswith an automated monte carlo em algorithm, J. Roy. Stat. Soc. B 61(1): 265–285.

Caffo, B. S., Jank, W. and Jones, G. L. (2005). Ascent-based monte carloexpectation–maximization, J. Roy. Stat. Soc. B 67(2): 235–251.

Celeux, G. and Diebolt, J. (1985). The SEM algorithm: a probabilistic theacher algorithmderived from EM algorithm for the mixture problem, Comput. Stat. Quart. 2: 73–82.

Chan, J. S. K. and Kuk, A. Y. C. (1997). Maximum likelihood estimation for probit-linearmixed models with correlated random effects, Biometrics 53(1): 86–97.

Delyon, B., Lavielle, M. and Moulines, E. (1999). Convergence of a stochastic approximationversion of the em algorithm, Annals of statistics pp. 94–128.

Dempster, A. P., Laird, N. M. and Rubin, D. B. (1977). Maximum likelihood fromincomplete data via the EM algorithm, J. Roy. Stat. Soc. B 39(1): 1–38.

Galarza, C. E., Bandyopadhyayb, D. and Lachosa, V. H. (2015). Quantile regression forlinear mixed models: A stochastic approximation em approach.

Kuhn, E. and Lavielle, M. (2005). Maximum likelihood estimation in nonlinear mixed effectsmodels, Comput. Stat. Data An. 49(4): 1020–1038.

Page 60: Algoritmo EM e variações - ICEx - UFMGcristianocs/MetComput/Aula5.pdf · Bootstrap Ométodobootstrapparaobterumaestimativadamatrizde covariânciaparaoEMparavariáveisobservadasiidédadopor:

Levine, R. A. and Casella, G. (2001). Implementations of the Monte carlo EM algorithm, J.Comput. Graph. Stat. 10(3): 422–439.

Levine, R. A. and Fan, J. (2004). An automated (markov chain) monte carlo em algorithm,J. Stat. Comput. Sim. 74(5): 349–360.

Louis, T. A. (1982). Finding the observed information matrix when using the em algorithm,Journal of the Royal Statistical Society: Series B (Statistical Methodology) 44: 226–233.

McCulloch, C. E. (1997). Maximum likelihood algorithms for generalized linear mixedmodels, J. Am. Stat. Assoc. 92(437): 162–170.

Meilijson, I. (1989). A fast improvement to the em algorithm on its own terms, Journal ofthe Royal Statistical Society. Series B (Methodological) pp. 127–138.

Wei, G. C. and Tanner, M. A. (1990). A Monte Carlo implementation of the EM algorithmand the poor man’s data augmentation algorithms, J. Am. Stat. Assoc. 85(411): 699–704.