Soy un estudiante graduado en ciencias de la computación. He estado haciendo un análisis factorial exploratorio para un proyecto de investigación. Mis colegas (que lideran el proyecto) usan SPSS, mientras que yo prefiero usar R. Esto no importó hasta que descubrimos una gran discrepancia entre los dos paquetes estadísticos.
Estamos utilizando la factorización del eje principal como método de extracción (tenga en cuenta que soy muy consciente de la diferencia entre PCA y análisis factorial, y que no estamos utilizando PCA , al menos no intencionalmente). Por lo que he leído, esto debe corresponder al método de "eje principal" en R, y, o bien "principal eje de factoring" o "mínimos cuadrados no ponderados" en SPSS, según la documentación R . Estamos utilizando un método de rotación oblicua (específicamente, promax ) porque esperamos factores correlacionados y estamos interpretando la matriz de patrones .
Al ejecutar los dos procedimientos en R y SPSS, existen grandes diferencias. La matriz de patrones da diferentes cargas. Aunque esto da más o menos el mismo factor a las relaciones variables, existe una diferencia de hasta 0.15 entre las cargas correspondientes, lo que parece más de lo que se esperaría con una implementación diferente del método de extracción y las rotaciones de Promax. Sin embargo, esa no es la diferencia más sorprendente.
La varianza acumulativa explicada por los factores es de alrededor del 40% en los resultados de SPSS y del 31% en los resultados de R. Esta es una gran diferencia, y ha llevado a mis colegas a querer usar SPSS en lugar de R. No tengo ningún problema con esto, pero una diferencia tan grande me hace pensar que podríamos estar interpretando algo incorrectamente, lo cual es un problema.
Al ensuciar aún más las aguas, SPSS informa diferentes tipos de varianza explicada cuando ejecutamos factorización de mínimos cuadrados no ponderados. La proporción de la varianza explicada por los valores propios iniciales es del 40%, mientras que la proporción de la varianza explicada de las sumas de extracción de cargas cuadradas (SSL) es del 33%. Esto me lleva a pensar que los valores propios iniciales no son el número apropiado para mirar (sospecho que esta es la variación explicada antes de la rotación, aunque es tan grande que está más allá de mí). Aún más confuso, SPSS también muestra Rotation SSL, pero no calcula el porcentaje de varianza explicada (SPSS me dice que tener factores correlacionados significa que no puedo agregar SSL para encontrar la varianza total, lo que tiene sentido con las matemáticas que he visto). Los SSL informados de R no coinciden con ninguno de estos, y R me dice que describe el 31% de la varianza total. Los SSL de R coinciden más con los SSL de rotación. Los valores propios de R de la matriz de correlación original coinciden con los valores propios iniciales de SPSS.
Además, tenga en cuenta que he jugado con el uso de diferentes métodos, y que ULS y PAF de SPSS parecen coincidir con el método de PA de R más cercano.
Mis preguntas especificas:
- ¿Qué diferencia debería esperar entre R y SPSS con implementaciones de análisis factorial?
- ¿Cuál de las sumas de cargas cuadradas de SPSS debería interpretar, valores propios iniciales, extracción o rotación?
- ¿Hay otros problemas que podría haber pasado por alto?
Mis llamadas a SPSS y R son las siguientes:
SPSS:
FACTOR
/VARIABLES <variables>
/MISSING PAIRWISE
/ANALYSIS <variables>
/PRINT INITIAL KMO AIC EXTRACTION ROTATION
/FORMAT BLANK(.35)
/CRITERIA FACTORS(6) ITERATE(25)
/EXTRACTION ULS
/CRITERIA ITERATE(25)
/ROTATION PROMAX(4).
R:
library(psych)
fa.results <- fa(data, nfactors=6, rotate="promax",
scores=TRUE, fm="pa", oblique.scores=FALSE, max.iter=25)