¿Cuáles son las diferencias entre el análisis factorial y el análisis de componentes principales?

215

Parece que varios de los paquetes estadísticos que uso envuelven estos dos conceptos juntos. Sin embargo, me pregunto si hay diferentes supuestos o "formalidades" de datos que deben ser ciertos para usar uno sobre el otro. Un ejemplo real sería increíblemente útil.

Brandon Bertelsen
fuente
2
Los capítulos de análisis de componentes principales y análisis de factores en el siguiente libro, que está disponible en la mayoría de las bibliotecas universitarias, abordan su pregunta exactamente: apa.org/pubs/books/4316510.aspx
user31256
3
Además de las respuestas a continuación, también puede leer esto y esto mío.
ttnphns
2
Y otra buena pregunta como "debería usar PCA o FA": stats.stackexchange.com/q/123063/3277 .
ttnphns
3
@ttnphns: Le animo a que emita una respuesta en este hilo, que tal vez consista en una lista anotada de sus respuestas en otros hilos relacionados. Esto podría reemplazar sus comentarios anteriores (actualmente cuatro comentarios con enlaces), y sería más práctico, especialmente si anotara brevemente cada enlace. Por ejemplo, busque aquí la explicación de este problema, busque allí una explicación del problema, etc. Es solo una sugerencia, ¡pero creo que este hilo se beneficiaría enormemente de ello! Una ventaja particular es que siempre puede agregar más enlaces a esa respuesta.
ameba
2
Se hizo una pregunta similar en MathOverflow, y recibí lo que consideraría una excelente respuesta: mathoverflow.net/questions/40191/…
Daniel Moskovich

Respuestas:

156

El análisis de componentes principales implica la extracción de compuestos lineales de variables observadas.

El análisis factorial se basa en un modelo formal que predice variables observadas a partir de factores teóricos latentes.

En psicología, estas dos técnicas a menudo se aplican en la construcción de pruebas de múltiples escalas para determinar qué elementos se cargan en qué escalas. Por lo general, arrojan conclusiones sustantivas similares (para una discusión, ver Comrey (1988) Factor-Analytic Methods of Scale Development in Personality and Clinical Psychology). Esto ayuda a explicar por qué algunos paquetes de estadísticas parecen agruparlos. También he visto situaciones en las que el "análisis de componentes principales" está incorrectamente etiquetado como "análisis factorial".

En términos de una regla general simple , te sugiero que:

  1. Ejecute el análisis de factores si asume o desea probar un modelo teórico de factores latentes que causan variables observadas.

  2. Ejecute el análisis de componentes principales Si desea simplemente reducir sus variables observadas correlacionadas a un conjunto más pequeño de variables compuestas independientes importantes.

Jeromy Anglim
fuente
55
La regla general es muy útil. Gracias por eso.
Brandon Bertelsen
1
Con respecto a la regla general (1): ¿No probaría un modelo teórico de factores latentes con un análisis factorial confirmatorio en lugar de un fa exploratorio?
Romano
1
@roman Sí. Un CFA le da mucho más control sobre el modelo que EFA. Por ejemplo, puede restringir las cargas a cero; equiparar cargas; tienen residuos correlacionados; agregar factores de orden superior; etc.
Jeromy Anglim
3
@ Jeromy Anglim ¿Es realmente correcto decir que PCA crea un "conjunto más pequeño de variables compuestas independientes importantes"? ¿O debería decir realmente "un conjunto más pequeño de variables compuestas no correlacionadas importantes" Si los datos subyacentes que se utilizan en PCA no están (multivariados) normalmente distribuidos, los datos dimensionales reducidos solo no estarán correlacionados?
FXQuantTrader
1
El segundo pulgar de la regla es fácil de obtener, pero ¿cómo aplico el primero? Suena extraño, pero ¿cuándo sé que quiero ejecutar un modelo de factores contra las variables observadas?
Ben
48

De mi respuesta aquí:

¿La PCA seguida de una rotación (como varimax) sigue siendo PCA?

El análisis de componentes principales (PCA) y el análisis de factores comunes (CFA) son métodos distintos. A menudo, producen resultados similares y PCA se utiliza como método de extracción predeterminado en las rutinas de análisis factorial de SPSS. Esto indudablemente genera mucha confusión sobre la distinción entre los dos.

La conclusión es que estos son dos modelos diferentes, conceptualmente. En PCA, los componentes son combinaciones lineales ortogonales reales que maximizan la varianza total. En FA, los factores son combinaciones lineales que maximizan la porción compartida de la varianza - "construcciones latentes" subyacentes. Es por eso que FA a menudo se llama "análisis de factores comunes". FA utiliza una variedad de rutinas de optimización y el resultado, a diferencia de PCA, depende de la rutina de optimización utilizada y los puntos de partida para esas rutinas. Simplemente no hay una única solución única.

En R, la función factanal () proporciona CFA con una extracción de máxima probabilidad. Por lo tanto, no debe esperar que reproduzca un resultado SPSS que se basa en una extracción de PCA. Simplemente no es el mismo modelo o lógica. No estoy seguro de si obtendría el mismo resultado si usara la extracción de máxima verosimilitud de SPSS, ya que es posible que no usen el mismo algoritmo.

Sin embargo, para bien o para mal en R, puede reproducir el "análisis factorial" mezclado que SPSS proporciona como predeterminado. Aquí está el proceso en R. Con este código, puedo reproducir el resultado del "Análisis factorial" del componente principal de SPSS utilizando este conjunto de datos. (Con la excepción del signo, que es indeterminado). Ese resultado también podría rotarse utilizando cualquiera de los métodos de rotación disponibles de R.

