O modelo de regressão de Poisson inflado com zero é definido para uma amostra por
e assume ainda que os parâmetros e atendem(y1,…,yn)
Yi={0kwith probability pi+(1−pi)e−λiwith probability (1−pi)e−λiλki/k!
λ=(λ1,…,λn)p=(p1,…,pn)
log(λ)logit(p)=Bβ=log(p/(1−p))=Gγ.
A probabilidade de log correspondente do modelo de regressão de Poisson inflado a zero é
L(γ,β;y)=∑yi=0log(eGiγ+exp(−eBiβ))+∑yi>0(yiBiβ−eBiβ)−∑i=1nlog(1+eGiγ)−∑yi>0log(yi!)
Aqui, e são as matrizes de design. Essas matrizes podem ser as mesmas, dependendo dos recursos que se deseja usar para os dois processos geradores. Eles têm o mesmo número de linhas, no entanto.BG
Supondo que pudéssemos observar quando é do estado perfeito, zero e quando é do estado de Poisson, a probabilidade de log seriaZi=1YiZi=0Yi
L(γ,β;y,z)=∑i=1nlog(f(zi|γ))+∑i=1nlog(f(yi|zi,β))
=∑i=1nzi(Giγ−log(1+eGiγ))+−∑i=1n(1−zi)log(1+eGiγ)+∑i=1n(1−zi)[yiBiβ−eBiβ−log(yi!)]
Os dois primeiros termos são a perda em uma regressão logística para separar de . O segundo termo é uma regressão aos pontos gerados pelo processo de Poisson.
zi=0zi=1
Mas as variáveis latentes não são observáveis? O objetivo é maximizar a primeira probabilidade de log. Mas temos que introduzir variáveis latentes e derivar uma nova probabilidade de log. Em seguida, usando o algoritmo EM, podemos maximizar a segunda probabilidade de log. Mas isso pressupõe que sabemos que ou ?Zi=0Zi=1
Respostas:
A raiz da dificuldade que você está tendo está na frase:
Como você observou, você não pode. Em vez disso, o que você maximiza é o valor esperado da segunda probabilidade de log (conhecida como "probabilidade completa do log de dados"), em que o valor esperado é assumido sobre o .zi
Isso leva a um procedimento iterativo, onde na iteração você calcula os valores esperados de considerando as estimativas de parâmetro da iteração ( (conhecida como "E-step ",) substitua-os na probabilidade completa do log de dados (consulte EDIT abaixo para saber por que podemos fazer isso neste caso) e maximize isso em relação aos parâmetros para obter as estimativas para a iteração atual (a" etapa M " .)kth zi (k−1)th
O log probabilidade-de dados completa para o Poisson zero inflado no caso mais simples - dois parâmetros, dizer e - permite simplificar de forma significativa quando se trata de o M-passo, e isso leva por cima de alguma forma ao seu formulário. Vou mostrar como isso funciona no caso simples, através de um código R, para que você possa ver a essência dele. Não simplificarei o máximo possível, pois isso pode causar uma perda de clareza quando você pensa no seu problema:λ p
No seu caso, em cada etapa, você fará uma regressão de Poisson ponderada em que os pesos devemβ λi
1-zhat
obter as estimativas de e, portanto, e, em seguida, maximizar:com relação ao vetor de coeficiente da sua matriz para obter as estimativas de . Os valores esperados , calculados novamente a cada iteração.G pi Ezi=pi/(pi+(1−pi)exp(−λi))
Se você deseja fazer isso com dados reais, em vez de apenas entender o algoritmo, já existem pacotes R; aqui está um exemplo http://www.ats.ucla.edu/stat/r/dae/zipoisson.htm usando a
pscl
biblioteca.EDIT: Devo enfatizar que o que estamos fazendo é maximizar o valor esperado da probabilidade do log de dados completos, NÃO maximizar a probabilidade do log de dados completos com os valores esperados dos dados ausentes / variáveis latentes plugados. Como acontece, se a probabilidade do log de dados completos é linear nos dados ausentes, como aqui, as duas abordagens são iguais, mas, caso contrário, não são.
fonte