7 votos

Problema de análisis factorial: ¿matriz de covarianza singular?

Tengo dificultades para realizar un análisis factorial en mi conjunto de datos.

Cuando realizo el análisis factorial en SPSS (configuración por defecto), funciona bien. El problema es que necesito hacerlo programáticamente (en Python). Cuando intento usar Python (biblioteca MDP) para realizar el análisis factorial en el mismo conjunto de datos, obtengo este error:

"La matriz de covarianza de los datos es singular. Se deben eliminar dimensiones redundantes".

Al investigar en la documentación de MDP, dice "...devuelve la estimación del Máximo A Posteriori de las variables latentes." Siendo nuevo en el análisis factorial, no estaba muy claro en lo que esto significaba, pero intenté cambiar el método de extracción por defecto en SPSS de "componentes principales" a "máxima verosimilitud". Luego, en SPSS, obtengo el error:

"Esta matriz no es definida positiva".

¿Son estos dos errores lo mismo? En cualquier caso, ¿qué puedo hacer para corregir mi conjunto de datos para que la matriz de covarianza no sea singular?

¡Gracias!

editar: OK, estaba tratando de mantener las cosas simplificadas, pero tal vez es mejor explicar todo desde el principio.

Tengo una serie de documentos. Sí, solo estoy usando 9 documentos como un caso de prueba simple, pero mi objetivo final será utilizarlo en un corpus mucho más grande.

He construido una matriz término-documento, realizado tf-idf e hice SVD, en su mayoría con la ayuda de blog.josephwilk.net/.../latent-semantic-analysis-in-python.html

Ahora tengo una matriz reconstruida, y quiero clasificar los documentos en categorías. Así que intenté usar el análisis factorial. De hecho, parece funcionar: cuando lo coloco en SPSS, las cargas factoriales indican que los documentos están agrupados de la manera en que creí que deberían estar, y las cargas son más altas que si no hubiera realizado SVD. (Aunque creo técnicamente, SPSS está haciendo PCA aunque esté bajo la sección de 'Análisis Factorial').

Intenté usar el nodo PCANode de MDP, pero eso no parece darme algo cercano a lo que quiero. Curiosamente, si transpongo mi matriz, el análisis factorial funciona (agrupará los términos, en lugar de los documentos).

Espero que todo esto tenga un poco más de sentido ahora...

6voto

Shawn Puntos 8120

Sí, los dos errores se reducen a lo mismo. Te están diciendo (aproximadamente) que dos o más de tus variables de manifiesto son linealmente dependientes (como $y_1 = ay_2 + b$ para escalares $a, b$). Estas dos variables (dimensiones) serían "redundantes", lo que significa que la matriz de covarianza de la muestra no es invertible (es decir, es singular) y por lo tanto tampoco es definitiva positiva.

En cuanto a lo que debes hacer al respecto, eso depende. Primero intentaría averiguar qué variables te están causando problemas; una matriz de gráficos de dispersión podría ser suficiente para decirte eso. Luego puedes decidir qué hacer a partir de ahí, lo más probable es que debas desechar algunas variables redundantes.

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