使用 PCA 代替 EFA 有什么好的理由吗?另外,PCA 可以替代因子分析吗?

机器算法验证 主成分分析 因子分析 探索性数据分析
2022-01-30 23:52:53

在某些学科中,PCA(主成分分析)被系统地使用,没有任何理由,PCA和EFA(探索性因素分析)被认为是同义词。

因此,我最近使用 PCA 来分析量表验证研究的结果(李克特 7 点量表上的 21 个项目,假设由 3 个因素组成,每个因素 7 个项目),一位审阅者问我为什么选择 PCA 而不是 EFA。我阅读了这两种技术之间的差异,在您的大多数答案中,似乎 EFA 优于 PCA。

您是否有充分的理由说明为什么 PCA 会是更好的选择?它可以提供什么好处,为什么在我的情况下它可能是一个明智的选择?

4个回答

免责声明:@ttnphns 对 PCA 和 FA 都非常了解,我尊重他的意见,并且从他关于该主题的许多出色答案中学到了很多东西。但是,我倾向于不同意他在这里的回复,以及在 CV 上关于此主题的其他(大量)帖子,不仅是他的;或者更确切地说,我认为它们的适用性有限。


我认为 PCA 和 FA 之间的差异被高估了。

这样看:两种方法都试图提供给定协方差(或相关)矩阵的低秩近似。“低等级”意味着仅使用有限(低)数量的潜在因素或主成分。如果数据的$n\times n$协方差矩阵是$\mathbf C$,那么模型是:

\begin{对齐} \mathrm{PCA:} &\:\:\: \mathbf C \approx \mathbf W \mathbf W^\top \\ \mathrm{PPCA:} &\:\:\: \mathbf C \approx \mathbf W \mathbf W^\top + \sigma^2 \mathbf I \\ \mathrm{FA:} &\:\:\: \mathbf C \approx \mathbf W \mathbf W^\top + \粗体符号 \Psi \end{对齐}

这里$\mathbf W$ 是一个有$k$ 列的矩阵(其中$k$ 通常选择一个小数,$k<n$),代表$k$ 个主成分或因子,$\mathbf I$ 是单位矩阵,$\boldsymbol \Psi$ 是对角矩阵。每种方法都可以表述为找到$\mathbf W$(和其余的)最小化左侧和右侧之间的[范数]差异。

PPCA 代表概率 PCA,如果你不知道那是什么,那么现在它并不重要。我想提一下,因为它非常适合 PCA 和 FA,具有中等模型复杂性。它还使 PCA 和 FA 之间所谓的巨大差异成为现实:尽管它是一个概率模型(与 FA 完全一样),但它实际上几乎等同于 PCA($\mathbf W$ 跨越相同的子空间)。

最重要的是,请注意模型仅在处理 $\mathbf C$ 的对角线的方式上有所不同。随着维数 $n$ 的增加,对角线变得越来越不重要(因为对角线上只有 $n$ 个元素并且 $n(n-1)/2 = \mathcal O (n^2)$对角线以外的元素)。因此,对于较大的 $n$,PCA 和 FA 之间通常没有太大的区别,这种观察很少受到重视。对于小的 $n$,它们确实可以有很大的不同。

现在回答您的主要问题,即为什么某些学科的人似乎更喜欢 PCA。我想这归结为这样一个事实,即它在数学上比 FA 容易得多(这从上面的公式中并不明显,所以你必须在这里相信我):

  1. PCA——以及只是略有不同的 PPCA——有一个解析解,而 FA 没有。因此 FA 需要在数值上进行拟合,存在各种算法来执行它,给出可能不同的答案并在不同的假设下运行等。在某些情况下,某些算法可能会卡住(例如,参见“heywood 案例”)。对于 PCA,您执行特征分解并完成;FA更混乱。

    从技术上讲,PCA 只是旋转变量,这就是为什么人们可以将其称为单纯的转换,正如@NickCox 在他上面的评论中所做的那样。

  2. PCA 解决方案不依赖于 $k$:您可以找到前三台 PC ($k=3$),其中前两台将与您最初设置 $k=2$ 时找到的相同。这对于 FA 来说不是这样:$k=2$ 的解决方案不一定包含在 $k=3$ 的解决方案中。这是违反直觉且令人困惑的。

当然 FA 是比 PCA 更灵活的模型(毕竟它有更多的参数)并且通常可以更有用。我并不反对这一点。反对的是,声称它们在概念上非常不同,PCA 是关于“描述数据”,而 FA 是关于“发现潜在变量” 我只是根本不认为这是真的[几乎]。

