我是计算机科学的研究生。我一直在为一个研究项目做一些探索性因素分析。我的同事(领导项目的人)使用SPSS,而我更喜欢使用R。这没关系,直到我们发现两个统计数据包之间存在重大差异。
我们使用主轴因子分解作为提取方法(请注意,我很清楚PCA和因子分析之间的区别,并且至少没有故意地没有使用PCA)。根据我的阅读,根据R文档,这应该对应于R中的“主轴”方法,以及SPSS中的“主轴分解”或“未加权最小二乘” 。我们使用一种倾斜旋转方法(特别是promax),因为我们期望相关因子,并且正在解释模式矩阵。
在R和SPSS中运行两个过程,存在主要差异。模式矩阵给出不同的负载。尽管这给变量关系带来了几乎相同的因素,但是在相应的载荷之间存在多达0.15的差异,这似乎比仅采用不同的提取方法和promax旋转实现的预期要大。但是,这并不是最惊人的差异。
由这些因素解释的累积方差在SPSS结果中约为40%,在R结果中约为31%。这是一个巨大的差异,这导致我的同事希望使用SPSS而不是R。我对此没有问题,但是相差很大,使我认为我们可能错误地解释了某些内容,这是一个问题。
当我们进行非加权最小二乘分解时,SPSS更加令人困惑,报告了不同类型的解释方差。初始特征值解释的方差的比例为40%,而平方负荷提取和(SSL)的解释方差的比例为33%。这使我认为初始特征值不是要查看的适当数字(我怀疑这是旋转之前解释的方差,尽管它太大了,超出了我的范围)。更令人困惑的是,SPSS还显示了旋转SSL,但没有计算出解释方差的百分比(SPSS告诉我,具有相关因子意味着我无法添加SSL来找到总方差,这与我所见的数学很有意义)。来自R的报告的SSL与这些都不匹配,R告诉我它描述了总方差的31%。R的SSL与轮换SSL最接近。来自原始相关矩阵的R的特征值确实与来自SPSS的初始特征值匹配。
另外,请注意,我一直在使用不同的方法,并且SPSS的ULS和PAF似乎最接近R的PA方法。
我的具体问题:
- 在使用因子分析实现的R和SPSS之间,我期望有多少差异?
- 我应该解释SPSS的哪些平方荷载总和,初始特征值,提取或旋转?
- 还有其他我可能会忽略的问题吗?
我对SPSS和R的呼叫如下:
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)