2 votos

Comprendiendo cómo funciona realmente el algoritmo EM para datos faltantes

Actualmente estoy estudiando el algoritmo EM para manejar datos faltantes en un conjunto de datos. Entiendo que el objetivo final del algoritmo EM no es imputar datos, sino calcular los parámetros de interés. Sin embargo, al pensar en un ejemplo práctico realmente tengo dificultades para entender el paso E: calcular $Q(\theta, \theta^{(k)}) = \operatorname{E_{Z|X,\theta^{(k)}}} [\ln{p_{XZ}(x, z| \ \theta)}] \nonumber = \int_{\mathcal{Z}} {\ln{p_{XZ}(x, z| \ \theta)} \ p_{Z|X}(z| \ x, \theta^{(k)}) \ dz}$, donde $x$ son las realizaciones de $X$ (es decir, las variables observadas) y $z$ son las realizaciones de $Z$ (es decir, las variables con valores faltantes).

Ahora supongamos que tenemos un conjunto de datos, donde todas las instancias provienen de una variable aleatoria $Z$ que tiene una distribución normal bivariada, y también supongamos que varios datos faltan en este conjunto de datos. ¿Cómo funcionará el paso E en este caso (donde $\ln{p_{XZ}(x, z| \ \theta)} = \ln{p_{Z}(z| \ \theta)}$ y $p_{Z|X}(z| \ x, \theta^{(k)})=\ln{p_{Z}(z| \ \theta)}$)? ¿Se realiza una imputación de valores faltantes en el paso E y, de ser así, cómo se imputan? ¿Se imputarán por su valor actual del parámetro de media?

4voto

microhaus Puntos 321

Habiendo estudiado esto, remarcaría que hay bastante pasando con el algoritmo EM si no es familiar. Tu pregunta es interesante: algunas de las presentaciones que he visto sobre el algoritmo EM a veces no especifican explícitamente cómo se maneja la imputación de datos faltantes.

Habiendo visto las presentaciones en algunos de los libros de texto y documentos de tutorial de aprendizaje automático/estadísticas más conocidos, diría que la forma más clara en la que se puede ver cómo ocurre la imputación de valores faltantes en el algoritmo EM es viendo cómo funciona a través de estadísticas suficientes esperadas.

Imputación de datos faltantes usando el algoritmo EM.

Tienes toda la razón en que el algoritmo EM sirve para la estimación de máxima verosimilitud en presencia de variables latentes (que pueden definirse como datos faltantes), y que la imputación/inferencia de estas variables latentes es una subrutina para la estimación de parámetros.

Y sí, tienes razón en que utilizas las estimaciones actuales de los parámetros $\theta^{k}$ (o una suposición inicial cuando $k=0$) para imputar cuáles podrían ser las variables latentes.

Hay dos sentidos en los que ocurre la imputación de los datos faltantes:

  • En el paso E, cuando calculas la distribución condicional de los datos faltantes $Z$, dado los datos observados $X = x$, y las estimaciones de parámetros actuales $\theta = \theta^{k}$, es decir $p_{Z | X}(Z | X = x, \theta = \theta^{k})$. Esto es imputación en un sentido probabilístico, y utilizando semántica bayesiana, estás calculando una distribución posterior sobre los valores que los datos faltantes $Z$ pueden tomar dada la variables observadas y las estimaciones actuales de parámetros.

  • Sin embargo, si te refieres a la imputación en el sentido de "rellenar los datos faltantes" usando una predicción de punto apropiada, eso ocurre tanto en la 2ª parte del paso E como en el paso M.

  • En el paso E, cuando llegas a calcular la log-verosimilitud completa esperada bajo la distribución condicional $p_{Z | X}(Z | X = x, \theta = \theta^{k})$, necesitarás calcular estadísticas suficientes esperadas, lo cual requerirá no solo llenar los valores faltantes $Z$ con la media de la distribución condicional/posterior $p_{Z | X}(Z | X = x, \theta = \theta^{k})$, sino que también requerirá la varianza de la posterior.

  • En el paso M, estas estadísticas suficientes esperadas se utilizan para actualizar tus parámetros.