要评论上面和链接答案中提到的一些具体点:

  • “在 PCA 中提取/保留的维度数量基本上是主观的,而在 EFA 中,数量是固定的,您通常必须检查几个解决方案” ——好吧,解决方案的选择仍然是主观的,所以我不在这里查看任何概念上的差异。在这两种情况下,(主观或客观地)选择$k$以优化模型拟合和模型复杂性之间的权衡。

  • “FA 能够解释成对相关性(协方差)。PCA 通常无法做到这一点” ——并非如此,随着 $k$ 的增长,它们都越来越好地解释了相关性。

  • 由于使用 PCA 和 FA 的学科的不同实践,有时会出现额外的混乱(但不是在@ttnphns 的答案中!) 。例如,在 FA 中轮换因子以提高可解释性是一种常见的做法。在 PCA 之后很少这样做,但原则上没有什么可以阻止它。所以人们通常倾向于认为 FA 给了你一些“可解释的”东西,而 PCA 没有,但这通常是一种错觉。

最后,让我再次强调一下,对于非常小的 $n$,PCA 和 FA 之间的差异确实可能很大,并且可能一些支持 FA 的主张是在考虑到小的 $n$ 的情况下完成的。作为一个极端的例子,对于 $n=2$,一个单一的因素总是可以完美地解释相关性,但一台 PC 可能无法做到这一点。


更新 1:数据的生成模型

从评论的数量可以看出,我所说的被认为是有争议的。冒着进一步淹没评论部分的风险,这里有一些关于“模型”的评论(参见@ttnphns 和@gung 的评论)。@ttnphns 不喜欢我使用[协方差矩阵] 的“模型”一词来指代上述近似值;这是一个术语问题,但他所说的“模型”是数据的概率/生成模型:

\begin{对齐} \mathrm{PPCA}: &\:\:\: \mathbf x = \mathbf W \mathbf z + \boldsymbol \mu + \boldsymbol \epsilon, \; \boldsymbol \epsilon \sim \mathcal N(0, \sigma^2 \mathbf I) \\ \mathrm{FA}: &\:\:\: \mathbf x = \mathbf W \mathbf z + \boldsymbol \mu + \boldsymbol \epsilon, \; \boldsymbol \epsilon \sim \mathcal N(0, \boldsymbol \Psi) \end{对齐}

请注意,PCA 不是概率模型,不能以这种方式制定。

PPCA 和 FA 之间的区别在于噪声项:PPCA 假设每个变量的噪声方差 $\sigma^2$ 相同,而 FA 假设不同的方差 $\Psi_{ii}$(“唯一性”)。这种微小的差异具有重要的后果。两种模型都可以拟合一般的期望最大化算法。对于 FA,没有已知的解析解,但对于 PPCA,可以解析得出 EM 将收敛到的解($\sigma^2$ 和 $\mathbf W$)。结果表明,$\mathbf W_\mathrm{PPCA}$ 具有相同方向的列,但长度小于标准 PCA 载荷 $\mathbf W_\mathrm{PCA}$(我省略了确切的公式)。出于这个原因,我将 PPCA 视为“几乎”PCA:在这两种情况下,$\mathbf W$ 跨越相同的“主要子空间”。

证明(Tipping and Bishop 1999)有点技术性;为什么均匀噪声方差导致更简单的解决方案的直观原因是 $\mathbf C - \sigma^2 \mathbf I$ 对于任何 $\sigma^2$ 值具有与 $\mathbf C$ 相同的特征向量,但对于 $\mathbf C - \boldsymbol \Psi$ 则不是这样。

所以是的,@gung 和@ttnphns 是正确的,因为 FA 基于生成模型而 PCA 不是,但我认为重要的是要补充一点,PPCA 也基于生成模型,但“几乎”等同于 PCA . 然后它似乎不再是一个如此重要的区别。


更新 2:PCA 为何能提供协方差矩阵的最佳近似值,而众所周知,它是在寻找最大方差?

PCA 有两个等效公式:例如,第一个 PC 是 (a) 最大化投影方差的公式和 (b) 提供最小重建误差的公式。更抽象地说,使用Eckart-Young 定理可以看出最大化方差和最小化重建误差之间的等价性

如果 $\mathbf X$ 是数据矩阵(观察为行,变量为列,列被假定为居中),其 SVD 分解为 $\mathbf X=\mathbf U\mathbf S\mathbf V^\top $,那么众所周知,$\mathbf V$ 的列是散布矩阵(或协方差矩阵,如果除以观测数)的特征向量 $\mathbf C=\mathbf X^\top \mathbf X=\ mathbf V\mathbf S^2\mathbf V^\top$ 等它们是最大化方差的轴(即主轴)。但是根据 Eckart-Young 定理,第一个 $k$ PC 提供了 $\mathbf X$ 的最佳秩-$k$ 近似值:$\mathbf X_k=\mathbf U_k\mathbf S_k \mathbf V^\top_k$(这个符号意味着只取 $k$ 最大的奇异值/向量)最小化 $\|\mathbf X-\mathbf X_k\|^2$。

