降维分析系列第4讲:为什么 SPSS 里主成分在因子分析里面?

统计

在前面的几讲中,我们已经讨论过主成分分析和因子分析的区别。理论上,它们解决的问题并不相同。

但很多同学在实际操作 SPSS 时,会遇到一个让人困惑的现象。

在菜单中进入:

分析 → 降维 → 因子分析 → 提取

图片

可以看到“提取方法”里有这样一组选项:

  • 主成分
  • 未加权最小二乘
  • 广义最小二乘
  • 最大似然法
  • 主轴因式分解
  • Alpha因式分解
  • 映像因式分解

这里的第一个选项就是:主成分

这就会让人产生疑问:

  • 主成分分析不是一种单独的方法吗?
  • 为什么会放在因子分析的菜单里面?
  • 主成分难道也是因子分析的一种?

这个问题非常普遍,而且不少教材也没有专门解释。要理解这一点,需要先分清一件事:软件中的菜单分类,不等于统计理论中的方法分类。

01SPSS 的“因子分析”其实是一个更大的模块

在统计理论中,主成分分析和因子分析是不同的方法。主成分分析主要用于压缩变量、解释方差;因子分析则假设存在潜在因子,用来解释变量之间的相关结构。但从计算过程看,两种方法非常接近:

  • 都从相关矩阵开始
  • 都要做特征值分解
  • 都要提取若干个成分或因子
  • 都可以旋转
  • 输出表格形式也很类似

正因为计算框架高度相似,软件在实现时通常不会把它们完全拆开,而是放在同一个功能模块中。

SPSS 的做法就是:把所有基于相关矩阵分解的降维方法,都放在“因子分析”模块里。

因此,在这个菜单下面,既包含真正的因子分析方法,也包含主成分分析。

这是一种软件设计上的归类,而不是统计理论上的等价。

02哪些方法是真正的因子分析?

在 SPSS 的“提取方法”里,其实混在一起的是两类方法。

第一类是主成分方法:

  • 主成分(Principal Components)

这种方法并不假设存在潜在因子,只是通过线性组合,使新的变量解释尽量多的方差。严格来说,它属于主成分分析,而不是因子分析。之所以放在这里,只是因为计算步骤类似。

第二类才是真正意义上的因子分析方法,例如:

  • 未加权最小二乘
  • 广义最小二乘
  • 最大似然法
  • 主轴因式分解
  • Alpha因式分解
  • 映像因式分解

这些方法都有一个共同特点:

它们假设观测变量受到少数几个公因子的影响,并试图估计这些因子。

也就是说:主成分分析是方差分解,因子分析是潜变量模型。这一点在理论上非常清楚,但在软件的界面里却不容易看出来。

03为什么很多教材默认用“主成分”来做因子分析?

在很多教材、论文,甚至一些统计软件教程中,经常会看到这样的操作:

进入因子分析 → 提取方法 → 选择主成分,然后继续做旋转、解释因子,最后把结果称为“因子分析”。

这种做法其实非常常见,并不只是个别教材。我自己常用的一些SPSS教材中,“因子分析”的例子,实际上也是用主成分方法提取的。

原因主要有几个:

  • 主成分方法计算稳定,对样本要求较低
  • 主成分提取不容易失败,几乎都能得到结果
  • 在很多应用数据中,主成分和因子分析的结果差别并不大

因此,在教学或应用研究中,经常先用主成分提取,再通过旋转来解释结构。

需要注意的是:用主成分提取出来的结果,并不等同于真正的因子模型。

如果研究目的只是降维或构造综合指标,这样做通常没有问题。但如果研究的目标是解释潜在结构,那么主成分并不能替代因子分析。

很多人之所以会混淆这两种方法,并不是因为公式难,而是因为软件把它们放在了同一个菜单里,看起来像是一回事。

小结:SPSS 的菜单是软件分类,不是理论分类

现在可以回答最开始的问题:

为什么 SPSS 的因子分析里会有主成分?

因为在软件实现中,主成分分析和因子分析都属于基于相关矩阵的降维方法,所以被放在同一个模块中。

但从统计理论上看:

  • 主成分分析是方差分解方法
  • 因子分析是潜变量模型

两者相关,但并不相同。在实际研究中,比菜单更重要的是先想清楚一句话:我是在压缩变量,还是在解释结构?

下一讲我们回到因子分析本身,讨论一个更容易误解的问题:

主成分 / 因子 能不能直接拿去做回归?