data(attitude)
# Compute eigenvalues and eigenvectors of the correlation matrix.
pfa.eigen <- eigen(cor(attitude))
# Print and note that eigenvalues are those produced by SPSS.
# Also note that SPSS will extract 2 components as eigenvalues > 1 = 2.
pfa.eigen$values
# Set a value for the number of factors (for clarity)
kFactors <- 2
# Extract and transform two components.
pfa.eigen$vectors[, seq_len(kFactors)]  %*% 
  diag(sqrt(pfa.eigen$values[seq_len(kFactors)]), kFactors, kFactors)
Brett
fuente
55
Tenga en cuenta que obtendrá los mismos resultados con principal(attitude, 2, rotate="none")el psychpaquete y que la regla de Kayser (ev> 1) no es la forma más recomendada para comprobar la dimensionalidad (sobrestima la cantidad de factores).
chl
55
Sí, sé que el director de psicología termina esto. Mi propósito era mostrar lo que estaba haciendo el "análisis factorial" de SPSS al usar el método de extracción de componentes principales. Estoy de acuerdo en que la regla del valor propio es una forma pobre de seleccionar el número de factores. Pero, eso es exactamente lo que hace SPSS por defecto y esto fue lo que estaba demostrando.
Brett
1
factanal()proporciona EFA no CFA. Además, según mi experiencia, la extracción de máxima verosimilitud de SPSS debería dar el mismo resultado factanal()dado que no hay rotación oblicua.
pe-pe-rry
2
¿Qué significa lo siguiente? 'En FA, los factores son combinaciones lineales que maximizan la porción compartida de la varianza - "construcciones latentes" subyacentes. '?
conjeturas
Tenga en cuenta también que CFA puede significar FA confirmatoria (en oposición a FA explicativa ) en lugar de FA común .
Richard Hardy
33

Tienes razón sobre tu primer punto, aunque en FA generalmente trabajas con ambos (singularidad y comunidad). La elección entre PCA y FA es un debate de larga data entre los psicometristas. Sin embargo, no sigo tus puntos. La rotación de los ejes principales se puede aplicar sea cual sea el método utilizado para construir factores latentes. De hecho, la mayoría de las veces esta es la rotación VARIMAX (rotación ortogonal, considerando factores no correlacionados) que se usa, por razones prácticas (interpretación más fácil, reglas de puntuación más fáciles o interpretación de puntajes de factores, etc.), aunque rotación oblicua (por ejemplo, PROMAX ) probablemente refleje mejor la realidad (las construcciones latentes a menudo se correlacionan entre sí), al menos en la tradición de FA donde asumes que una construcción latente está realmente en el centro de las correlaciones observadas entre tus variables. El punto es que PCA seguido de la rotación VARIMAX distorsiona de alguna manera la interpretación de las combinaciones lineales de las variables originales en la tradición del "análisis de datos" (ver el trabajo de Michel Tenenhaus). Desde una perspectiva psicométrica, los modelos FA son preferibles ya que explícitamente explican los errores de medición, mientras que PCA no se preocupa por eso. En pocas palabras, utilizando PCA está expresando cada componente (factor) como una combinación lineal de las variables, mientras que en FA estas son las variables que se expresan como combinaciones lineales de los factores (incluidos los componentes de comunidad y unicidad, como usted dijo). El punto es que PCA seguido de la rotación VARIMAX distorsiona de alguna manera la interpretación de las combinaciones lineales de las variables originales en la tradición del "análisis de datos" (ver el trabajo de Michel Tenenhaus). Desde una perspectiva psicométrica, los modelos FA son preferibles ya que explícitamente explican los errores de medición, mientras que PCA no se preocupa por eso. En pocas palabras, utilizando PCA está expresando cada componente (factor) como una combinación lineal de las variables, mientras que en FA estas son las variables que se expresan como combinaciones lineales de los factores (incluidos los componentes de comunidad y unicidad, como usted dijo). El punto es que PCA seguido de la rotación VARIMAX distorsiona de alguna manera la interpretación de las combinaciones lineales de las variables originales en la tradición del "análisis de datos" (ver el trabajo de Michel Tenenhaus). Desde una perspectiva psicométrica, los modelos FA son preferibles ya que explícitamente explican los errores de medición, mientras que PCA no se preocupa por eso. En pocas palabras, utilizando PCA está expresando cada componente (factor) como una combinación lineal de las variables, mientras que en FA estas son las variables que se expresan como combinaciones lineales de los factores (incluidos los componentes de comunidad y unicidad, como usted dijo). Los modelos FA son preferibles ya que explícitamente explican los errores de medición, mientras que a PCA no le importa eso. En pocas palabras, utilizando PCA está expresando cada componente (factor) como una combinación lineal de las variables, mientras que en FA estas son las variables que se expresan como combinaciones lineales de los factores (incluidos los componentes de comunidad y unicidad, como usted dijo). Se preferirán los modelos FA ya que explícitamente explican los errores de medición, mientras que PCA no se preocupa por eso. En pocas palabras, utilizando PCA está expresando cada componente (factor) como una combinación lineal de las variables, mientras que en FA estas son las variables que se expresan como combinaciones lineales de los factores (incluidos los componentes de comunidad y unicidad, como usted dijo).

Le recomiendo que lea primero las siguientes discusiones sobre este tema:

chl
fuente
77
Solo para decir que mi respuesta puede parecer un poco fuera de tema ya que esta pregunta se ha fusionado con otra, stats.stackexchange.com/questions/3369/… (inicialmente respondo a la última).
chl
66
Ah, me preguntaba por qué te vinculaste con este queston, en esta pregunta ... :)
Brandon Bertelsen
1
PCA followed by VARIMAX rotation somewhat distorts the interpretation of the linear combinations of the original variables in the "data analysis" tradition. Chl, ¿podrías explicarlo? Eso es interesante.
ttnphns
32

Existen numerosas definiciones sugeridas en la web. Aquí hay uno de un glosario en línea sobre aprendizaje estadístico :