第一个$k$ PC 不仅提供了$\mathbf X$ 的最佳秩$k$ 近似,而且还提供了协方差矩阵$\mathbf C$。确实,$\mathbf C=\mathbf X^\top \mathbf X=\mathbf V\mathbf S^2\mathbf V^\top$,最后一个方程提供了 $\mathbf C$ 的 SVD 分解(因为\mathbf V$ 是正交的,$\mathbf S^2$ 是对角线)。因此,Eckert-Young 定理告诉我们,$\mathbf C$ 的最佳秩-$k$ 近似由 $\mathbf C_k = \mathbf V_k\mathbf S_k^2\mathbf V_k^\top$ 给出。这可以通过注意到 $\mathbf W = \mathbf V\mathbf S$ 是 PCA 载荷来转换,因此 $$\mathbf C_k=\mathbf V_k\mathbf S_k^2\mathbf V^\top_k=(\mathbf V \mathbf S)_k(\mathbf V\mathbf S)_k^\top=\mathbf W_k\mathbf W^\top_k.$$

这里的底线是 $$ \mathrm{minimizing} \; \left\{\begin{array}{ll} \|\mathbf C-\mathbf W\mathbf W^\top\|^2 \\ \|\mathbf C-\mathbf W\mathbf W^\top-\ sigma^2\mathbf I\|^2 \\ \|\mathbf C-\mathbf W\mathbf W^\top-\boldsymbol\Psi\|^2\end{array}\right\} \; \mathrm{导致 \: 到} \; \left\{\begin{array}{cc} \mathrm{PCA}\\ \mathrm{PPCA} \\ \mathrm{FA} \end{array}\right\} \; \mathrm{loadings},$$ 如开头所述。


更新 3:当 $n \to \infty$ 时,PCA$\to$FA 的数值演示

@ttnphns 鼓励我提供一个数值证明我的主张,即随着维度的增长,PCA 解决方案接近 FA 解决方案。就这样吧。

我生成了一个 $200\times 200$ 的随机相关矩阵具有一些强的非对角相关性。然后我用 $n=25, 50, \dots 200$ 变量取这个矩阵的左上角 $n\times n$ 方块 $\mathbf C$ 来研究维度的影响。对于每个 $n$,我执行 PCA 和 FA,组件/因子的数量为 $k=1\dots 5$,并且对于每个 $k$,我计算了非对角线重建误差 $$\sum_{i\ne j} \left[\mathbf C - \mathbf W \mathbf W^\top\right]^2_{ij}$$(注意在对角线上,FA 完美地重构了 $\mathbf C$,因为 $\boldsymbol \Psi $ term,而 PCA 没有;但这里忽略了对角线)。然后对于每个 $n$ 和 $k$,我计算了 PCA 非对角误差与 FA 非对角误差的比率。这个比率必须高于 1 美元,因为 FA 提供了最好的重建。

PCA 与 FA 非对角重建误差

在右边,不同的线对应不同的$k$值,$n$显示在横轴上。请注意,随着 $n$ 的增长,比率(对于所有 $k$)接近 $1$,这意味着 PCA 和 FA 产生的载荷大致相同,PCA$\约$FA。对于相对较小的$n$,例如当$n=25$ 时,PCA 的表现[预期] 更差,但是对于较小的$k$,差异并不那么明显,即使对于$k=5$,该比率也低于$1.2$。

当因子 $k$ 的数量与变量 $n$ 的数量相当时,该比率可能会变大。在上面给出的示例中,$n=2$ 和 $k=1$,FA 实现了 $0$ 的重建误差,而 PCA 没有,即比率将是无限的。但回到最初的问题,当 $n=21$ 和 $k=3$ 时,PCA 在解释 $\mathbf C$ 的非对角线部分时只会适度输给 FA。

有关应用于真实数据集($n=13$ 的葡萄酒数据集)的 PCA 和 FA 示例,请参阅我的答案:

如您所说,您熟悉相关答案So, as long as "Factor analysis..."+最后几段;和下面的列表简而言之,PCA 主要是一种数据缩减技术,而 FA 是一种潜在特征建模技术。有时他们碰巧给出了相似的结果;但在你的情况下——因为你可能觉得像真实实体一样构建/验证潜在特征——使用 FA 会更诚实,你不应该更喜欢 PCA,希望它们的结果会收敛。另一方面,每当您打算总结/简化数据时——例如,用于后续分析——您会更喜欢 PCA,因为它不会对数据强加任何强大的模型(这可能是不相关的)。

以另一种方式重申,如果您愿意, PCA 为您提供可能对应于一些主观上有意义的构造的维度,而EFA则认为这些甚至是实际生成数据的隐蔽特征,它旨在找到这些特征。在 FA 中,维度(因子)的解释尚待解决 - 无论您是否可以将含义附加到潜在变量,它“存在”(FA 是本质主义的),否则您应该将其从模型中删除或获取更多数据来支持它。在 PCA 中,维度的含义是可选的。

再次换句话说:当您提取m 因素(从误差中分离因素)时,这几个因素解释了(几乎)变量之间的所有相关性,因此变量无论如何都没有通过误差进行关联的空间。因此,只要“因素”被定义为产生/绑定相关数据的潜在特征,你就有完整的线索来解释这一点——是什么导致了相关性。在 PCA 中(像“因子”一样提取组件),错误(可能)仍然在变量之间相关;所以你不能声称你已经提取了足够干净和详尽的东西来以这种方式解释。

