¿Se puede aplicar el análisis de componentes principales a conjuntos de datos que contienen una combinación de variables continuas y categóricas?


147

Tengo un conjunto de datos que tiene datos continuos y categóricos. Estoy analizando utilizando PCA y me pregunto si está bien incluir las variables categóricas como parte del análisis. Entiendo que PCA solo se puede aplicar a variables continuas. ¿Es eso correcto? Si no se puede utilizar para datos categóricos, ¿qué alternativas existen para su análisis?



Respuestas:


87

Aunque una PCA aplicada a datos binarios arrojaría resultados comparables a los obtenidos de un Análisis de Correspondencia Múltiple (los puntajes factoriales y los valores propios están relacionados linealmente), existen técnicas más apropiadas para tratar tipos de datos mixtos, a saber, el Análisis Factorial Múltiple para datos mixtos disponibles en el paquete FactoMineR R ( AFDM()). Si sus variables pueden considerarse como subconjuntos estructurados de atributos descriptivos, entonces el Análisis Factorial Múltiple ( MFA()) también es una opción.

El desafío con las variables categóricas es encontrar una forma adecuada de representar distancias entre categorías de variables e individuos en el espacio factorial. Para superar este problema, puede buscar una transformación no lineal de cada variable, ya sea nominal, ordinal, polinomial o numérica, con una escala óptima. Esto está bien explicado en Métodos Gifi para el Escalado Óptimo en R: Los homals del paquete , y una implementación está disponible en los homals del paquete R correspondiente .


2
chl, gracias por el puntero a FADM. Sin embargo, me preguntaba: una vez que aplique FADM a un conjunto de datos (obj <- FADM (x)), puedo acceder fácilmente al conjunto de datos transformado a través de: obj $ ind $ coord. Sin embargo, si quiero aplicar la misma transformación a otro conjunto de datos, ¿cómo puedo hacerlo? (Esto es necesario, por ejemplo, si tengo un conjunto de trenes, y encuentro los "componentes principales" de este conjunto de trenes, y luego quiero ver el conjunto de pruebas a través de esos "componentes principales"). La documentación no es muy clara al respecto, y el documento en el que se basa la función está en francés.
casandra

En cuanto a: Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysis¿no podemos convertir una variable categórica nominal (digamos con N cardinalidad) en una colección de binarios ficticios (N-1) y luego realizar PCA en estos datos? (Entiendo que hay técnicas más apropiadas)
Zhubarb

31

Una búsqueda en Google "pca para variables discretas" ofrece esta buena descripción de S. Kolenikov (@StasK) y G. Angeles. Para agregar a la respuesta CHL, el análisis de PC es realmente un análisis de vectores propios de la matriz de covarianza. Entonces, el problema es cómo calcular la matriz de covarianza "correcta". Uno de los enfoques es utilizar la correlación policórica .


(+1) Gracias por el enlace. También es posible considerar una matriz de correlación heterogénea (ver, por ejemplo, hetcor()del paquete polycor ). Siempre que la matriz VC sea SDP, debería hacer el trabajo, principalmente en el espíritu del Análisis Factorial. Las variables nominales pueden estar codificadas de forma ficticia.
chl

@StasK, felicitaciones :) Parece que no solo a mí me pareció útil esta charla, de lo contrario no estaría en la parte superior de la búsqueda de Google. Esta pregunta aparece de vez en cuando, así que tal vez quieras hacer una publicación en el blog para nuestro blog de la comunidad.
mpiktas

@StasK, he editado la publicación para mencionar a los autores de la descripción general. Mi intención inicial era demostrar que la búsqueda en Google puede ofrecer buenas respuestas, por lo que no hay necesidad explícita de preguntar aquí. Pero esto no es una excusa para no citar a los autores, dada la volatilidad de internet.
mpiktas

1
@mpiktas, gracias. Hubo un artículo real dirigido a economistas producido a partir de este trabajo: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , aunque los editores nos pidieron que reduzcamos tanto que sugiero leer el documento de trabajo para información, y cite la publicada.
StasK