Si no estás familiarizado con el punto de vista de las estadísticas suficientes esperadas, te remito a las páginas "Sección 11.6 Ajuste de modelos con datos faltantes", p374-p376, de Machine Learning: A Probabilistic Perspective de Kevin Murphy, que te muestra cómo lidiar con el contexto específico de datos faltantes EM en el caso multivariado Normal en lugar del caso bivariado (el caso multivariado parece ser la norma en la mayoría de los principales libros de ML).

Por último, remarcaría que tu confusión puede deberse a una partición defectuosa de tus datos en variables faltantes y observadas; y las fórmulas que has especificado entre paréntesis son incorrectas debido a esta partición defectuosa. Nuevamente, te remito a Murphy, pero aquí está la esencia de lo que sucede para las distribuciones Normales multivariadas. La exposición que he añadido es de mis notas escritas a mano ya que Murphy no es del todo claro, en mi opinión, en cómo funciona la partición.

Nuestra matriz de datos, digamos que es $\mathbf{Y} \in \mathbb{R}^{D \times N}$, donde la $n$-ésima observación de las variables de entrada $D$ es un vector D-dimensional $y_n \in \mathbb{R}^D$. En el caso donde $y_n$ es un vector aleatorio que tiene una distribución Normal multivariante, $y_n \sim N(\mu, \Sigma)$ donde $\mu \in \mathbb{R}^{D}$ y $\Sigma \in \mathbb{R}^{D \times D}$ se usa a menudo para mostrar cómo funciona analíticamente esto.

Cada uno de los $y_n$ tendrá componentes faltantes, que denotamos como $z_n$; y también componentes observadas que denotamos como $x_n$ (puedes pensar en $x_n$ y $z_n$ como subvectores de $y_n$). Ahora podemos considerar la partición de la $y_n$ en un subvector observado $x_n$ y un subvector de datos faltantes $z_n$. Asumimos que cada $x_n$ y $z_n$ tienen una distribución Normal conjunta, lo que significa que podemos especificar lo siguiente:

$$y_n = \begin{bmatrix} x_n \\ z_n \\ \end{bmatrix} \sim N \left( \begin{bmatrix} \mu_{n, x} \\ \mu_{n, z} \\ \end{bmatrix}, \begin{bmatrix} \Sigma_{n, xx}, \Sigma_{n, xz} \\ \Sigma_{n, zx}, \Sigma_{n, zz} \\ \end{bmatrix} \right)$$

Donde $\mu_{n, x}$ y $\mu_{n, z}$ son subvectores de $\mu$ y $\Sigma_{n, xx}, \Sigma_{n, xz}, \Sigma_{n, zx}, \Sigma_{n, zz}$ son submatrices de $\Sigma$ usando las dimensiones relevantes definidas por $x_n$.

Ahora podemos usar fórmulas estándar para distribuciones condicionales Normales multivariadas para especificar el posterior utilizado en el paso E:

$$p(z_n | x_n, \mu, \Sigma) \sim N(m_n, V_n)$$

donde la media y la varianza posteriores son:

$$m_n = \mu_{n, z} + \Sigma_{n, zx}\Sigma_{n, xx}^{-1}(x_n - \mu_{n, x})$$

$$V_n = \Sigma_{n, zz} - \Sigma_{n, zx}\Sigma_{n, xx}^{-1}\Sigma_{n, xz}$$

Ahora utilizamos la media posterior $m_n$ y la varianza $V_n$ para computar las estadísticas suficientes esperadas $\mathbb{E}[x_n]$ y $\mathbb{E}[x_n x_n^T]$. Estas se utilizan para computar la función $Q(\theta, \theta^{k})$ en el paso E, y para computar actualizaciones de parámetros de máxima verosimilitud en el paso M, es decir, $\mu^{k+1}$ y $\Sigma^{k+1}$.

Referencias adicionales.

Aunque el punto de vista de las estadísticas suficientes esperadas, en mi opinión, es excelente para ver cómo funciona la imputación de datos en el algoritmo EM, no es tan apropiado para entender por qué utilizamos la log-verosimilitud completa esperada en primer lugar, ni por qué podemos maximizarla de forma iterativa como un sustituto de los datos observados/log-verosimilitud incompleta. La exposición más clara que he visto sobre este aspecto del algoritmo EM está en el Capítulo 11 de un libro no publicado llamado "Probabilistic Graphical Models" del legendario Michael Jordan, que puedes encontrar aquí.

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