您可能想在当前讨论中阅读我的另一个更长的答案,以了解有关 PCA 是否是FA的可行替代品的一些理论和模拟实验细节。还请注意@amoeba 在此线程上给出的出色答案。


Upd:在他们对这个问题的回答中,反对者@amoeba 介绍了一种(不为人知的)技术 PPCA,它位于 PCA 和 FA 之间。这自然引发了 PCA 和 FA 是一脉相承的逻辑。这种有价值的方法扩展了一个人的理论视野。但它可以掩盖关于 FA 用几个因素重建(解释)所有成对协方差的重要实际差异,而 PCA 不能成功地做到这一点(而且偶尔会这样做 - 那是因为它发生在 mime FA 中)。

在这个我的答案中(我的另一个答案是第二个和另外一个,我将尝试在图片中显示PCA不能很好地恢复协方差(而它可以最佳地恢复 - 最大化 - 方差)。

正如我对 PCA 或因子分析的许多回答一样,我将转向主题空间中变量的向量表示。在这种情况下,它只是一个显示变量及其组件负载的负载图。所以我们得到了$X_1$$X_2$变量(我们在数据集中只有两个),$F$它们的第一个主成分,带有负载$a_1$$a_2$变量之间的角度也被标记。变量初步居中,因此它们的平方长度$h_1^2$$h_2^2$是它们各自的方差。

在此处输入图像描述

$X_1$$X_2$之间的协方差是 - 这是它们的标量积 - $h_1 h_2 cos \phi$(顺便说一下,这个余弦是相关值)。当然,PCA 的加载通过$a_1^2+a_2^2$(分量$F$的方差)捕获总体方差$h_1^2+h_2^2$的最大可能值。

现在,协方差$h_1 h_2 cos \phi = g_1 h_2$,其中$g_1$是变量$X_1$在变量$X_2$上的投影(投影是第一个到第二个的回归预测)。因此,协方差的大小可以由下面的矩形区域(边为 $g_1$$h_2$)呈现。

在此处输入图像描述

根据所谓的“因子定理”(可能知道您是否阅读过因子分析的内容),变量之间的协方差应该(如果不精确的话)通过提取的潜在变量的载荷相乘来重现(阅读)。也就是说,在我们的特定情况下,通过$a_1 a_2$(如果将主成分识别为我们的潜在变量)。再现协方差的值可以由边为 $a_1$$a_2$的矩形区域呈现。让我们绘制与前一个矩形对齐的矩形,以进行比较。该矩形如下所示,其区域被昵称为cov*(复制cov)。

在此处输入图像描述

很明显,这两个区域非常不同,在我们的示例中cov*相当大。第一个主成分$F$的负载高估了协方差。这与可能期望 PCA 仅通过两个可能的第一个分量将恢复观察到的协方差值的人相反。

我们可以用我们的情节做些什么来加强繁殖?例如,我们可以将$F$光束顺时针旋转一点,直到它与$X_2$重叠。当它们的线重合时,这意味着我们强制$X_2$成为我们的潜在变量。然后加载$a_2$$X_2$的投影)将是$h_2$,加载$a_1$$X_1$的投影)将是$g_1$然后两个矩形是相同的 - 标记为cov的一个,因此协方差被完美地再现。然而,$g_1^2 + h_2^2$,新的“潜在变量”解释的方差小于$a_1^2 + a_2^2$,旧的潜在变量解释的方差,第一个主成分(正方形和堆叠两个矩形中的每一个的边在图片上,进行比较)。看来我们设法重现了协方差,但以解释方差量为代价。即通过选择另一个潜在轴而不是第一个主成分。

我们的想象或猜测可能表明(我不会也可能无法通过数学证明,我不是数学家)如果我们从$X_1$$X_2$定义的空间中释放潜轴,平面,允许它向我们摆动一点,我们可以找到它的一些最佳位置 - 比如说,称之为$F^*$ - 由此协方差再次被紧急载荷($a_1^* a_2^*$)完美再现,而解释的方差($a_1^{*2} + a_2^{*2}$)将大于$g_1^2 + h_2^2$,尽管不如$a_1^2 + a_2^2$大主成分$F$

我相信这种情况可以实现的,特别是在这种情况下,当潜在轴$F^*$被拉出平面以拉动两个派生正交平面的“罩”时,一个包含轴和$X_1$和另一个包含轴和$X_2$那么这个潜在的轴我们称之为共同因子,我们整个“原创性的尝试”将被命名为因子分析


##A 回复@amoeba 关于 PCA 的“更新 2”。

@amoeba 是正确的并且与召回 Eckart-Young 定理相关,该定理是 PCA 及其基于 SVD 或特征分解的同类技术(PCoA、双图、对应分析)的基础。据此,$\bf X$的$k$第一主轴最优地最小化$\bf ||X-X_k||^2$ - 一个等于$\bf tr(X'X)-tr(X_k' X_k)$ , - 以及$\bf ||X'X-X_k'X_k||^2$这里$\bf X_k$代表由$k$主轴再现的数据。$\bf X_k'X_k$已知等于$\bf W_k W_k'$,其中$ \bf W_k $$k$组件。

