Análisis de componentes principales (PCA) a través de una lente de variable latente | por Natasha Stewart | Jul, 2024

Descripción general de PPCA, una extensión del PCA clásico, y su aplicación a datos incompletos a través del algoritmo EM

Foto por Tejedor Dhruv en Dejar de salpicarA medida que se repiten los pasos E y M del algoritmo EM, el algoritmo converge a los estimadores de máxima verosimilitud locales.

El análisis de componentes principales probabilístico (PPCA, por sus siglas en inglés) es una técnica de reducción de dimensionalidad que aprovecha un marco de variables latentes para recuperar las direcciones de varianza máxima en los datos. Cuando el ruido sigue una distribución gaussiana isótropa, los componentes principales probabilísticos estarán estrechamente relacionados con los componentes principales clásicos, idénticos hasta un factor de escala y una rotación ortogonal. Por lo tanto, el PPCA se puede utilizar para muchas de las mismas aplicaciones que el PCA clásico, como la visualización de datos y la extracción de características. El marco de variables latentes detrás del PPCA también ofrece una funcionalidad que el PCA clásico no tiene. Por ejemplo, el PPCA se puede ampliar fácilmente para dar cabida a datos con valores faltantes, mientras que el PCA clásico no está definido en datos incompletos.

El PPCA se puede implementar utilizando varios métodos diferentes. Tipping y Bishop proporcionaron una implementación del PPCA a través del algoritmo EM en su artículo original de 1999; sin embargo, no mostraron explícitamente cómo el algoritmo EM para el PPCA se extiende a datos incompletos. Un artículo anterior artículo En Towards Data Science se analizó un enfoque alternativo al PPCA, que utiliza la inferencia variacional en lugar del algoritmo EM para imputar los valores faltantes y derivar los componentes principales probabilísticos. Este enfoque parte del supuesto simplificador de que la desviación estándar del ruido se conoce de antemano, un supuesto que facilita la optimización de la distribución variacional pero que no es representativo de la mayoría de las aplicaciones. En esta publicación, me centraré en el algoritmo EM, ampliando los debates anteriores al ilustrar todos los pasos necesarios para ampliar el algoritmo EM de Tipping y Bishop para el PPCA a datos incompletos.

Descripción general de la PPCA y su relación con la PCA clásica:

El PCA clásico es un método determinista que no modela los datos en términos de componentes de señal y ruido diferenciados. Por el contrario, el PPCA se deriva de un modelo probabilístico de la forma

donde z_i es un vector de q variables latentes no observadas, W es una matriz de carga que asigna las q variables latentes a las p variables observadas, y epsilon_i es un término de ruido que hace que el procedimiento sea probabilístico en lugar de determinista. Normalmente se supone que z_i sigue una distribución normal estándar. El término de ruido, epsilon_i, debe seguir una distribución gaussiana isótropa con media cero y una matriz de covarianza de la forma sigma ^2 I para que se mantenga la relación entre PPCA y PCA clásica.

Bajo este modelo de variable latente, Tipping y Bishop (1999) han demostrado que las direcciones de varianza máxima en los datos pueden recuperarse mediante la estimación de máxima verosimilitud. Demuestran que los valores máximos de varianza para W y sigma están dados por

Aquí, U_q es la matriz cuyas columnas son los q vectores propios principales de la matriz de covarianza de la muestra, Lambda_q es una matriz diagonal de los valores propios correspondientes a los q vectores propios principales y R es una matriz de rotación ortogonal arbitraria. Nótese que los componentes principales clásicos están dados por la matriz U_q. Como resultado de los otros términos en la expresión para W_MLE, los componentes principales probabilísticos pueden tener diferentes escalas y diferentes orientaciones que los componentes clásicos, pero ambos conjuntos de componentes abarcarán el mismo subespacio y pueden usarse indistintamente para la mayoría de las aplicaciones que requieren reducción de dimensionalidad.