Análisis de componentes principales

Construir nuevas características que son los componentes principales de un conjunto de datos. Los componentes principales son variables aleatorias de varianza máxima construidas a partir de combinaciones lineales de las características de entrada. De manera equivalente, son las proyecciones sobre los ejes componentes principales, que son líneas que minimizan la distancia cuadrada promedio a cada punto en el conjunto de datos. Para garantizar la unicidad, todos los ejes componentes principales deben ser ortogonales. PCA es una técnica de máxima verosimilitud para la regresión lineal en presencia de ruido gaussiano en las entradas y salidas. En algunos casos, PCA corresponde a una transformación de Fourier, como el DCT utilizado en la compresión de imágenes JPEG. Ver "Eigenfaces para el reconocimiento" (Turk & Pentland, J Cognitive Neuroscience 3 (1), 1991), Bishop, "

Análisis factorial

Una generalización de PCA que se basa explícitamente en la máxima probabilidad. Al igual que PCA, se supone que cada punto de datos surge del muestreo de un punto en un subespacio y luego lo perturba con ruido gaussiano de dimensiones completas. La diferencia es que el análisis factorial permite que el ruido tenga una matriz de covarianza diagonal arbitraria, mientras que PCA supone que el ruido es esférico. Además de estimar el subespacio, el análisis factorial estima la matriz de covarianza de ruido. Consulte "El algoritmo EM para mezclas de analizadores de factores". Elección de dimensionalidad para PCA ".

Dirk Eddelbuettel
fuente
2
La descripción del análisis factorial obtiene el punto principal (covarianza diagonal), pero históricamente no se desarrolló como una generalización de PCA.
conjeturas
1
Entonces, ¿básicamente, en PCA one svd's la matriz de covarianza y en FA la matriz de correlación? Siempre es difícil para mí encontrar las matemáticas reales después de que los métodos han acumulado mucha terminología en el campo donde se aplican. (fuera de tema: una vez me llevó toda una tarde entender cuál es el modelado de ruta hasta que encontré un (1) artículo de los años 70 que indicaba la ecuación matricial detrás de él.)
Mark van der Loo
28

La respuesta principal en este hilo sugiere que PCA es más una técnica de reducción de dimensionalidad, mientras que FA es más una técnica de variable latente. Esto es sensu stricto correcto. Pero muchas respuestas aquí y muchos tratamientos en otros lugares presentan PCA y FA como dos métodos completamente diferentes, con objetivos, métodos y resultados diferentes, si no opuestos. Estoy en desacuerdo; Creo que cuando se considera que la PCA es una técnica de variable latente, está bastante cerca de la FA, y es mejor que se vean como métodos muy similares.

Proporcioné mi propia cuenta de las similitudes y diferencias entre PCA y FA en el siguiente hilo: ¿Hay alguna buena razón para usar PCA en lugar de EFA? Además, ¿puede la PCA ser un sustituto del análisis factorial? Allí sostengo que, por razones matemáticas simples, se puede esperar que el resultado de PCA y FA sea bastante similar, dado que el número de variables no es muy pequeño (quizás más de una docena). Vea mi respuesta [¡larga!] En el hilo vinculado para obtener detalles matemáticos y simulaciones de Monte Carlo. Para una versión mucho más concisa de mi argumento, vea aquí: ¿ Bajo qué condiciones PCA y FA producen resultados similares?

n=178p=13

Matriz de correlación del conjunto de datos del vino.

n=178

Análisis PCA y FA del conjunto de datos del vino.

p=131331

¡Tenga en cuenta que casi no hay diferencia entre PCA y FA! Hay pequeñas desviaciones aquí y allá, pero la imagen general es casi idéntica, y todas las cargas son muy similares y apuntan en las mismas direcciones. Esto es exactamente lo que se esperaba de la teoría y no es sorprendente; aún así, es instructivo observar.

PD. Para un biplot PCA mucho más bonito del mismo conjunto de datos, vea esta respuesta de @vqv .

PPS Mientras que los cálculos de PCA son estándar, los cálculos de FA pueden requerir un comentario. Las cargas de factores se calcularon mediante un algoritmo de "factores principales iterados" hasta la convergencia (9 iteraciones), con comunalidades inicializadas con correlaciones parciales. Una vez que las cargas convergieron, las puntuaciones se calcularon utilizando el método de Bartlett. Esto produce puntajes estandarizados; Los amplié por las respectivas variaciones de factores (dadas por las longitudes de carga).

ameba
fuente
1
¿Qué software usaste para crear los gráficos de PCA y análisis factorial?
rnso
1
Yo usé Matlab. Estaba pensando en pegar el código en mi respuesta (como normalmente es mi costumbre), pero no quería saturar aún más este hilo ocupado. Pero ahora que lo pienso, debería publicarlo en un sitio web externo y dejar un enlace aquí. Lo haré.
ameba
2
Es cierto que PCA y FA a veces y en absoluto rara vez dan resultados similares (cargas), por lo que PCA puede verse como un caso específico de FA, cuando el análisis factorial se define de manera amplia. Aún FA (sensu stricto) y PCA son teóricamente bastante diferentes.
ttnphns
2
(cont.) Los factores son rasgos latentes trascendentes; pr. Los componentes son derivaciones inmanentes. A pesar de que sus dos parcelas de carga parecen prácticamente similares, en teoría son fundamentalmente diferentes. El plano de componentes a la izquierda se produjo como un subespacio de las variables que se proyectan en él. El plano de factores se produjo como un espacio diferente del espacio de las variables, por lo que se proyectan en un espacio "extraño" en la gráfica correcta.
ttnphns
3
(cont.) Pero la imagen correcta (FA) en realidad no es un biplot verdadero , es más bien una superposición de dos diagramas de dispersión distintos, espacios diferentes: el diagrama de carga (donde los ejes son factores verdaderos) y el diagrama de puntajes de objeto (donde los ejes son los factores estimados como puntajes). El espacio de factor verdadero sobrepasa el espacio variable "parental" pero el espacio de puntaje de factor es su subespacio. Superpusiste dos pares de ejes heterogéneos, pero llevan las mismas etiquetas ("factor1" y "factor2" en ambos pares), circunstancia que es muy engañosa y nos convence de pensar que es un biplot de buena fe , como el izquierdo.
ttnphns
25