如果我们只考虑两个对称矩阵的非对角线部分,这是否意味着最小化$\bf ||X'X-X_k'X_k||^2$仍然成立?让我们通过实验来检查它。

生成了500 个随机10x6矩阵$\bf X$(均匀分布)。对于每一个,在将其列居中后,执行 PCA,并计算两个重建的数据矩阵$\bf X_k$:一个由组件 1 到 3 重建(首先是$k​​$,与 PCA 中的通常一样),另一个由组件 1、2 和 4(即组件 3 被较弱的组件 4 取代)。然后为一个$\bf X_k$和另一个$\bf X_k$计算重建误差$\bf ||X'X-X_k'X_k||^2$(平方差之和 = 平方欧几里得距离)这两个值是一对显示在散点图上。

重建误差每次都在两个版本中计算: (a) 比较整个矩阵$\bf X'X$$\bf X_k'X_k$(b) 仅比较两个矩阵的非对角线。因此,我们有两个散点图,每个散点图有 500 个点。

在此处输入图像描述

我们看到,在“整个矩阵”图上,所有点都y=x在线上。这意味着“1 到 3 个分量”对整个标量积矩阵的重建总是比“1、2、4 个分量”更准确。这符合 Eckart-Young 定理所说的:第一个 $k$主成分是最好的拟合器。

但是,当我们查看“仅非对角线”图时,我们会注意到y=x线下方的许多点。似乎有时用“1 到 3 个组件”重建非对角线部分比用“1、2、4 个组件”重建更差。这会自动得出这样的结论:在 PCA 可用的拟合器中,第一个$k$主成分通常不是非对角标量积的最佳拟合器。例如,采用较弱的组件而不是较强的组件有时可能会改善重建。

因此,即使在PCA本身的领域中,高级主成分——正如我们所知,它们确实近似整体方差,甚至整个协方差矩阵——也不一定近似非对角协方差因此,需要对这些进行更好的优化;我们知道因子分析是可以提供它的(或其中的)技术。


##@amoeba 的“更新 3”的后续行动:随着变量数量的增加,PCA 是否接近 FA?PCA 是 FA 的有效替代品吗?

我进行了一系列模拟研究。一些人口因子结构,加载矩阵$\bf A$由随机数构成,并转换为相应的人口协方差矩阵$\bf R=AA'+ U^2$,其中$\bf U^2$是对角线噪声(唯一方差)。这些协方差矩阵的所有方差均为 1,因此它们等于它们的相关矩阵。

设计了两种类型的因子结构——尖锐的分散的。夏普结构是一种具有明显简单结构的结构:载荷是“高”或“低”,没有中间;并且(在我的设计中)每个变量都被一个因素高度加载。因此,相应的$\bf R$明显是块状的。漫反射结构不区分高负载和低负载:它们可以是范围内的任何随机值;并且没有设想加载中的模式。因此,相应的$\bf R$变得更平滑。人口矩阵的例子:

在此处输入图像描述

因素的数量是$2$$6$变量的数量由比率k = 每个因素的变量数量决定k 在研究中运行价值$4,7,10,13,16$

对于少数构建的总体$\bf R$中的每一个,生成了来自 Wishart 分布(在样本大小下)的随机实现$50$n=200这些是样本协方差矩阵。每个都通过FA(通过主轴提取)和PCA进行因子分析此外,每个这样的协方差矩阵都被转换为相应的样本相关矩阵,该矩阵也以相同的方式进行因子分析(分解)。最后,我还对“父”、总体协方差(=相关)矩阵本身进行了分解。Kaiser-Meyer-Olkin 对抽样充分性的测量始终高于 0.7。

对于具有 2 个因素的数据,分析提取了 2 个因素,以及 1 个因素和 3 个因素(“低估”和“高估”因素的正确数量)。对于具有 6 个因素的数据,分析同样提取了 6 个、4 个和 8 个因素。

该研究的目的是 FA 与 PCA 的协方差/相关恢复质量。因此获得了非对角元素的残差。我记录了再现元素和总体矩阵元素之间的残差,以及前者和分析的样本矩阵元素之间的残差。第一种残差在概念上更有趣。

对样本协方差和样本相关矩阵进行分析后获得的结果存在一定差异,但所有主要发现似乎都相似。因此,我只讨论(显示结果)“相关模式”分析。

###1。PCA 与 FA 的整体非对角线拟合

下图针对不同数量的因子和不同的 k 绘制了 PCA 中产生的非对角线残差的均方与 FA 中产生的相同数量的比率这类似于 @amoeba 在“更新 3”中显示的内容。图上的线条代表 50 次模拟的平均趋势(我省略了在它们上显示标准误差条)。

(注意:结果是关于随机样本相关矩阵的因式分解,而不是对它们的亲代人口矩阵进行因式分解:将 PCA 与 FA 进行比较以了解它们对总体矩阵的解释程度是愚蠢的 - FA 总是会获胜,如果提取了正确数量的因子,其残差几乎为零,因此该比率将趋向无穷大。)