9

Sugeriría echar un vistazo a Linting & Kooij, 2012 " Análisis de componentes principales no lineales con CATPCA: un tutorial ", Journal of Personality Assessment ; 94 (1).

Resumen

Este artículo está configurado como un tutorial para el análisis de componentes principales no lineales (NLPCA), guiando sistemáticamente al lector a través del proceso de análisis de datos reales sobre la evaluación de la personalidad por la prueba de Rorschach Inkblot. NLPCA es una alternativa más flexible a PCA lineal que puede manejar el análisis de variables posiblemente no relacionadas linealmente con diferentes tipos de nivel de medición. El método es particularmente adecuado para analizar datos nominales (cualitativos) y ordinales (por ejemplo, tipo Likert), posiblemente combinados con datos numéricos. El programa CATPCA del módulo Categorías en SPSS se utiliza en los análisis, pero la descripción del método se puede generalizar fácilmente a otros paquetes de software.


4

Todavía no tengo el privilegio de comentar la publicación de alguien, así que agrego mi comentario como una respuesta separada, así que tengan paciencia conmigo.

Continuando con lo que comentó @ Martin F, recientemente me encontré con los PCA no lineales. Estaba buscando PCA no lineales como una posible alternativa cuando una variable continua se acerca a la distribución de una variable ordinal a medida que los datos se vuelven más dispersos (sucede en genética muchas veces cuando la frecuencia alélica menor de la variable disminuye y disminuye y usted queda con un número muy bajo de recuentos en los que realmente no puede justificar una distribución de una variable continua y tiene que aflojar los supuestos de distribución convirtiéndolos en una variable ordinal o una variable categórica.) PCA no lineal puede manejar ambas condiciones, pero después discutiendo con maestros de estadística en la facultad de genética, la llamada de consenso fue que los PCA no lineales no se usan con mucha frecuencia y el comportamiento de esos PCA aún no se ha probado exhaustivamente (es posible que se refieran solo al campo de la genética, así que tómelo con un grano de sal). De hecho, es una opción fascinante. Espero haber agregado 2 centavos (afortunadamente relevantes) a la discusión.


Acogiendo con beneplácito su respuesta, Mandar. ¿Se refiere a PCA no lineal por el método CATPCA u otro PCA no lineal (entonces, ¿qué método?). Tenga en cuenta también que para las variables binarias , CATPCA es, por ejemplo, inútil o trivial porque una escala dicotómica no se puede cuantificar de otra manera que ... ¡dicotómica!
ttnphns

gracias @ttnphns. Estoy de acuerdo con su punto sobre las variables binarias en cuanto a la variable binaria, cualquier suposición no importa. De lo contrario, en realidad me refería a un capítulo del libro de "Introducción a PCA no lineal" [enlace] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/… ). Se refiere principalmente a los paquetes CATPCA y PRINQUAL de SAS.
Mandar

2

Existe un enfoque recientemente desarrollado para tales problemas: modelos generalizados de bajo rango .

Uno de los documentos que utilizan esta técnica incluso se llama PCA en un marco de datos .


PCA se puede plantear así:

nmM

nkX^kmY^k

X^,Y^argminX,YMXYF2

El 'generalizado' de GLRM significa cambiar a otra cosa y agregando un término de regularización.F2


Esto suena más como una reinvención que una idea nueva. Buscar gifi!
kjetil b halvorsen

No estás exactamente en lo cierto, parece que GLRM es una generalización (en realidad, el papel que vinculé cita el papel del paquete gifi).
Jakub Bartczuk

1

PCAmixdata# Paquete de estadísticas :

Implementa análisis de componentes principales, rotación ortogonal y análisis de factores múltiples para una mezcla de variables cuantitativas y cualitativas.

El ejemplo de la viñeta muestra resultados para resultados continuos y categóricos

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.