Una explicación básica, pero un poco minuciosa, del análisis PCA vs Factor con la ayuda de diagramas de dispersión, en pasos lógicos. (Agradezco a @amoeba que, en su comentario a la pregunta, me ha animado a publicar una respuesta en lugar de hacer enlaces a otros lugares. Así que aquí hay una respuesta tardía y de ocio).

PCA como resumen de variables (extracción de características)

Espero que ya comprenda PCA. Para revivir ahora.

ingrese la descripción de la imagen aquí

V1V2a

P1=a11V1+a12V2

P2=a21V1+a22V2

Esos coeficientes son cosenos de rotación (= cosenos de dirección, direcciones principales) y comprenden lo que se denominan vectores propios, mientras que los valores propios de la matriz de covarianza son las varianzas de componentes principales. En PCA, generalmente descartamos los últimos componentes débiles: resumimos los datos por unos pocos componentes extraídos primero, con poca pérdida de información.

Covariances
        V1       V2 
V1  1.07652   .73915 
V2   .73915   .95534 

----PCA---- 
Eigenvalues      % 
P1  1.75756   86.500 
P2   .27430   13.500 

Eigenvectors
        P1       P2
V1   .73543  -.67761 
V2   .67761   .73543

Con nuestros datos trazados, los valores del componente P1 (puntajes) P1 = .73543*V1 + .67761*V2y el componente P2 descartamos. La varianza de P1 es 1.75756el primer valor propio de la matriz de covarianza, por lo que P1 explica 86.5%la varianza total que es igual (1.07652+.95534) = (1.75756+.27430).

PCA como predicción variable (característica "latente")

P1 V1V2

V1=a11P1+E1

V2=a12P1+E2

aE

ingrese la descripción de la imagen aquí

V1^=a11P1V2^=a12P1E1=V1V1^E2=V2V2^

Ahora, lo que es característico de PCA es que si calculamos E1 y E2 para cada punto en los datos y trazamos estas coordenadas, es decir, hacemos el diagrama de dispersión de los errores solos, los "datos de error" de la nube coincidirán con el componente descartado P2. Y lo hace: la nube se traza en la misma imagen que la nube beige, y se ve que en realidad forma el eje P2 (de la figura 1 ) en mosaico con las puntuaciones de los componentes P2.

No es de extrañar, se puede decir. Es muy obvio: en PCA , los componentes junior descartados son los que se descomponen con precisión en los errores de predicción E, en el modelo que explica (restaura) las variables originales V por las características latentes P1. Los errores E juntos constituyen los componentes excluidos. Aquí es donde el análisis factorial comienza a diferir de PCA.

La idea de FA común (característica latente)

Formalmente, el modelo que predice variables manifiestas por las características latentes extraídas es el mismo en FA que en PCA; [ Eq.3 ]:

V1=a1F+E1

V2=a2F+E2

donde F es el factor común latente extraído de los datos y reemplazando lo que era P1 en la ecuación 2 . La diferencia en el modelo es que en FA, a diferencia de PCA, se requiere que las variables de error (E1 y E2) no estén correlacionadas entre sí .

aaaaaaa

OK, volviendo al hilo. E1 y E2 no están correlacionados en el análisis factorial; por lo tanto, deberían formar una nube de errores, ya sea redonda o elíptica, pero no orientada en diagonal. Mientras estaban en PCA, su nube formó una línea recta que coincidía con P2 en diagonal. Ambas ideas se demuestran en la foto:

ingrese la descripción de la imagen aquí

Tenga en cuenta que los errores son redondos (no alargados en diagonal) en la nube en FA. El factor (latente) en FA está orientado de manera algo diferente, es decir, no es correcto el primer componente principal que es el "latente" en PCA. En la imagen, la línea de factor es extrañamente cónica: al final quedará claro por qué.

¿Cuál es el significado de esta diferencia entre PCA y FA? Variables correlacionadas, lo que se ve en la forma diagonalmente elíptica de la nube de datos. P1 rozó la varianza máxima, por lo que la elipse se codirige a P1. En consecuencia, P1 explica por sí mismo la correlación; pero no explicaba la cantidad existente de correlación adecuadamente; buscó explicar la variación en los puntos de datos, no la correlación. En realidad, exageró la correlación, cuyo resultado fue la aparición de la nube de errores diagonal correlacionada que compensa la sobrecuenta. P1 por sí solo no puede explicar la fuerza de la correlación / covariación de manera integral. Factor F puedehazlo solo; y la condición cuando puede hacerlo es exactamente donde los errores pueden ser forzados a no estar correlacionados. Dado que la nube de error es redonda, no ha quedado ninguna correlación, positiva o negativa, después de que se extrajo el factor, por lo tanto, es el factor que lo desvió todo.

Como una reducción de dimensionalidad, PCA explica la varianza pero explica las correlaciones de manera imprecisa. FA explica las correlaciones pero no puede explicar (por los factores comunes) tanta variación de datos como PCA. Los factores en FA representan esa porción de variabilidad que es la porción correlacional neta, llamada comunalidad ; y, por lo tanto, los factores pueden interpretarse como fuerzas / características / rasgos reales pero no observables que se esconden "dentro" o "detrás" de las variables de entrada para que se correlacionen. Porque explican bien la correlación matemáticamente. Los componentes principales (algunos primeros) no lo explican matemáticamente tan bien y, por lo tanto, pueden llamarse "rasgo latente" (o tal) solo en algún momento y tentativamente .