在此处输入图像描述

评论这些情节:

  • 一般趋势:随着 k(每个因子的变量数)的增长,PCA/FA 的整体子拟合比逐渐趋于 1。也就是说,在解释非对角线相关性/协方差时,PCA 的变量越多越接近 FA。(由@amoeba 在他的回答中记录。)据推测,近似曲线的定律是 ratio= exp(b0 + b1/k) 其中 b0 接近 0。
  • 比率大于 wrt 残差“样本减去再现样本”(左图)大于 wrt 残差“人口减去再现样本”(右图)。也就是说(通常),PCA 在拟合立即分析的矩阵方面不如 FA。但是,左侧图上的线具有更快的下降速度,因此在 k=16 时,该比率也低于 2,就像在右侧图上一样。
  • 对于残差“人口减去复制样本”,趋势并不总是凸的甚至是单调的(不寻常的肘部显示为圆圈)。因此,只要语音是关于通过分解样本来解释系数的总体矩阵,增加变量数量并不会经常使 PCA 在其拟合质量上更接近 FA,尽管趋势是存在的。
  • 人口中 m = 2 个因素的比率大于 m = 6 个因素的比率(粗体红线在粗体绿线下方)。这意味着在数据中起作用的因素越多,PCA 越快赶上 FA。例如,在右侧图上,6 个因素的 k=4 收益率约为 1.7,而在 k=7 时,2 个因素的收益率相同。
  • 如果我们提取相对于真实因子数量的更多因子,则比率会更高。也就是说,如果在提取时我们低估了因子的数量,PCA 仅比 FA 更适合;如果因素的数量是正确的或被高估(比较细线和粗线),它会损失更多。
  • 因子结构的清晰度有一个有趣的影响,只有当我们考虑残差“人口减去复制样本”时才会出现这种影响:比较右侧的灰色和黄色图。如果人口因子分散加载变量,则红线(m=6 个因子)会下降到底部。也就是说,在弥散结构(例如混沌数的加载)中,PCA(在样本上执行)在重建总体相关性方面仅比 FA 差一点——即使在小 k 下,前提是总体中的因子数量不是很小。这可能是 PCA 最接近 FA 并且最有必要作为其更便宜的替代品的情况。而在存在尖锐因子结构的情况下,PCA 在重建总体相关性(或协方差)方面并不那么乐观:它仅在大 k 视角下接近 FA。

###2。PCA 与 FA 的元素级拟合:残差分布

对于从总体矩阵中对 50 个随机样本矩阵进行因子分解(通过 PCA 或 FA)进行的每个模拟实验,对于每个非对角相关元素,都获得了残差分布“总体相关性减去再现(通过因子分解)样本的相关性” 。分布遵循清晰的模式,典型分布的示例如下所示。PCA分解后的结果是蓝色左侧,FA分解后的结果是绿色右侧。

在此处输入图像描述

主要发现是

  • 从绝对量级来看,PCA 无法充分恢复总体相关性:再现的值被高估了量级。
  • 但是随着k(变量数与因子数之比)的增加,偏差消失了。在图片中,当每个因子只有 k=4 个变量时,PCA 的残差从 0 开始偏移。这在存在 2 个因子和 6 个因子时都可以看到。但是在 k=16 的情况下,几乎看不到偏移——它几乎消失了,PCA 拟合接近 FA 拟合。没有观察到 PCA 和 FA 之间残差的分布(方差)差异。

当提取的因子数量与真实因子数量不匹配时,也可以看到类似的情况:只有残差的方差有所变化。

上面显示的灰色背景分布与总体中存在尖锐(简单)因子结构的实验有关。当所有的分析都在人口因子结构扩散的情况下进行时,发现PCA的偏差不仅随着k的增加而逐渐消失,而且随着m(因子个数)的增加而逐渐消失。请参阅“6 个因素,k=4”列的按比例缩小的黄色背景附件:对于 PCA 结果,几乎没有观察到从 0 的偏移量(偏移量在 m=2 时仍然存在,图中未显示)。

认为所描述的发现很重要,我决定更深入地检查这些残差分布,并绘制残差(Y 轴)与元素(总体相关)值(X 轴)的散点图这些散点图每个都结合了所有许多 (50) 模拟/分析的结果。LOESS 拟合线(使用 50% 的局部点,Epanechnikov 内核)被突出显示。第一组图是针对总体中因子结构尖锐的情况(因此相关值的三峰性很明显):

在此处输入图像描述

评论:

  • 我们清楚地看到(如上所述)重建偏差,这是 PCA 的特征,作为偏斜的负趋势黄土线:样本数据集的 PCA 高估了绝对值大的总体相关性。FA 是无偏的(水平黄土)。
  • 随着 k 的增长,PCA 的偏差减小。
  • 无论总体中有多少因素,PCA 都是有偏差的:存在 6 个因素(在分析时提取了 6 个),它与存在 2 个因素(提取了 2 个)类似地有缺陷。

下面的第二组图是针对总体中的扩散因子结构的情况:

在此处输入图像描述

