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?
categorical-data
pca
correspondence-analysis
mixed-type-data
Nikolina Icitovic
fuente
fuente
Respuestas:
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 .
fuente
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)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 .
fuente
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.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).
fuente
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.
fuente
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í:
El 'generalizado' de GLRM significa cambiar a otra cosa y agregando un término de regularización.∥⋅∥2F
fuente
PCAmixdata
# Paquete de estadísticas :El ejemplo de la viñeta muestra resultados para resultados continuos y categóricos
fuente