La multiplicación de las cargas es lo que explica (restaura) la correlación, o la correlación en forma de covarianza, si el análisis se basó en la matriz de covarianza (como en nuestro ejemplo) en lugar de la matriz de correlación. El análisis factorial que hice con los datos arrojó a_1=.87352, a_2=.84528, por lo que el producto a_1*a_2 = .73837es casi igual a la covarianza .73915. Por otro lado, las cargas de PCA fueron a1_1=.97497, a1_2=.89832, por lo que se a1_1*a1_2 = .87584sobreestima .73915considerablemente.

Habiendo explicado la principal distinción teórica entre PCA y FA, ​​volvamos a nuestros datos para ejemplificar la idea.

FA: solución aproximada (puntajes de factores)

A continuación se muestra el diagrama de dispersión que muestra los resultados del análisis que llamaremos provisionalmente "análisis factor subóptimo", Fig.3 .

A technical detail (you may skip): PAF method used for factor extraction.
Factor scores computed by Regression method.
Variance of the factor scores on the plot was scaled to the true
factor variance (sum of squared loadings).

ingrese la descripción de la imagen aquí

Ver salidas de la Fig.2 de PCA. La nube beige de los errores no es redonda, es diagonalmente elíptica, pero evidentemente es mucho más gruesa que la delgada línea diagonal que se ha producido en la PCA. Tenga en cuenta también que los conectores de error (mostrados para algunos puntos) ya no son paralelos (en PCA, por definición eran paralelos a P2). Además, si observa, por ejemplo, los puntos "F" y "E" que se encuentran simétricamente sobre el eje F del factor , encontrará, inesperadamente, que sus puntajes de factor correspondientes son valores bastante diferentes. En otras palabras, los puntajes de los factores no son solo puntajes de componentes principales transformados linealmente: el factor F se encuentra a su manera diferente de P1. Y sus ejes no coinciden completamente si se muestran juntos en la misma gráfica Fig.4 :

ingrese la descripción de la imagen aquí

Además de que tienen una orientación un poco diferente, F (en mosaico con puntajes) es más corto, es decir, representa una variación menor que las cuentas P1. Como se señaló anteriormente, el factor solo tiene en cuenta la variabilidad que es responsable de la correlación de V1 V2, es decir, la porción de la varianza total que es suficiente para llevar las variables de la covarianza primitiva 0a la covarianza objetiva .73915.

FA: solución óptima (factor verdadero)

Una solución de factor óptima es cuando los errores son redondos o elípticos no diagonales: E1 y E2 no están correlacionados . El análisis factorial en realidad devuelve una solución tan óptima. No lo mostré en un diagrama de dispersión simple como los de arriba. ¿Por qué lo hice? Porque habría sido lo más interesante, después de todo.

La razón es que sería imposible mostrar en un diagrama de dispersión lo suficientemente adecuado, incluso adoptando un diagrama 3D. Es un punto bastante interesante en teoría. Para que E1 y E2 no estén correlacionados por completo, parece que estas tres variables, F, E1, E2 no tienen que estar en el espacio (plano) definido por V1, V2; y los tres no deben estar correlacionados entre sí . Creo que es posible dibujar un diagrama de dispersión en 5D (y tal vez con algún truco, en 4D), pero vivimos en el mundo 3D, por desgracia. El factor F no debe estar correlacionado con E1 y E2 (mientras que los dos tampoco están correlacionados) porque se supone que F es la única fuente de correlación (limpia) y completa en los datos observados. El análisis factorial divide la varianza total depvariables de entrada en dos partes no correlacionadas (no superpuestas): la parte de comunalidad ( m-dimensional, donde mlos factores comunes gobiernan) y la parte de unicidad ( p-dimensional, donde los errores son, también llamados factores únicos, mutuamente no correlacionados).

Así que perdón por no mostrar el verdadero factor de nuestros datos en un diagrama de dispersión aquí. Podría visualizarse de manera bastante adecuada a través de vectores en el "espacio de sujeto" como se hace aquí sin mostrar puntos de datos.

Arriba, en la sección "La idea de FA común (característica latente)", visualicé el factor (eje F) como una cuña para advertir que el eje del factor verdadero no se encuentra en el plano V1 V2. Eso significa que, en contraste con el componente principal P1, el factor F como eje no es una rotación del eje V1 o V2 ​​en su espacio, y F como variable no es una combinación lineal de las variables V1 y V2. Por lo tanto, F se modela (extrae de las variables V1 v2) como si fuera una variable externa e independiente, no una derivación de ellas. Las ecuaciones como la ecuación 1 desde donde comienza la PCA no son aplicables para calcular el factor verdadero (óptimo) en el análisis factorial, mientras que las ecuaciones formalmente isomórficas Eq.2 y Eq.3son válidos para ambos análisis. Es decir, en PCA las variables generan componentes y los componentes vuelven a predecir variables; en factor (es) FA (s) generan / predicen variables, y no regresan - el modelo de factor común conceptualmente asume que , aunque técnicamente los factores se extraen de las variables observadas.

No solo el factor verdadero no es una función de las variables manifiestas, los valores del factor verdadero no están definidos de manera exclusiva . En otras palabras, son simplemente desconocidos. Todo esto se debe al hecho de que estamos en el espacio analítico 5D excesivo y no en el espacio 2D de datos de nuestro hogar. Solo tenemos buenas aproximaciones ( existen varios métodos ) a valores de factores verdaderos, llamados puntajes de factores , para nosotros. Los puntajes de los factores se encuentran en el plano V1 V2, al igual que los puntajes de los componentes principales, también se calculan como las funciones lineales de V1, V2, y si fueranque tracé en la sección "FA: solución aproximada (puntajes de factores)". Los puntajes de los componentes principales son valores de componentes verdaderos; los puntajes de los factores son solo una aproximación razonable a los valores de los factores verdaderos indeterminados.