我们再次观察到 PCA 的偏差。然而,与尖锐的因子结构情况相反,随着因子数量的增加,偏差会逐渐消失:在 6 个总体因子的情况下,即使在 k 仅 4 的情况下,PCA 的黄土线距离水平也不是很远。这就是我们用“黄色直方图”之前。

两组散点图上的一个有趣现象是 PCA 的黄土线是 S 曲线的。这个曲率显示在我随机构建的其他人口因子结构(载荷)下(我检查过),尽管它的程度不同并且通常很弱。如果遵循 S 形,那么 PCA 开始迅速扭曲相关性,因为它们从 0 反弹(尤其是在小 k 下),但从某个值开始 - 大约 0.30 或 0.40 - 它会稳定下来。我现在不会推测这种行为的可能原因,尽管我相信“正弦曲线”源于相关的三角函数性质。

###Fit by PCA vs FA:结论

作为相关/协方差矩阵的非对角部分的整体拟合器,PCA - 当应用于分析来自总体的样本矩阵时 - 可以很好地替代因子分析。当变量数/预期因子数的比率足够大时,就会发生这种情况。(该比率有益效果的几何原因在底部脚注$^1$中进行了解释。)存在更多因素时,该比率可能小于只有少数因素的比率。尖锐因子结构(总体中存在简单结构)的存在阻碍了 PCA 接近 FA 的质量。

尖锐的因子结构对 PCA 整体拟合能力的影响只有在考虑残差“总体减去复制样本”时才明显。因此,人们可能会错过在模拟研究设置之外识别它 - 在样本的观察研究中,我们无法访问这些重要的残差。

与因子分析不同,PCA 是远离零的总体相关性(或协方差)大小的(正)有偏估计量。然而,PCA 的偏差随着变量数/预期因子数的比率增加而降低。随着人口中因素数量的增加,偏差也会降低,但在存在尖锐的因素结构的情况下,后一种趋势受到阻碍。

我要说的是,在考虑残差“样本减去复制样本”时,也可以发现 PCA 拟合偏差和尖锐结构对其的影响;我只是省略了显示这些结果,因为它们似乎没有增加新的印象。

最后,我非常试探性的广泛建议可能是避免使用 PCA 而不是 FA 来进行典型的(即总体中预期有 10 个或更少的因子)因子分析目的,除非你的变量比因子多 10 倍以上。因素越少,必要比率就越严重。我进一步不建议在分析具有完善的、清晰的因子结构的数据时使用 PCA 代替 FA -例如,当进行因子分析以验证正在开发或已经启动的心理测试或带有明确结构/量表的问卷时. PCA 可用作心理测量工具的初始、初步选择项目的工具。

研究的局限性1)我只使用了因子提取的PAF方法。2)样本量是固定的(200)。3) 对样本矩阵进行抽样时假定正常总体。4) 对于清晰的结构,每个因素建模的变量数量相等。5) 构建人口因子载荷我从大致均匀的(对于尖锐的结构 - 三峰,即 3 片均匀)分布中借用它们。6) 当然,与任何地方一样,在这次即时检查中可能存在疏忽。


脚注 $1$PCA将模拟FA的结果并成为相关性的等效拟合器,当 - 如此所述- 模型的误差变量(称为独特因子)变得不相关时。FA试图使它们不相关,但 PCA 没有,它们可能恰好在 PCA 中不相关。可能发生的主要条件是每个公因子(保留为公因子的分量)的变量数量很大。

考虑以下图片(如果您需要先了解如何理解它们,请阅读此答案):

在此处输入图像描述

根据因子分析的要求,能够成功地恢复与少数m公因子的相关性,唯一因子$U$p ,表征显性变量$X$的统计独特部分,必须是不相关的。当使用 PCA 时,p $U$必须位于由$X$跨越的 -space的p-m子空间中,因为 PCA不会离开分析变量的空间。因此 - 见左图 - (主成分$P_1$是提取的因素)和$X_1$$X_2$)分析,独特的因素$U_1$pm=1p=2$U_2$强制叠加在剩余的第二个分量上(作为分析的错误)。因此,它们必须与$r=-1$相关联。(在图片上,相关性等于向量之间角度的余弦。)所需的正交性是不可能的,并且观察到的变量之间的相关性永远无法恢复(除非唯一因素是零向量,这是一个微不足道的情况)。

但是如果你再添加一个变量($X_3$),右图,并提取仍然一个 pr。分量作为公因数,三个$U$必须位于一个平面内(由剩余的两个 pr. 分量定义)。三个箭头可以跨越一个平面,它们之间的角度小于 180 度。出现了角度的自由。作为可能的特定情况,角度可以大约相等,120度。那已经离90度不远了,也就是离不相关。这是图片上显示的情况。

当我们添加第 4 个变量时,4 个$U$将跨越 3d 空间。用5、5来跨越4d等。很多角度同时达到接近90度的空间会扩大。这意味着PCA 在拟合相关矩阵的非对角三角形的能力方面接近 FA的空间也将扩大。