En la práctica, la matriz identidad puede sustituirse por la matriz ortogonal arbitraria R para calcular W_MLE. El uso de la matriz identidad no solo reduce la complejidad computacional, sino que también garantiza que habrá una correlación o anticorrelación perfecta entre los componentes principales probabilísticos y sus contrapartes clásicas. Estas expresiones de forma cerrada son muy convenientes para datos completos, pero no se pueden aplicar directamente a datos incompletos. Una opción alternativa para encontrar W_MLE, que se puede ampliar fácilmente para dar cabida a datos incompletos, es utilizar el algoritmo EM para llegar iterativamente a los estimadores de máxima verosimilitud, en cuyo caso R será arbitrario en la convergencia. Revisaré brevemente el algoritmo EM a continuación antes de ilustrar cómo se puede utilizar para aplicar PPCA a datos incompletos.

Algoritmo EM para PPCA con datos faltantes:

El algoritmo EM es un método de optimización iterativo que alterna entre la estimación de las variables latentes y la actualización de los parámetros. Los valores iniciales deben especificarse para todos los parámetros al comienzo del algoritmo EM. En el paso E, el valor esperado de la verosimilitud logarítmica se calcula con respecto a las estimaciones de los parámetros actuales. A continuación, las estimaciones de los parámetros se vuelven a calcular para maximizar la función de verosimilitud logarítmica esperada en el paso M. Este proceso se repite hasta que el cambio en las estimaciones de los parámetros sea pequeño y, por tanto, el algoritmo haya convergido.

Antes de ilustrar cómo el algoritmo EM para PPCA se extiende a datos incompletos, primero presentaré algo de notación. Supongamos que observamos D combinaciones diferentes de predictores observados y no observados en los datos. El conjunto de D combinaciones incluirá el patrón donde se observan todos los predictores, suponiendo que los datos contienen al menos algunas observaciones completas. Para cada combinación distinta d=1,…,D, sea x_1,…,x_n_d el conjunto de observaciones que comparten el désimo patrón de predictores faltantes. Cada punto de datos en este conjunto se puede descomponer como

donde los subíndices obs_d y mis_d indican qué predictores se observan y no se observan en la d-ésima combinación.

Una extensión del algoritmo EM para PPCA para manejar valores faltantes. Imagen del autor.

El algoritmo de la imagen de arriba muestra todos los pasos necesarios para aplicar el PPCA a datos incompletos, utilizando mi notación para valores observados y no observados. Para inicializar los parámetros del algoritmo EM, imputo los valores faltantes con las medias de los predictores y luego utilizo los estimadores de forma cerrada proporcionados por Tipping y Bishop (1999). Las estimaciones imputadas a la media pueden estar sesgadas, pero proporcionan un punto de partida más óptimo que una inicialización aleatoria, lo que reduce la probabilidad de que el algoritmo converja a un mínimo local. Nótese que los datos imputados no se utilizan más allá de la inicialización.

En el paso E, primero calculo la expectativa de cada z_i con respecto a los valores observados y las estimaciones de los parámetros actuales. Luego trato los valores faltantes como variables latentes adicionales y calculo su expectativa con respecto a los parámetros actuales y z_i. En el paso M, actualizo las estimaciones para W, mu y sigma en función de la probabilidad logarítmica esperada que se calculó en el paso E. Esto difiere del algoritmo EM de Tipping y Bishop para datos completos, donde mu se estima en función de la media de la muestra y solo W y sigma se actualizan iterativamente en el algoritmo EM. No es necesario estimar iterativamente mu cuando X está completo o cuando los valores no observados faltan completamente al azar, ya que la media de la muestra es el MLE. Sin embargo, para otros patrones de valores faltantes, la media de los valores observados generalmente no es el MLE, y el algoritmo EM producirá estimaciones más precisas de mu al tener en cuenta los valores probables de los puntos de datos faltantes. Por lo tanto, he incluido la actualización para mu en el paso M junto con las otras actualizaciones de parámetros.

Implementación de Python:

He proporcionado una implementación del algoritmo EM para PPCA aquísiguiendo los pasos del algoritmo anterior para acomodar los datos faltantes. Mi función requiere que el usuario especifique la matriz de datos y la cantidad de componentes en PPCA (es decir, q, la dimensión de la variable latente). Las técnicas comunes para seleccionar la cantidad de componentes en PCA clásico también se pueden aplicar a PPCA cuando no se conoce la dimensión de la variable latente. Por ejemplo, una opción para seleccionar q sería crear un gráfico de sedimentación y aplicar el llamado “método del codo”. Alternativamente, q podría elegirse mediante validación cruzada.

Ahora consideraré tres simulaciones diferentes para probar mi implementación del algoritmo EM para PPCA: una sin valores faltantes, una con valores faltantes que se seleccionan completamente al azar y una con valores faltantes que se seleccionan de manera no aleatoria. Para simular datos que faltan de manera completamente aleatoria, supongo que cada uno de los valores nxp tiene una probabilidad igual del 10 % de no ser observado. Mientras tanto, para simular datos que faltan de manera no aleatoria, supongo que los puntos de datos con una puntuación z más alta tienen una mayor probabilidad de no ser observados, con una proporción esperada del 10 % de faltantes en general.

Utilizo los mismos datos sintéticos para todas las simulaciones, simplemente alterando el patrón de datos faltantes para evaluar el rendimiento en datos incompletos. Para generar los datos, dejo n=500, p=30 y q=3. Muestro tanto W como mu de un modelo uniforme.[-1, 1] distribución. Luego, extraigo las variables latentes z_i, i=1,…,n de una distribución normal estándar y los términos de ruido épsilon_i, i=1,…,n, de una distribución gaussiana isótropa con sigma=0,7. Supongo que q está correctamente especificado en todas las simulaciones. Para obtener más detalles, consulte el código de simulación. aquí.

Para evaluar la precisión del algoritmo EM, informo el error relativo de las estimaciones de los parámetros. El error relativo para mu se informa con respecto a la norma l2, y el error relativo para W se informa con respecto a la norma de Frobenius. Dado que W solo se puede recuperar hasta una rotación ortogonal, he utilizado la función de procesamiento ortogonal de NumPy para rotar la matriz estimada W en la dirección de la W verdadera antes de calcular el error relativo.

Error relativo de los parámetros en tres simulaciones diferentes. Imagen del autor.

Mis resultados confirman que el algoritmo EM puede estimar con precisión los parámetros en las tres configuraciones. No es sorprendente que el algoritmo EM tenga un buen desempeño en la simulación completa de datos, ya que la inicialización ya debería ser óptima. Sin embargo, es más notable que la precisión sigue siendo alta cuando se introducen valores faltantes. Las estimaciones de parámetros incluso muestran un grado relativamente alto de robustez ante patrones no aleatorios de valores faltantes, al menos en la configuración asumida para esta simulación. Para conjuntos de datos reales, el desempeño del algoritmo EM dependerá de varios factores diferentes, incluida la precisión de la inicialización, el patrón de valores faltantes, la relación señal/ruido y el tamaño de la muestra.

Conclusión:

El análisis de componentes principales probabilístico (PPCA) puede recuperar gran parte de la misma estructura que el PCA clásico y, al mismo tiempo, ampliar su funcionalidad, por ejemplo, al permitir la inclusión de datos con valores faltantes. En este artículo, he presentado el PPCA, he explorado la relación entre el PPCA y el PCA clásico y he ilustrado cómo se puede ampliar el algoritmo EM para el PPCA para incluir valores faltantes. Mis simulaciones indican que el algoritmo EM para el PPCA produce estimaciones precisas de los parámetros cuando hay valores faltantes, e incluso demuestra cierta solidez cuando los valores faltantes no son aleatorios.

Referencias:

M. Tipping, C. Obispo, Análisis probabilístico de componentes principales (1999). Revista de la Royal Statistical Society Serie B: Metodología estadística.