FA: resumen del procedimiento

a

Por lo tanto, la "solución factorial" mostrada por mí en la sección "FA: solución aproximada (puntajes factoriales)" se basó en realidad en cargas óptimas, es decir, en factores verdaderos. Pero los puntajes no fueron óptimos, por destino. Los puntajes se calculan como una función lineal de las variables observadas, como lo son los puntajes de los componentes, por lo que ambos podrían compararse en un diagrama de dispersión y lo hice en una búsqueda didáctica para mostrar como un paso gradual de la idea PCA hacia la idea FA.

Hay que tener cuidado al graficar en las mismas cargas de factores biplot con puntajes de factores en el "espacio de factores", tener en cuenta que las cargas pertenecen a factores verdaderos mientras que las puntuaciones pertenecen a factores sustitutos (vea mis comentarios a esta respuesta en este hilo).

La rotación de factores (cargas) ayuda a interpretar las características latentes. La rotación de las cargas se puede hacer también en PCA si usa PCA como si fuera un análisis factorial (es decir, vea PCA como predicción variable). PCA tiende a converger en los resultados con FA a medida que crece el número de variables (vea el hilo extremadamente rico en similitudes y diferencias prácticas y conceptuales entre los dos métodos). Vea mi lista de diferencias entre PCA y FA al final de esta respuesta . Aquí se encuentran los cálculos paso a paso de PCA vs FA en el conjunto de datos de iris . Hay un número considerable de buenos enlaces a las respuestas de otros participantes sobre el tema fuera de este hilo; Lo siento, solo usé algunos de ellos en la respuesta actual.

Vea también una lista con viñetas de las diferencias entre PCA y FA aquí .

ttnphns
fuente
1
+1. Es genial que lo hayas escrito, este hilo definitivamente carecía de una respuesta tuya. Voté a favor antes de leer (lo cual rara vez hago), y ciertamente disfruté la lectura posterior. Podría comentar más tarde, pero un pequeño detalle por ahora: escribió varias veces que en FA la nube de error debería ser "redonda". Pero, de hecho, bien podría ser elíptico (debido a que las unicidades para V1 y V2 pueden tener diferentes variaciones), solo tiene que tener correlaciones cero. Supongo que no querías confundir a los lectores con este detalle.
ameba
1
V1=a1F+E1V2=a2F+E2(E1,E2)=N(0,I)- Ahora use estas relaciones para generar muestras de V1 y V2. Una vez que se generan V1 y V2, si tuviéramos que realizar la FA óptima, deberíamos obtener estimaciones casi precisas de (E1, E2), y se formará una nube elíptica. Además, ahora F, E1, E2 se pueden representar en el mismo plano que V1 y V2.
kasa
@kasa, ¿tu comentario aclamaba mi respuesta o el comentario de ameba? Si su comentario está en contra de mi afirmación principal de que en FA las tres variables latentes no se encuentran en el espacio original y puede mostrarlo, ¿por qué no emitir una respuesta que lo muestre? Pero tenga en cuenta que en la FA óptima, los errores no están exactamente correlacionados, no es que se pueda imaginar que provienen de una población normal no correlacionada.
ttnphns
@ttnphns: Perdón por la confusión, estaba dudando de su reclamo principal. Intentaré mostrarlo como respuesta en un par de días. ¡Gracias!
kasa
21

Las diferencias entre el análisis factorial y el análisis de componentes principales son:

• En el análisis factorial hay un modelo estructurado y algunos supuestos. A este respecto, es una técnica estadística que no se aplica al análisis de componentes principales, que es una transformación puramente matemática.

• El objetivo del análisis de componentes principales es explicar la varianza, mientras que el análisis factorial explica la covarianza entre las variables.

Una de las principales razones de la confusión entre los dos tiene que ver con el hecho de que uno de los métodos de extracción de factores en el Análisis Factorial se llama "método de componentes principales". Sin embargo, una cosa es usar PCA y otra cosa usar el método de componentes principales en FA. Los nombres pueden ser similares, pero hay diferencias significativas. El primero es un método analítico independiente, mientras que el segundo es simplemente una herramienta para la extracción de factores.

George Dontas
fuente
13

Para mí (y espero que esto sea útil) el análisis factorial es mucho más útil que PCA.

Recientemente tuve el placer de analizar una escala a través del análisis factorial. Esta escala (aunque se usa ampliamente en la industria) se desarrolló utilizando PCA y, que yo sepa, nunca se había analizado factorialmente.

Cuando realicé el análisis factorial (eje principal) descubrí que las comunalidades para tres de los ítems eran inferiores al 30%, lo que significa que no se analizaba más del 70% de la varianza de los ítems. PCA simplemente transforma los datos en una nueva combinación y no se preocupa por las comunidades. Mi conclusión fue que la escala no era muy buena desde el punto de vista psicométrico, y lo he confirmado con una muestra diferente.

Esencialmente, si desea predecir el uso de los factores, use PCA, mientras que si quiere comprender los factores latentes, use el Análisis Factorial.

richiemorrisroe
fuente
11

Ampliando la respuesta de @ StatisticsDocConsulting: la diferencia en las cargas entre EFA y PCA no es trivial con un pequeño número de variables. Aquí hay una función de simulación para demostrar esto en R:

simtestit=function(Sample.Size=1000,n.Variables=3,n.Factors=1,Iterations=100)
{require(psych);X=list();x=matrix(NA,nrow=Sample.Size,ncol=n.Variables)
for(i in 1:Iterations){for(i in 1:n.Variables){x[,i]=rnorm(Sample.Size)}
X$PCA=append(X$PCA,mean(abs(principal(x,n.Factors)$loadings[,1])))
X$EFA=append(X$EFA,mean(abs(factanal(x,n.Factors)$loadings[,1])))};X}

