降维分析系列第4讲:为什么 SPSS 里主成分在因子分析里面?
在前面的几讲中,我们已经讨论过主成分分析和因子分析的区别。理论上,它们解决的问题并不相同。
但很多同学在实际操作 SPSS 时,会遇到一个让人困惑的现象。
在菜单中进入:
分析 → 降维 → 因子分析 → 提取
可以看到“提取方法”里有这样一组选项:
- 主成分
- 未加权最小二乘
- 广义最小二乘
- 最大似然法
- 主轴因式分解
- Alpha因式分解
- 映像因式分解
这里的第一个选项就是:主成分
这就会让人产生疑问:
- 主成分分析不是一种单独的方法吗?
- 为什么会放在因子分析的菜单里面?
- 主成分难道也是因子分析的一种?
这个问题非常普遍,而且不少教材也没有专门解释。要理解这一点,需要先分清一件事:软件中的菜单分类,不等于统计理论中的方法分类。
01SPSS 的“因子分析”其实是一个更大的模块
在统计理论中,主成分分析和因子分析是不同的方法。主成分分析主要用于压缩变量、解释方差;因子分析则假设存在潜在因子,用来解释变量之间的相关结构。但从计算过程看,两种方法非常接近:
- 都从相关矩阵开始
- 都要做特征值分解
- 都要提取若干个成分或因子
- 都可以旋转
- 输出表格形式也很类似
正因为计算框架高度相似,软件在实现时通常不会把它们完全拆开,而是放在同一个功能模块中。
SPSS 的做法就是:把所有基于相关矩阵分解的降维方法,都放在“因子分析”模块里。
因此,在这个菜单下面,既包含真正的因子分析方法,也包含主成分分析。
这是一种软件设计上的归类,而不是统计理论上的等价。
02哪些方法是真正的因子分析?
在 SPSS 的“提取方法”里,其实混在一起的是两类方法。
第一类是主成分方法:
- 主成分(Principal Components)
这种方法并不假设存在潜在因子,只是通过线性组合,使新的变量解释尽量多的方差。严格来说,它属于主成分分析,而不是因子分析。之所以放在这里,只是因为计算步骤类似。
第二类才是真正意义上的因子分析方法,例如:
- 未加权最小二乘
- 广义最小二乘
- 最大似然法
- 主轴因式分解
- Alpha因式分解
- 映像因式分解
这些方法都有一个共同特点:
它们假设观测变量受到少数几个公因子的影响,并试图估计这些因子。
也就是说:主成分分析是方差分解,因子分析是潜变量模型。这一点在理论上非常清楚,但在软件的界面里却不容易看出来。
03为什么很多教材默认用“主成分”来做因子分析?
在很多教材、论文,甚至一些统计软件教程中,经常会看到这样的操作:
进入因子分析 → 提取方法 → 选择主成分,然后继续做旋转、解释因子,最后把结果称为“因子分析”。
这种做法其实非常常见,并不只是个别教材。我自己常用的一些SPSS教材中,“因子分析”的例子,实际上也是用主成分方法提取的。
原因主要有几个:
- 主成分方法计算稳定,对样本要求较低
- 主成分提取不容易失败,几乎都能得到结果
- 在很多应用数据中,主成分和因子分析的结果差别并不大
因此,在教学或应用研究中,经常先用主成分提取,再通过旋转来解释结构。
需要注意的是:用主成分提取出来的结果,并不等同于真正的因子模型。
如果研究目的只是降维或构造综合指标,这样做通常没有问题。但如果研究的目标是解释潜在结构,那么主成分并不能替代因子分析。
很多人之所以会混淆这两种方法,并不是因为公式难,而是因为软件把它们放在了同一个菜单里,看起来像是一回事。
小结:SPSS 的菜单是软件分类,不是理论分类
现在可以回答最开始的问题:
为什么 SPSS 的因子分析里会有主成分?
因为在软件实现中,主成分分析和因子分析都属于基于相关矩阵的降维方法,所以被放在同一个模块中。
但从统计理论上看:
- 主成分分析是方差分解方法
- 因子分析是潜变量模型
两者相关,但并不相同。在实际研究中,比菜单更重要的是先想清楚一句话:我是在压缩变量,还是在解释结构?
下一讲我们回到因子分析本身,讨论一个更容易误解的问题:
主成分 / 因子 能不能直接拿去做回归?