Parece que varios de los paquetes estadísticos que utilizo envuelven estos dos conceptos. Sin embargo, me pregunto si hay diferentes supuestos o «formalidades» de datos que deben ser verdaderas para usar una sobre la otra. Un ejemplo real sería increíblemente útil.
Comentarios
- Los capítulos de análisis de componentes principales y análisis factorial del siguiente libro, que está disponible en la mayoría de las bibliotecas universitarias, abordan su pregunta exactamente: apa.org/ pubs / books / 4316510.aspx
- Además de las respuestas a continuación, puede leer esto y este mío.
- Y otra buena pregunta como » debería usar PCA o FA «: stats.stackexchange.com/q/123063/3277 .
- @ttnphns: Le animo a que envíe una respuesta en este hilo, tal vez consistente en una lista anotada de sus respuestas en otros hilos relacionados. Esto podría reemplazar sus comentarios anteriores (actualmente cuatro co mensajes con enlaces), y sería más práctico, especialmente si anotó brevemente cada enlace. P.ej. busque aquí la explicación de este problema, busque allí una explicación de ese problema, etc. Es solo una sugerencia, ¡pero creo que este hilo se beneficiaría enormemente de ello! Una ventaja particular es que siempre puedes agregar más enlaces a esa respuesta.
- Se hizo una pregunta similar en MathOverflow y recibí lo que yo consideraría una respuesta excelente: mathoverflow.net/questions/40191/ …
Respuesta
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 las variables observadas a partir de factores latentes teóricos.
En psicología, estos dos Las técnicas se aplican a menudo 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, véase 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 «análisis de componentes principales» está incorrectamente etiquetado como «análisis factorial».
En términos de una simple regla general , le sugiero que:
-
Ejecute un análisis factorial si asume o desea probar un modelo teórico de factores latentes que causan variables observadas.
-
Ejecute el análisis de componentes principales si simplemente desea reducir sus variables observadas correlacionadas a un conjunto más pequeño de variables compuestas independientes importantes.
Comentarios
- La regla de oro es muy útil. Gracias por eso.
- Con respecto a la regla de oro (1): wouldn ‘ ¿Pruebo un modelo teórico de factores latentes con un análisis factorial confirmatorio en lugar de un factor exploratorio?
- @roman Sí. Un CFA te da mucho más control sobre el modelo que EFA. Por ejemplo, puede limitar las cargas a cero; igualar cargas; tener residuos correlacionados ls; agregar factores de orden superior; etc.
- @Jeromy Anglim ¿Es realmente correcto decir que PCA hace un » conjunto más pequeño de importantes variables compuestas independientes? » ¿O debería decir » conjunto más pequeño de variables compuestas no correlacionadas importantes «. Si los datos subyacentes que se utilizan en PCA no se distribuyen normalmente (multivariante), ¿los datos dimensionales reducidos solo no estarán correlacionados?
- La segunda regla es fácil de obtener, pero ¿cómo aplico la primera? Suena extraño, pero ¿cuándo sé que quiero ‘ ejecutar un modelo factorial contra las variables observadas?
Respuesta
De mi respuesta aquí:
¿PCA seguido 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 el PCA se utiliza como método de extracción predeterminado en las rutinas de análisis factorial de SPSS. Sin duda, esto 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 factor común». 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 a CFA una extracción de máxima probabilidad. Por lo tanto, no debería esperar que reproduzca un resultado de 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 utilizara la extracción de máxima verosimilitud de SPSS, ya que es posible que no utilicen el mismo algoritmo.
Para para bien o para mal en R, sin embargo, puede reproducir el «análisis factorial» mezclado que proporciona SPSS como predeterminado. Aquí está el proceso en R. Con este código, «puedo reproducir el componente principal de SPSS» Resultado del análisis factorial «utilizando este conjunto de datos. (Con la excepción del signo, que es indeterminado). Ese resultado también podría rotarse usando 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)
Comentarios
- Tenga en cuenta que obtendrá los mismos resultados con
principal(attitude, 2, rotate="none")
depsych
y esa regla de Kayser ‘ s (ev > 1) no es la forma más recomendada de probar para la dimensionalidad (sobrestima el número de factores). - Sí, lo sé. rincipal concluye esto. Mi propósito era mostrar lo que hacía el » análisis factorial » de SPSS al utilizar el método de extracción de componentes principales. Estoy de acuerdo en que la regla del valor propio es una mala manera de seleccionar el número de factores. Pero, eso es exactamente lo que SPSS hace por defecto y esto era lo que estaba demostrando.
-
factanal()
proporciona EFA, no CFA. Además, según mi experiencia, la extracción de máxima probabilidad de SPSS ‘ s debe dar el mismo resultado quefactanal()
dado que no hay rotación oblicua. - ¿Qué significa lo siguiente: ‘ En FA, los factores son combinaciones lineales que maximizan la porción compartida de la varianza – subyacente » construcciones latentes «. ‘?
- Tenga en cuenta también que CFA puede significar FA confirmatorio (en contraposición a FA explicativo ) en lugar de FA común .
Respuesta
Existen numerosas definiciones sugeridas en el web. A continuación se muestra uno de un glosario en línea sobre aprendizaje estadístico :
Componente principal Análisis
Construyendo 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 del componente principal, que son líneas que minimizan la distancia cuadrática promedio a cada punto en el conjunto de datos. Para garantizar la unicidad, todos los ejes de los componentes principales deben ser ortogonales. PCA es una técnica de máxima verosimilitud para la regresión lineal en presencia de ruido gaussiano tanto en las entradas como en las salidas. En algunos casos, PCA corresponde a una transformada de Fourier, como la DCT utilizada en la compresión de imágenes JPEG. Consulte «Caras propias para el reconocimiento» (Turk & Pentland, J Cognitive Neuroscience 3 (1), 1991), Bishop, «Análisis probabilístico de componentes principales» y «Elección automática de dimensionalidad para PCA «.elección de dimensionalidad para PCA».
Análisis factorial
Una generalización de PCA que se basa explícitamente en la máxima verosimilitud. Al igual que PCA, se supone que cada punto de datos surge del muestreo un punto en un subespacio y luego perturbarlo con ruido gaussiano de dimensión completa. La diferencia es que el análisis factorial permite que el ruido tenga una matriz de covarianza diagonal arbitraria, mientras que PCA asume 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 «.
Comentarios
- 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.
- Entonces, básicamente, en PCA uno 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 hayan acumulado mucha terminología en el campo donde se aplican.(fuera del tema: una vez me tomó una tarde entera entender cuál es el modelado de ruta hasta que encontré un (1) artículo de los 70 ‘ s que establecía la ecuación matricial detrás de él. )
Respuesta
Tienes razón sobre tu primer punto, aunque en FA generalmente trabajas con ambos (singularidad y comunalidad). La elección entre PCA y FA es un debate de larga data entre los psicometristas. Sin embargo, no sigo sus puntos. La rotación de los ejes principales se puede aplicar cualquiera que sea el método que se utilice 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 es utilizado, por razones prácticas (interpretación más fácil, reglas de puntuación más fáciles o interpretación de puntuaciones de factores, etc.), aunque la rotación oblicua (por ejemplo, PROMAX) probablemente podría reflejar mejor la realidad (los constructos latentes a menudo se correlacionan entre sí), al menos en el tradición de FA donde se asume que un constructo latente está realmente en el corazón de las inter-correlaciones observadas entre sus variables. El punto es que el PCA seguido de la rotación VARIMAX distorsiona un poco la interpretación de las combinaciones lineales de las variables originales en los «datos la tradición del análisis «(véase el trabajo de Michel Tenenhaus). Desde una perspectiva psicométrica, los modelos FA son preferibles ya que explican explícitamente el error de medición s, mientras que a la PCA eso no le importa. En pocas palabras, al usar PCA estás 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 (incluidas las comunalidades y los componentes de unicidad, como dijiste).
Le recomiendo que lea primero las siguientes discusiones sobre este tema:
- ¿Cuáles son las diferencias entre el análisis factorial y el principal? Análisis de componentes
- Sobre el uso de la rotación oblicua después del PCA – ver la referencia allí
Comentarios
- 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 lo último).
- Ah, Me preguntaba por qué se vinculó a esta consulta, en esta pregunta … 🙂
- . Chl, ¿podrías explicarlo? Eso ‘ es interesante.
Respuesta
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. No estoy de acuerdo; Creo que cuando se considera que la PCA es una técnica de variable latente, se acerca bastante a la FA, y es mejor que se vean como métodos muy similares.
Proporcioné mi propio relato 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 el PCA ser un sustituto del análisis factorial? . Allí sostengo que, por simples razones matemáticas, se puede esperar que el resultado del PCA y el FA sea bastante similar, dado que el número de variables no es muy pequeño (quizás mas de una docena). Consulte mi respuesta [¡larga!] En el hilo vinculado para obtener detalles matemáticos y simulaciones de Monte Carlo. Para obtener una versión mucho más concisa de mi argumento, consulte aquí: ¿En qué condiciones PCA y FA producen resultados similares?
Aquí me gustaría para mostrarlo en un ejemplo. Analizaré el conjunto de datos de vino del Repositorio de aprendizaje automático de UCI. Es un conjunto de datos bastante conocido con $ n = 178 $ vinos de tres uvas diferentes descritos por $ p = 13 $ variables. Así es como se ve la matriz de correlación:
Ejecuté análisis de PCA y FA y mostré Proyecciones 2D de los datos como biplots para ambos en la figura siguiente (PCA a la izquierda, FA a la derecha). Los ejes horizontal y vertical muestran las puntuaciones del primer y segundo componente / factor. Cada uno de los $ n = 178 $ puntos corresponde a un vino, y los puntos están coloreados según el grupo (ver leyenda):
Las cargas del primer y segundo componente / factor en cada una de las variables originales $ p = 13 $ se muestran como líneas negras. Son iguales a las correlaciones entre cada una de las variables originales y los dos componentes / factores.Por supuesto, las correlaciones no pueden exceder $ 1 $, por lo que todas las líneas de carga están contenidas dentro del «círculo de correlación» que muestra la máxima correlación posible. Todas las cargas y el círculo se escalan arbitrariamente por un factor de $ 3 $, de lo contrario serían demasiado pequeños para ser vistos (por lo que el radio del círculo es $ 3 $ y no $ 1 $).
Tenga en cuenta que hay ¡apenas 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 ninguna sorpresa; aún así, es instructivo observar.
PD. Para una biplot PCA mucho más bonita de la misma conjunto de datos, consulte 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 factoriales 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 puntuaciones estandarizadas; las escalé por las respectivas variaciones de los factores (dadas por las longitudes de las cargas).
Comentarios
- ¿Qué software usó para crear las gráficas de análisis de factores y PCA?
- Usé Matlab. Estaba pensando en pegar el código en mi respuesta (como es mi costumbre ), pero no quería saturar aún más este tema. Pero ahora que lo pienso, debería publicarlo en algún sitio web externo y dejar un enlace aquí. Lo haré.
- Es cierto que PCA y FA a veces, y no pocas veces, dan resultados similares (cargas), por lo que PCA puede verse como un caso específico de FA, cuando el análisis factorial es Aún así, FA (sensu stricto) y PCA son teóricamente bastante diferentes.
- (cont.) Los factores son rasgos latentes trascendentes; los componentes pr. son derivaciones inmanentes. A pesar de sus dos gráficos de carga, la aplicación oído prácticamente similar, teóricamente son fundamentalmente diferentes. El plano de componentes de la izquierda se produjo como un subespacio de las variables que se proyectan en él. El plano factorial se produjo como un espacio diferente del espacio de las variables, por lo que se proyectan en un » alien » espacio en el gráfico de la derecha.
- (cont.) Pero la imagen de la derecha (FA) en realidad no es un verdadero biplot , 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 puntuaciones de objetos (donde los ejes son los factores estimados como puntuaciones). El espacio de factor verdadero sobrepasa el espacio de la variable » parental » pero el espacio de puntuaciones de factor es su subespacio. Superpuso dos pares heterogéneos de ejes, pero tienen las mismas etiquetas (» factor1 » y » factor2 » en ambos pares) cuya circunstancia es muy engañosa y nos persuade a pensar que es una biplot auténtica, como la de la izquierda.
Respuesta
Una explicación básica, pero una especie de minuciosa, de Análisis factorial vs PCA con la ayuda de diagramas de dispersión, en pasos lógicos. (Agradezco a @amoeba quien, 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.
Supongamos que tenemos las variables correlacionadas $ V_1 $ y $ V_2 $ . Los centramos (restamos la media) y hacemos un diagrama de dispersión. Luego realizamos PCA sobre estos datos centrados. PCA es una forma de rotación de ejes que ofrece los ejes P1 y P2 en lugar de V1 y V2. La propiedad clave de PCA es que P1, llamado primer componente principal, se orienta para maximizar la varianza de los puntos de datos a lo largo de él. Los nuevos ejes son nuevas variables cuyos valores son computables siempre que conozcamos los coeficientes de rotación $ a $ (PCA los proporciona) [ Ec.1 ]:
$ P1 = a1_1V_1 + a1_2V_2 $
$ P2 = a2_1V_1 + a2_2V_2 $
Estos 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 los componentes principales. En PCA, normalmente descartamos los últimos componentes débiles: por lo tanto, 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 graficados, P1 descartamos los valores del componente (puntuaciones) P1 = .73543*V1 + .67761*V2
y el componente P2. La varianza de P1 es 1.75756
, el primer valor propio de la matriz de covarianza, por lo que P1 explica 86.5%
del total varianza que es igual a (1.07652+.95534) = (1.75756+.27430)
.
PCA como predicción de variable (» latente » característica)
Por lo tanto, descartamos P2 y esperamos que P1 solo pueda representar razonablemente los datos. Eso es equivalente a decir que $ P1 $ puede » reconstruir » o predecir
$ V_1 = a1_ {1} P1 + E_1 $
$ V_2 = a1_ {2} P1 + E_2 $
donde los coeficientes $ a $ son lo que ya sabemos y $ E $ son los errores (imprevisibilidad). En realidad, se trata de un » modelo regresivo » donde las variables observadas son predichas (hacia atrás) por la variable latente (si se permite llamar a un componente » latente » one) P1 extraído de esas mismas variables. Mire el gráfico Fig.2 , no es nada más que Fig .1 , solo detallado:
El eje P1 se muestra en mosaico con sus valores (puntuaciones P1) en verde (estos valores son las proyecciones de puntos de datos en P1). Algunos puntos de datos arbitrarios se etiquetaron como A, B, …, y su salida (error) de P1 son conectores negros en negrita. Para el punto A, se muestran los detalles: las coordenadas de la puntuación P1 (verde A) en los ejes V1 y V2 son los valores reconstruidos por P1 de V1 y V2 de acuerdo con la Eq.2 , $ \ hat {V_1} = a1_ {1} P1 $ y $ \ hat {V_2} = a1_ {2} P1 $ . Los errores de reconstrucción $ E_1 = V_1- \ hat {V_1} $ y $ E_2 = V_2- \ hat {V_2} $ también se muestran, en beige. La longitud al cuadrado del » error » del conector es la suma de los dos errores al cuadrado, según Pitágoras.
Ahora, lo que es característico de PCA es que si calculamos E1 y E2 para cada punto de los datos y trazamos estas coordenadas, es decir, hacemos solo el diagrama de dispersión de los errores, 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 ves que en realidad forma el eje P2 (de Fig.1 ) como mosaico con las puntuaciones del componente P2.
No es de extrañar, puede decir. Es tan obvio: en PCA , los componentes menores descartados son los que exactamente se descomponen (s) en los errores de predicción E, en el modelo que explica (restaura) las variables originales V por la característica latente (s) P1. Los errores E juntos constituyen simplemente los componentes excluidos. Aquí es donde el análisis factorial comienza a diferir del PCA.
La idea de FA común (característica latente )
Formalmente, el modelo que predice las variables manifiestas por las características latentes extraídas es el mismo en FA que en PCA; [ Eq.3 ]:
$ V_1 = a_ {1} F + E_1 $
$ V_2 = a_ {2} F + E_2 $
donde F es el factor común latente extraído de los datos y reemplazando lo que era P1 en Ec. 2 .La diferencia en el modelo es que en FA, a diferencia de PCA, se requieren variables de error (E1 y E2) que no estén correlacionados entre sí .
Digresión . Aquí quiero interrumpir repentinamente la historia y hacer una noción sobre qué son los coeficientes $ a $ . En PCA, dijimos, estas eran entradas de autovectores que se encuentran dentro de PCA (a través de la descomposición de valores propios o singulares). Mientras que P1 latente tuvo su varianza nativa. Si optamos por estandarizar P1 a unidad de varianza , tendremos que compensarlo ampliando adecuadamente los coeficientes $ a $ , para respaldar la ecuación. Esos $ a $ s ampliados se denominan cargas ; son de interés numérico porque son las covarianzas (o correlaciones) entre las variables latentes y observables y, por lo tanto, pueden ayudar a interpretar la característica latente. En ambos modelos – Eq.2 y Eq.3 : usted es libre de decidir, sin dañar la ecuación , de qué manera se escalan los términos. Si F (o P1) se considera una unidad a escala, $ a $ se está cargando; mientras que si F (P1) tiene que tener su scale (varianza), entonces $ a $ debe ser desescalado en consecuencia – en PCA que será igual a entradas de autovector, b Pero en FA serán diferentes y normalmente no se denominan » vectores propios «. En la mayoría de los textos sobre análisis factorial, se asume que F es una unidad de varianza, por lo que $ a $ son cargas . En la literatura de PCA, se habla típicamente de que P1 tiene su varianza real y, por lo tanto, $ a $ son vectores propios.
Bien, volvamos al hilo. E1 y E2 no están correlacionados en el análisis factorial; por lo tanto, deben formar una nube de errores, ya sea redonda o elíptica, pero no orientada diagonalmente. Mientras que en PCA, su nube se formó en línea recta coincidiendo con P2 que va en diagonal. Ambas ideas se demuestran en la imagen:
Tenga en cuenta que los errores son nubes redondas (no alargadas en diagonal) 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 un poco extrañamente cónica; al final quedará claro por qué.
¿Cuál es el significado de esta diferencia entre PCA y FA? Variables correlacionadas, que se ve en la forma elíptica en diagonal de la nube de datos. P1 pasó por alto la varianza máxima, por lo que la elipse está codirigida a P1. En consecuencia, P1 explicó por sí mismo la correlación; pero no explicó la cantidad existente de correlación de manera adecuada; buscaba explicar la variación en puntos de datos, no la correlación. En realidad, se sobreestimó la correlación, cuyo resultado fue la aparición de la nube de errores correlacionados en diagonal que compensan la sobrecuenta. P1 solo no puede explicar la fuerza de la correlación / covariación de manera integral. El factor F puede hacerlo solo; y la condición en la que puede hacerlo es exactamente donde los errores pueden verse obligados a no correlacionarse. Dado que la nube de error es redonda, no se ha mantenido ninguna correlación (positiva o negativa) después de que se extrajo el factor, por lo que es el factor que lo resumió todo.
Como 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 la porción de variabilidad que es la porción neta correlacional, denominada comunalidad ; y, por lo tanto, los factores se pueden interpretar como fuerzas / características / rasgos reales pero no observables que ocultan » en » o » detrás » las variables de entrada para que se correlacionen. Porque explican bien la correlación matemáticamente. Los componentes principales (algunos primeros) lo explican matemáticamente no tan bien, por lo que se puede llamar » rasgo latente » (o tal) sólo en cierto grado y tentativamente .
La multiplicación de cargas es lo que explica (restaura) la correlación, o correlación en el forma de covarianza: si el análisis se basó en una matriz de covarianza (como en nuestro ejemplo) en lugar de una 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 = .73837
es casi igual a la covarianza .73915
. Por otro lado, las cargas de PCA fueron a1_1=.97497, a1_2=.89832
, por lo que a1_1*a1_2 = .87584
sobreestima .73915
considerablemente.
Habiendo explicado la principal distinción teórica entre PCA y FA, volvamos a nuestros datos para ejemplificar la idea.
FA: solución aproximada (puntuaciones de factores)
A continuación se muestra el diagrama de dispersión que muestra los resultados del análisis que «llamaremos provisionalmente » análisis factorial subóptimo «, Figura 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).
Ver salidas desde Fig .2 de PCA. La nube beige de los errores no es redonda, es diagonalmente elíptica; sin embargo, es evidentemente mucho más gruesa que la delgada línea diagonal que se ha producido en PCA. Tenga en cuenta también que los conectores de error (que se muestran para algunos puntos) ya no son paralelos (en PCA, por definición eran paralelos a P2). Además, si miras, por ejemplo, los puntos » F » y » E » que se encuentran reflejados simétricamente sobre el factor «s F , encontrará, inesperadamente, que los puntajes de los factores 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 desde P1. Y sus ejes no coinciden completamente si se muestran juntos en el mismo gráfico Fig.4 :
Aparte de que están orientados de manera un poco diferente, F (como mosaico con puntajes) es más corto, es decir, representa una varianza más pequeña que las cuentas P1. Como se señaló anteriormente, el factor solo representa la variabilidad que es responsable de la correlación de V1 V2, es decir, la parte de la varianza total que es suficiente para llevar las variables de la covarianza primaria 0
a la covarianza fáctica .73915
.
FA: solución óptima (factor verdadero)
Una solución de factor óptimo es cuando los errores son una nube elíptica redonda o no diagonal : E1 y E2 están totalmente descorrelacionados . El análisis factorial en realidad devuelve una solución tan óptima. No lo mostré en un diagrama de dispersión simple como los anteriores. ¿Por qué lo hice? – porque, después de todo, hubiera sido lo más interesante.
La razón es que sería imposible mostrarlo en un diagrama de dispersión lo suficientemente adecuadamente, 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 mentir en el espacio (plano) definido por V1, V2; y los tres deben no 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 un mundo 3D, por desgracia. El factor F no debe estar correlacionado con E1 y E2 (mientras que ambos tampoco están correlacionados) porque se supone que F es el solo (limpio) y completo fuente de correlación en los datos observados. El análisis factorial divide la varianza total de las p
variables de entrada en dos variables no correlacionadas (que no se superponen ) partes: comunidad parte (m
-dimensional, donde m
regla de factores comunes) y unicidad part (p
-dimensional, donde los errores, también llamados factores únicos, no están correlacionados entre sí).
Perdón por no mostrar el verdadero factor de nuestros datos en un diagrama de dispersión aquí. Se podría visualizar de manera bastante adecuada a través de vectores en » espacio de asunto » como hecho aquí sin mostrar puntos de datos.
Arriba, en la sección » La idea de FA común (característica latente) » Mostré el factor (eje F) como una cuña para advertir que el verdadero eje del factor no se encuentra en el plano V1 V2. Eso significa que, a diferencia del 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 es no una combinación lineal de las variables V1 y V2.Por lo tanto, F se modela (se extrae de las variables V1 v2) como si fuera una variable externa e independiente, no una derivación de ellas. Ecuaciones como Eq.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. 3 son válidos para ambos análisis. Es decir, en PCA las variables generan componentes y los componentes predicen de nuevo las variables; en FA los factores generan / predicen variables, y no de vuelta – el modelo de factor común asume conceptualmente entonces , 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, el factor verdadero «Los valores no están definidos de forma única . En otras palabras, son simplemente desconocidos. Todo se debe al hecho de que» Estamos en el espacio analítico 5D excesivo y no en nuestro espacio 2D doméstico de los datos. Solo buenas aproximaciones (existen varios métodos ) a valores de factor verdaderos, llamados puntuaciones de factor , son allí 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 funciones lineales de V1, V2, y eran lo que tracé en la sección » FA: solución aproximada (puntuaciones de factores) «. Las puntuaciones de los componentes principales son valores reales de los componentes; las puntuaciones de los factores son solo una aproximación razonable a los valores de los factores verdaderos indeterminados.
FA: resumen del procedimiento
Reunir en un pequeño coágulo lo que dijeron las dos secciones anteriores y agregar trazos finales . En realidad, FA puede ( si lo haces bien, y consulta también supuestos de datos ) encontrar la verdadera solución del factor (por » true » Me refiero aquí a óptimo para la muestra de datos). Sin embargo, existen varios métodos de extracción (difieren en algunas restricciones secundarias que ponen). La solución de factor verdadero depende de las cargas $ a $ únicamente . Por lo tanto, las cargas son factores óptimos y verdaderos. Las puntuaciones de los factores , si las necesita, se pueden calcular a partir de esas cargas de varias formas y devuelven aproximaciones a valores de factor.
Por lo tanto, » solución de factor » mostrada por mí en la sección » FA: solución aproximada (puntuaciones de factores) » se basó realmente en cargas óptimas, es decir, en factores verdaderos. Pero los puntajes no fueron óptimos, por destino. Los puntajes se calculan para ser una función lineal de las variables observadas, al igual que 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 de PCA a la idea de FA.
Hay que tener cuidado al graficar sobre las mismas cargas de factores de biplot con puntuaciones de factores en el » espacio de factores «, tenga en cuenta que las cargas pertenecen a factores verdaderos, mientras que las puntuaciones se refieren a factores sustitutos (consulte mis comentarios sobre esta respuesta en este hilo).
Rotación de factores (cargas) ayudan a interpretar las características latentes. La rotación de 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 resultados con FA a medida que crece el número de variables (consulte el hilo extremadamente rico sobre 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 . Los cálculos paso a paso de PCA frente a FA en el conjunto de datos de iris se encuentran aquí . Hay una cantidad considerable de buenos enlaces a las respuestas de otros participantes sobre el tema fuera de este hilo; lamento haber usado solo algunos de ellos en la respuesta actual.
Consulte también una lista con viñetas de las diferencias entre PCA y FA aquí .
Comentarios
- +1. Es ‘ genial que lo hayas escrito, este hilo definitivamente no tenía una respuesta tuya. Voté antes de leer (lo que rara vez hago) y ciertamente disfruté de la lectura posterior. Podría comentar más después, pero un pequeño detalle por ahora: escribiste varias veces que en FA la nube de error debería ser » round » .Pero, de hecho, bien podría ser elíptico (porque las unicidades de V1 y V2 pueden tener variaciones diferentes), solo tiene que tener correlaciones cero. Supongo que no querías confundir a los lectores con este detalle.
- @amoeba Tengo una duda ingenua con respecto a la imposibilidad matemática de representar el F, E1, E2 óptimo en el espacio (plano) definido por V1, V2. Puedo pensar en un ejemplo de contador para esto: digamos $ V_1 = a_ {1} F + E_1 $ y $ V_2 = a_ {2} F + E_2 $, donde $ (E_1, E_2) = \ mathcal {N} (0 , \ Bbb {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 el FA óptimo, 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, ¿su comentario aclamaba mi respuesta o ameba ‘ s comentario? Si tu comentario va en contra de mi afirmación principal de que en FA las tres variables latentes no se encuentran en el espacio original y puedes mostrarlo, ¿por qué no emitir una respuesta mostrándolo? Pero tenga en cuenta que en el FA óptimo, los errores exactamente no están correlacionados, no es que puedan imaginarse que proceden de población normal no correlacionada.
- @ttnphns : Perdón por la confusión, dudaba de su afirmación principal. Intentaré mostrarlo como respuesta en un par de días. ¡Gracias!
Respuesta
Las diferencias entre el análisis factorial y el análisis de componentes principales son:
• En el análisis factorial existe un modelo estructurado y algunos supuestos. En este sentido, 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 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 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 este último es simplemente una herramienta para la extracción de factores.
Respuesta
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) fue desarrollada usando PCA, y que yo sepa, nunca ha sido factor analizado.
Cuando realicé el análisis factorial (eje principal) descubrí que las comunalidades para tres de los ítems eran menos del 30%, lo que significa que más del 70% de la varianza de los ítems no se estaba analizando. 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.
Básicamente, si quieres predecir usando los factores, usa PCA , mientras que si desea comprender los factores latentes, utilice el Análisis factorial.
Respuesta
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í «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}
De forma predeterminada, esta función realiza 100 Iterations
, en cada uno de los cuales produce muestras aleatorias, normalmente distribuidas (Sample.Size
$ = 1000 $) de tres variables, y extrae un factor usando PCA y ML-EFA. Genera una lista de dos Iterations
-vectores largos compuestos por las magnitudes medias de las cargas de las variables simuladas en el primer componente no rotado de PCA y el factor general de EFA, respectivamente. Le permite jugar con el tamaño de la muestra y el número de variables y factores que se adaptan a su situación, dentro de los límites de principal()
y factanal()
funciones y su computadora.
Usando este código, he simulado muestras de 3 a 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 un gráfico de la sensibilidad de las cargas medias (a través de variables e iteraciones) al número de variables:
Esto demuestra cuán diferente es uno tiene que interpretar la fuerza de las cargas en PCA frente a EFA. Ambos dependen un poco del número de variables, pero las cargas están sesgadas hacia arriba mucho más fuertemente en PCA. La diferencia entre las cargas medias de estos métodos disminuye a medida que aumenta el número de variables, pero incluso con 100 variables, las cargas de PCA promedian $ .067 $ más alto que las cargas de EFA en datos normales aleatorios.Sin embargo, tenga en cuenta que las cargas medias generalmente serán más altas en aplicaciones reales, porque generalmente se usan estos métodos en variables más correlacionadas. No estoy seguro de cómo esto podría afectar la diferencia de las cargas medias.
Responder
Una cita de un libro de texto realmente agradable ( Brown, 2006, págs. 22, énfasis añadido).
PCA = análisis de componentes principales
EFA = análisis factorial exploratorio
CFA = análisis factorial confirmatorio
Aunque está relacionado con EFA, el análisis de componentes principales (PCA) con frecuencia se clasifica erróneamente como un método de estimación de análisis de factor común. A diferencia de los estimadores discutidos en el párrafo anterior (ML, PF), PCA se basa en un conjunto diferente de valores cuantitativos métodos 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, PCA se utiliza más apropiadamente como un 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 más manejable de variables compuestas para usar en análisis posteriores. Sin embargo, algunos metodólogos han argumentado que la PCA es una alternativa razonable o quizás superior a la EFA, en vista del hecho de que la 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 la 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 del ACP en el análisis factorial. Estos autores subrayan las situaciones en las que EFA y PCA producen resultados diferentes; por ejemplo, cuando las comunidades son bajas o cuando solo hay unos pocos indicadores de un factor dado (cf. Widaman, 1993). Independientemente, si el fundamento fundamental y los objetivos empíricos de un análisis están de acuerdo con el modelo de factor común, entonces es conceptual y matemáticamente inconsistente realizar PCA; es decir, EFA es más apropiado si el objetivo planteado es reproducir las intercorrelaciones de un conjunto de indicadores con un número menor de dimensiones latentes, reconociendo la existencia de error 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 digna de mención a la luz del hecho de que el EFA se usa a menudo como un precursor del CFA en el desarrollo de escalas y la validación de construcciones. Se puede encontrar una demostración detallada de las diferencias computacionales entre PCA y EFA en libros de texto multivariados y analíticos de factores (por ejemplo, Tabachnick & Fidell, 2001).
Brown, TA (2006). Análisis factorial confirmatorio para investigación aplicada. Nueva York: Guilford Press.
Respuesta
Uno puede pensar de un PCA 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 factoriales relativamente bajas en FA debido a una 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 reducir la longitud del artículo y limpiar una batería de artículos con cargas bajas o equívocas, o identificar conceptos que no están bien representados en el grupo de artículos.
Respuesta
En un artículo de Tipping y Bischop se discute la estrecha relación entre el PCA probabalístico (PPCA) y el análisis factorial. PPCA está más cerca de FA que el clásico PCA. El modelo común es
$$ \ mathbf {y} = \ mu + \ mathbf {Wx} + \ epsilon $$
donde $ \ mathbf {W} \ in \ mathbb {R} ^ {p, d} $, $ \ mathbf {x} \ sim \ mathcal {N} (\ mathbf {0}, \ mathbf {I}) $ y $ \ epsilon \ sim \ mathcal {N} ( \ mathbf {0}, \ mathbf {\ Psi}) $.
- El análisis factorial asume que $ \ mathbf {\ Psi} $ es diagonal.
- PPCA asume $ \ mathbf {\ Psi} = \ sigma ^ 2 \ mathbf {I} $
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
Comentarios
- + 1. Si. Creo que comprender la PPCA es necesario para comprender la relación entre la PCA y la FA. Pero podría mejorar su respuesta discutiendo la relación PCA / PPCA.
Respuesta
Ninguna de estas respuestas es Perfecto. Tanto FA como PCA tienen 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 asumen que la variable latente sigue una distribución normal, pero PCA no tiene tal supuesto. Esto ha llevado a diferencias, como la solución, el anidamiento de los componentes, la singularidad de la solución, los algoritmos de optimización.
Comentarios
- Me pregunto si podría ampliar un poco esto. Ha dicho que hay diferencias en la última oración, pero no ha proporcionado mucha información. acerca de cuáles podrían ser esas diferencias, o de qué manera esas diferencias podrían ser importantes?
- Seleccionar dos métodos más distantes y afirmar que de hecho son diferentes, como usted lo hace, tampoco es una lógica perfecta . Probablemente uno debería encontrar e informar en qué se parecen estos dos. Alternativamente, se pueden elegir los métodos más similares (como PCA simple vs PAF ) e informar en qué se diferencian.
- Hotelling ‘ s PCA asume gaussianos latentes.
Respuesta
Hay muchas respuestas excelentes para esta publicación, pero recientemente encontré otra diferencia.
La agrupación en clústeres es una aplicación en la que 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 con la agrupación. A menudo, esto perturba los grupos inherentes a los datos. Este es un resultado bien probado. Los investigadores sugieren continuar con los métodos de agrupamiento de subespacios, que buscan factores latentes de baja dimensión en el modelo.
Solo para ilustrar esta diferencia, considere el conjunto de datos Crabs
en R. El conjunto de datos de cangrejos tiene 200 filas y 8 columnas, que describen 5 medidas morfológicas en 50 cangrejos de dos colores cada uno formas y ambos sexos, de la especie – Esencialmente hay 4 (2×2) 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)
Agrupamiento usando PC1 y PC2:
#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 los gráficos anteriores, PC2 y PC3 llevan información más discriminatoria que PC1.
Si uno intenta agrupar usando los factores latentes usando una mezcla de analizadores de factores, vemos un resultado mucho mejor 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
Comentarios
- Debo decir que dudo que esta respuesta realmente responda a la pregunta. La respuesta es sobre el análisis de conglomerados después de PCA o FA, no sobre PCA y FA en sí mismos. Pero incluso en ese sentido la respuesta es borrosa o inconclusa. ¿Cómo se explica la diferencia que muestra?
- @ttnphns Estoy de acuerdo con que la respuesta sea sobre el análisis de conglomerados. Sin embargo, OP también solicitó un escenario de la vida real con PCA / FA en el que 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 los sujetos en diferentes clusters / grupos. Mi respuesta aborda esos escenarios. En caso de que crea que mi respuesta se puede mejorar, no dude en señalarlo.
- Creo que su respuesta puede ser realmente relevante si explica su hallazgo. Afirma que las diferencias entre PCA y FA son intrínsecas para los dos métodos (solo que se hacen evidentes en la agrupación). Creo que debería mostrar o al menos especular cómo o por qué las diferencias surgen teóricamente de las diferencias de los métodos ‘ modelos.