IterationsSample.Size=1000Iterationsprincipal()factanal()

Usando este código, he simulado muestras de 3–100 variables con 500 iteraciones cada una para producir datos:

Y=data.frame(n.Variables=3:100,Mean.PCA.Loading=rep(NA,98),Mean.EFA.Loading=rep(NA,98))
for(i in 3:100)
{X=simtestit(n.Variables=i,Iterations=500);Y[i-2,2]=mean(X$PCA);Y[i-2,3]=mean(X$EFA)}

... para una gráfica de la sensibilidad de las cargas medias (a través de variables e iteraciones) al número de variables:

.067

Nick Stauner
fuente
10

Uno puede pensar que un PCA es como un FA en el que se supone que las comunidades son iguales a 1 para todas las variables. En la práctica, esto significa que los elementos que tendrían cargas de factor relativamente bajas en FA debido a la baja comunalidad tendrán cargas más altas en PCA. Esta no es una característica deseable si el propósito principal del análisis es cortar la longitud del artículo y limpiar una batería de artículos de aquellos con cargas bajas o equívocas, o identificar conceptos que no están bien representados en el grupo de artículos.

StatisticsDoc Consulting
fuente
10

Una cita de un buen libro de texto (Brown, 2006, pp. 22, énfasis agregado).
PCA = análisis de componentes principales
EFA = análisis factorial exploratorio
CFA = análisis factorial confirmatorio

Aunque está relacionado con la EPT, el análisis de componentes principales (PCA) se clasifica erróneamente como un método de estimación del análisis factorial común. A diferencia de los estimadores discutidos en el párrafo anterior (ML, PF), PCA se basa en un conjunto diferente de métodos cuantitativos que no se basan en el modelo de factor común. PCA no diferencia la varianza común y única. Más bien, PCA tiene como objetivo explicar la varianza en las medidas observadas en lugar de explicar las correlaciones entre ellas. Por lo tanto, la PCA se usa más apropiadamente como una técnica de reducción de datos para reducir un conjunto más grande de medidas a un número más pequeño y manejable de variables compuestas para usar en análisis posteriores. Sin embargo, algunos metodólogos han argumentado que PCA es una alternativa razonable o quizás superior a EFA, en vista del hecho de que PCA posee varias propiedades estadísticas deseables (por ejemplo, computacionalmente más simple, no susceptible a soluciones inadecuadas, a menudo produce resultados similares a los de EFA, capacidad de PCA para calcular la puntuación de un participante en un componente principal, mientras que la naturaleza indeterminada de EFA complica tales cálculos). Aunque el debate sobre este tema continúa, Fabrigar et al. (1999) proporcionan varias razones en oposición al argumento del lugar de la PCA en el análisis factorial. Estos autores subrayan las situaciones donde EFA y PCA producen resultados diferentes; por ejemplo, cuando las comunalidades son bajas o cuando solo hay unos pocos indicadores de un factor dado (cf. Widaman, 1993). a menudo produce resultados similares a los de EFA, la capacidad de PCA para calcular el puntaje de un participante en un componente principal, mientras que la naturaleza indeterminada de EFA complica tales cálculos). Aunque el debate sobre este tema continúa, Fabrigar et al. (1999) proporcionan varias razones en oposición al argumento del lugar de la PCA en el análisis factorial. Estos autores subrayan las situaciones donde EFA y PCA producen resultados diferentes; por ejemplo, cuando las comunalidades son bajas o cuando solo hay unos pocos indicadores de un factor dado (cf. Widaman, 1993). a menudo produce resultados similares a los de EFA, la capacidad de PCA para calcular el puntaje de un participante en un componente principal, mientras que la naturaleza indeterminada de EFA complica tales cálculos). Aunque el debate sobre este tema continúa, Fabrigar et al. (1999) proporcionan varias razones en oposición al argumento del lugar de la PCA en el análisis factorial. Estos autores subrayan las situaciones donde EFA y PCA producen resultados diferentes; por ejemplo, cuando las comunalidades son bajas o cuando solo hay unos pocos indicadores de un factor dado (cf. Widaman, 1993). (1999) proporcionan varias razones en oposición al argumento del lugar de la PCA en el análisis factorial. Estos autores subrayan las situaciones donde EFA y PCA producen resultados diferentes; por ejemplo, cuando las comunalidades son bajas o cuando solo hay unos pocos indicadores de un factor dado (cf. Widaman, 1993). (1999) proporcionan varias razones en oposición al argumento del lugar de la PCA en el análisis factorial. Estos autores subrayan las situaciones donde EFA y PCA producen resultados diferentes; por ejemplo, cuando las comunalidades son bajas o cuando solo hay unos pocos indicadores de un factor dado (cf. Widaman, 1993).Independientemente, si la razón fundamental y los objetivos empíricos de un análisis están de acuerdo con el modelo de factor común, entonces es inconsistente conceptual y matemáticamente llevar a cabo PCA; es decir, la EPT es más apropiada si el objetivo declarado es reproducir las intercorrelaciones de un conjunto de indicadores con un número menor de dimensiones latentes, reconociendo la existencia de errores de medición en las medidas observadas.Floyd y Widaman (1995) señalan que las estimaciones basadas en EFA tienen más probabilidades de generalizarse a CFA que las obtenidas de PCA en que, a diferencia de PCA, EFA y CFA se basan en el modelo de factor común. Esta es una consideración notable a la luz del hecho de que EFA a menudo se usa como precursor de CFA en el desarrollo de la escala y la validación de construcciones. Se puede encontrar una demostración detallada de las diferencias computacionales entre PCA y EFA en los libros de texto analíticos multivariados y factoriales (por ejemplo, Tabachnick y Fidell, 2001).

