9 votos

¿Por qué el algoritmo EM tiene que ser iterativo?

Supongamos que tenemos una población con $N$ unidades, cada una variable aleatoria $X_i \sim \text{Poisson}(\lambda)$. Observas $n = N-n_0$ valores para cualquier unidad para la cual se $X_i > 0$. Queremos una estimación de $\lambda$.

Hay método de los momentos y de máxima verosimilitud condicional maneras de obtener la respuesta, pero quería probar el algoritmo EM. Puedo obtener el algoritmo EM para ser $$ Q\left(\lambda_{-1}, \lambda\right) = \lambda \left(n + \frac{n}{\text{exp}(\lambda_{-1}) - 1}\right) + \log(\lambda)\sum_{i=1}^n{x_i} + K, $$ donde el $-1$ subíndice indica el valor de la anterior iteración del algoritmo y $K$ es constante con respecto a los parámetros. (En realidad creo que el $n$ en la fracción entre paréntesis debe ser $n+1$, pero eso no parece exacto; una pregunta para otro momento).

Para hacer este concreto, supongamos que $n=10$, $\sum{x_i} = 20$. Por supuesto, $N$ $n_0$ son observados y $\lambda$ es para ser estimado.

Cuando me iterar la función siguiente, el uso de la iteración anterior del valor máximo, puedo llegar a la respuesta correcta (verificado por la LMC, MAMÁ, y una simulación simple):

EmFunc <- function(lambda, lambda0){
  -lambda * (10 + 10 / (exp(lambda0) - 1)) + 20 * log(lambda)
}

lambda0 <- 2
lambda  <- 1

while(abs(lambda - lambda0) > 0.0001){
  lambda0 <- lambda
  iter    <- optimize(EmFunc, lambda0 = lambda0, c(0,4), maximum = TRUE)
  lambda  <- iter$maximum
}

> iter
$maximum
[1] 1.593573

$objective
[1] -10.68045

Pero este es un problema sencillo; vamos a maximizar sin iteración:

MaxFunc <- function(lambda){
  -lambda * (10 + 10 / (exp(lambda) - 1)) + 20 * log(lambda)
}

optimize(MaxFunc, c(0,4), maximum = TRUE)
$maximum
[1] 2.393027

$objective
[1] -8.884968

El valor de la función es mayor que en las naciones unidas-procedimiento iterativo y el resultado es inconsistente con las otras metodologías. ¿Por qué es el segundo procedimiento dándole una forma diferente y (supongo) respuesta incorrecta?

7voto

jayk Puntos 1065

Cuando usted ha encontrado a su función objetivo del algoritmo EM supongo que tratan el número de unidades con $x_i=0$, que voy a llamar a $y$, como su latente parámetro. En este caso, estoy (de nuevo) asumiendo $Q$ representa una forma reducida del valor esperado más de $y$ de la probabilidad de a dado $\lambda_{-1}$. Este no es el mismo que el pleno de la probabilidad, debido a que $\lambda_{-1}$ es treadted como dado.

Por lo tanto, usted no puede utilizar $Q$ para el total probabilidad, ya que este no contiene información acerca de cómo cambiar $\lambda$ cambios en la distribución de $y$ (y desea seleccionar el más probable de los valores de $y$ así cuando maximizar la probabilidad). Esta es la razón por la que el pleno de máxima verosimilitud para el cero de Poisson truncada difiere de su $Q$ función, y por qué es diferente (e incorrecta) de respuesta a la hora de maximizar $f(\lambda)=Q(\lambda,\lambda)$.

Numéricamente, la maximización de la $f(\lambda)$ se traduce necesariamente en una función objetivo, al menos, tan grande como su EM resultado, y probablemente la más grande, ya no hay ninguna garantía de que el algoritmo EM se reunirán para un máximo de $f$ - se supone que sólo convergen a un máximo de la probabilidad de la función!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X