但是真正的 FA 通常即使在“变量数/因子数”的比率很小的情况下也能够恢复相关性,因为正如这里所解释的(并参见那里的第二张图片),因子分析允许所有因子向量(公共因子和唯一那些)偏离位于变量的空间中。因此,即使只有 2 个变量$X$和一个因子,也有$U$ s 的正交性的空间。

因子结构越分散(越不尖锐)——也就是说,因子载荷的分布越单峰甚至更均匀,——上述正交性越接近成为现实,实现;更好的是 PCA 执行 FA 的角色。

上面的图片也为 PCA高估相关性的原因提供了明显的线索。例如,在左图中,$r_{X_1X_2}= a_1a_2 - u_1u_2$,其中$a$是$X$$P_1$上的投影( $ P_1 $的加载)和$u$ s 是$U$的长度( $P_2$的加载)。但是仅由$P_1$重建的相关性仅等于$a_1a_2$,即大于$r_{X_1X_2}$

(这实际上是对@ttnphns 的第二个答案的评论)
至于假设 PC 和 FA 错误的协方差再现的不同类型,我只是打印了两个过程中发生的载荷/方差分量; 仅对于示例,我采用了 2 个变量。

我们假设将这两个项目构建为一个共同因素和项目特定因素。这是因子加载矩阵:

  L_fa: 
          f1       f2      f3         
  X1:   0.894    0.447     .             
  X1:   0.894     .       0.447              

由此产生的相关矩阵是

  C:
         X1       X2 
  X1:   1.000   0.800
  X2:   0.800   1.000

如果我们查看负载矩阵 L_fa 并像往常一样在 FA 中将其解释为 f2 和 f3 是错误术语/项目特定错误,我们在没有该错误的情况下重现 C,接收

 C1_Fa 
        X1       X2 
 X1:  0.800   0.800
 X2:  0.800   0.800

所以我们完美地再现了非对角元素,也就是协方差(并且对角线被缩小了)

如果我们查看 pca 解决方案(可以通过简单的旋转来完成),我们会从同一个相关矩阵中得到两个因子:

 L_pca : 
         f1        f2
 X1:   0.949      -0.316
 X2:   0.949       0.316

假设第二个因素为误差,我们得到协方差的再现矩阵

  C1_PC : 
        X1      X2
 X1:   0.900   0.900
 X2:   0.900   0.900

我们高估了真正的相关性。这是因为我们忽略了第二个因子 = 误差中的校正负偏协方差。请注意,PPCA 将与第一个示例相同。

有了更多的项目,这不再那么明显,但仍然是一种内在的影响。因此还有MinRes-extraction(或-rotation?)的概念,我还看到了诸如最大行列式提取和......


[更新] 至于@amoeba 的问题:

我将“最小残差”(“MinRes”)旋转的概念理解为与早期 CFA 计算方法一致的方法,以实现相关矩阵非对角线元素的最佳再现。我在 80 年代 / 90 年代学到了这一点,并没有跟随因子分析的发展(最近几年像以前一样深入),所以“MinRes”可能已经过时了。

将其与PCA 解决方案进行比较:当因子被认为是欧几里得空间中的轴并且载荷是该向量空间中项目的坐标时,可以考虑通过旋转因子来找到 pc 解决方案。
然后对于一对轴,比如 x,y,计算 x 轴和 y 轴载荷的平方和。从中可以找到一个旋转角度,我们应该旋转该角度,以获得旋转轴上
的平方和,在 x° 上最大,在 y° 轴上最小(小圆圈表示旋转轴) .

对所有轴对执行此操作(其中只有 x 轴始终是左侧,y 轴是右侧(因此对于 4 个因素,我们只有 6 对旋转)),然后重复整个过程以获得稳定的结果实现了用于寻找主成分解的所谓“Jacobi 方法”:它将定位第一个轴,以便收集最大可能的载荷平方和 (“SSqL”)(这也意味着“方差") 在当前相关配置中的一个轴上。

据我了解,“ MinRes ”应该着眼于偏相关而不是 SSqL;所以它不会总结载荷的平方(如 Jacobi-pc-rotation 中所做的那样),而是总结每个因子中载荷的叉积 - 除了每个因子的载荷的“叉积”(=平方)项目本身。
在计算 x 轴和 y 轴的标准之后,它会以与迭代雅可比旋转相同的方式进行。

由于旋转标准在数值上与最大 SSqL 标准不同,因此结果/旋转位置应与 PCA 解决方案不同。如果它收敛,它应该在第一个因子的一个轴上提供最大可能的偏相关,在下一个因子上提供下一个最大相关,依此类推。这个想法似乎是,然后假设如此多的轴/因子使得剩余/剩余部分协方差变得边缘化。

(请注意,这只是我解释事物的方式,我没有看到明确写出该过程(或目前不记得);mathworld的描述似乎是用变形虫答案中的公式来表达它)并且是可能更权威。刚刚在R-project 文档中找到了另一个参考资料,并且在 Gorsuch 关于因子分析的书(第 116 页,可通过 google-books获得)中可能非常好的参考资料)