Brown, TA (2006). El análisis factorial confirmatorio para la investigación aplicada. Nueva York: Guilford Press.

Henrik
fuente
6

En un artículo de Tipping y Bischop se discute la estrecha relación entre PCA Probabalística (PPCA) y análisis factorial. PPCA está más cerca de FA que el PCA clásico. El modelo común es

y=μ+Wx+ϵ

WRp,dxN(0,I)ϵN(0,Ψ)

  • Ψ
  • Ψ=σ2I

Michael E. Tipping, Christopher M. Bishop (1999). Análisis probabilístico de componentes principales , Journal of the Royal Statistical Society, Volumen 61, Número 3, páginas 611–622

tipo mnml
fuente
2
+1. Si. Creo que es necesario comprender PPCA para comprender la relación entre PCA y FA. Pero podría mejorar su respuesta discutiendo la relación PCA / PPCA.
ameba
3

Ninguna de estas respuestas es perfecta. Ya sea FA o PCA tiene algunas variantes. Debemos señalar claramente qué variantes se comparan. Compararía el análisis del factor de máxima verosimilitud y el PCA de Hotelling. Los primeros suponen que la variable latente sigue una distribución normal, pero PCA no tiene tal suposición. Esto ha llevado a diferencias, como la solución, el anidamiento de los componentes, la solución única, los algoritmos de optimización.

Hélice
fuente
1
Me pregunto si podría ampliar un poco sobre esto: ¿ha dicho que hay diferencias en la última oración, pero no ha dado mucha información sobre cuáles podrían ser esas diferencias o de qué manera podrían ser importantes?
Silverfish
1
Seleccionar dos métodos más distantes y afirmar que son realmente diferentes, como usted, tampoco es una lógica perfecta. Probablemente uno debería encontrar e informar cómo estos dos son similares. Alternativamente, uno podría elegir la mayoría de los métodos similares (como PCA simple frente a PAF ) e informar de qué manera son diferentes.
ttnphns
1
El PCA de Hotelling asume gaussianos latentes.
conjeturas
1

Hay muchas respuestas geniales para esta publicación, pero recientemente encontré otra diferencia.

Clustering es una aplicación donde PCA y FA producen resultados diferentes. Cuando hay muchas características en los datos, se puede intentar encontrar las direcciones principales de la PC y proyectar los datos en estas PC, luego proceder a la agrupación. A menudo, esto perturba los grupos inherentes en los datos: este es un resultado bien probado. Los investigadores sugieren continuar con los métodos de agrupamiento subespacial, que buscan factores latentes de baja dimensión en el modelo.

Solo para ilustrar esta diferencia, considere el Crabsconjunto de datos en R. El conjunto de datos de Cangrejos tiene 200 filas y 8 columnas, que describen 5 mediciones morfológicas en 50 cangrejos, cada uno de dos formas de color y ambos sexos, de la especie. Esencialmente, hay 4 (2x2) clases diferentes de cangrejos

library(MASS)
data(crabs)
lbl <- rep(1:4,each=50)
pc <- princomp(crabs[,4:8])
plot(pc) # produce the scree plot
X <- as.matrix(crabs[,4:8]) %*% pc$loadings
library(mclust)
res_12 <- Mclust(X[,1:2],G=4)
plot(res_12)


res_23 <- Mclust(X[,2:3],G=4)
plot(res_23)

Agrupación con PC1 y PC2: ingrese la descripción de la imagen aquí

Agrupación con PC2 y PC3: ingrese la descripción de la imagen aquí

#using PC1 and PC2:
     1  2  3  4
  1 12 46 24  5
  2 36  0  2  0
  3  2  1 24  0
  4  0  3  0 45

#using PC2 and PC3:
    1  2  3  4
  1 36  0  0  0
  2 13 48  0  0
  3  0  1  0 48
  4  1  1 50  2

Como podemos ver en las gráficas anteriores, PC2 y PC3 tienen más información discriminatoria que PC1.

Si uno intenta agrupar usando los factores latentes usando una Mezcla de analizadores de factores, vemos resultados mucho mejores en comparación con el uso de las dos primeras PC.

mfa_model <- mfa(y, g = 4, q = 2)
  |............................................................| 100%
table(mfa_model$clust,c(rep(1,50),rep(2,50),rep(3,50),rep(4,50)))

     1  2  3  4
  1  0  0  0 45
  2 16 50  0  0
  3 34  0  0  0
  4  0  0 50  5
kasa
fuente
Debo decir que dudo que esta respuesta realmente responda la pregunta. La respuesta es sobre el análisis de conglomerados después de PCA o FA, no sobre PCA y FA en sí. Pero incluso en ese sentido, la respuesta es tenue o inacabada. ¿Cómo se explica la diferencia que muestra?
ttnphns
@ttnphns Estoy de acuerdo con la respuesta sobre el análisis de clúster. Sin embargo, OP también solicitó un escenario de la vida real con PCA / FA donde uno debe usarse sobre el otro. Normalmente, PCA o FA nunca es el objetivo final; por ejemplo, en ciencias sociales, el objetivo final sería segmentar a los sujetos en diferentes grupos / grupos. Mi respuesta aborda tales escenarios. En caso de que piense que mi respuesta puede mejorarse, no dude en señalarlo.
kasa
Creo que su respuesta puede volverse realmente relevante si explica su hallazgo. Afirma que las diferencias entre PCA y FA son intrínsecas para los dos métodos (solo se vuelven aparentes bajo el agrupamiento). Creo que debería mostrar o al menos especular cómo o por qué las diferencias surgen teóricamente de las diferencias de los modelos de los métodos.
ttnphns