是否有充分的理由使用PCA代替EFA?另外,PCA可以代替因子分析吗?


73

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

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

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


1
好问题。我倾向于不同意ttnphns的回答,并会在今天晚些时候尝试提供另一种观点。
变形虫

5
@amoeba我提前为您加油。PCA只是一种转换技术,可能(有时非常)有用。无需将其妖魔化或归因于其虚假或不适当的意图。您不妨对数取对数。
尼克·考克斯

4
ttnphns的答案似乎并没有妖魔化PCA。在我看来,他似乎只是在争论PCA并不是基于潜在变量生成数据的假设,因此,如果您要这样做,FA是一个更好的选择。
gung

1
FWIW,我并不是在对ttphns的答案进行特别评论,但是在评论和批评时,我经常会遇到这样的指控,即PCA不会做它从未打算或不适合做的事情。
尼克·考克斯

3
@NeilG:PCA 不是一个[概率]生成模型,因为它不包含噪声项,因此没有与之相关的可能性。虽然有一个概率概括(PPCA),但它与PCA密切相关,请在此处查看我的答案。
变形虫

Answers:


95

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


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

像这样看:两种方法都尝试提供给定协方差(或相关)矩阵的低秩近似。“低等级”表示仅使用了有限(低)数量的潜在因子或主要成分。如果数据的协方差矩阵为C,则模型为:n×nC

PCA:CWWPPCA:CWW+σ2IFA:CWW+Ψ

这里是一个有列的矩阵(其中通常选择为一个小数,),表示主成分或因子,是一个单位矩阵,是一个对角线矩阵。每种方法都可以表述为:找到(及其余),以最小化左右手之间的差异的范数。 ķ ķ ķ < Ñ ķ Ψ w ^Wkkk<nkIΨW

PPCA代表概率PCA,如果您不知道那是什么,那么现在就无关紧要了。我想提一下它,因为它恰好适合PCA和FA,具有中等的模型复杂性。这也使人们认为PCA和FA之间的巨大差异:尽管它是一个概率模型(与FA完全一样),但实际上却几乎等同于PCA(跨越相同的子空间)。W

最重要的是,请注意,这些模型仅在处理对角线的方式上有所不同。随着维数增加,对角线变得越来越不重要(因为对角线上只有元素,对角线之外只有元素)。结果,对于大的,PCA和FA之间通常根本没有太大的差异,这种观察很少受到重视。对于很小的它们的确可以相差很大。 n n n n 1 / 2 = On 2n nCnnn(n1)/2=O(n2)nn

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

  1. PCA以及PPCA(仅稍有不同)都具有分析解决方案,而FA则没有。因此,FA需要在数值上拟合,存在各种算法,给出可能的答案以及在不同的假设下进行操作等。在某些情况下,某些算法可能会卡住(例如,参见“ Heywood案例”)。对于PCA,您执行本征分解,然后完成;FA更加混乱。

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

  2. PCA解决方案不依赖于:您可以找到前三台PC(k = 3),而其中的前两台将与最初设置k = 2时发现的PC 相同。对于FA而言并非如此:k = 2的解不一定包含在k = 3的解内。这是违反直觉和令人困惑的。kk=3k=2k=2k=3

当然,FA比PCA更灵活(毕竟,它具有更多参数),并且通常更有用。我并不反对这一点。我感到在反对,是要求他们在概念上与PCA约为“描述数据”和FA是关于“寻找潜在变数”很大的不同。我只是一点也不认为这是真的。

要评论上面提到的以及链接的答案中的某些特定要点:

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

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

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

最后,让我再次强调,对于很小的,PCA和FA之间的差异确实很大,也许支持FA的某些主张是在考虑小的n的情况下完成的。举一个极端的例子,对于n = 2,单个因素总能很好地解释这种相关性,但是一台PC可能做得不好。nnn=2


更新1:数据生成模型

从评论的数量中可以看出,我所说的是有争议的。冒充更多评论部分的风险,这里有一些有关“模型”的评论(请参阅@ttnphns和@gung的评论)。@ttnphns不喜欢我使用[协方差矩阵的] “模型”一词来指代上面的近似值;这是术语的问题,但他所谓的“模型”是概率/生成模型中的数据

PPCA:x=Wz+μ+ϵ,ϵN(0,σ2I)FA:x=Wz+μ+ϵ,ϵN(0,Ψ)

请注意,PCA并非概率模型,因此无法以这种方式制定。

PPCA和FA之间的差别是在噪声项:PPCA呈现相同的噪声方差为每个变量,而FA假定不同的方差Ψ (“独特性”)。这种微小的差异会产生重要的后果。两种模型都可以使用一般期望最大化算法进行拟合。对于FA没有解析解是已知的,但是对于一个PPCA可以通过分析推导出EM将收敛到(两者溶液σ 2w ^)。事实证明,W P P C A具有相同方向的列,但长度小于标准PCA加载W P C Aσ2Ψiiσ2WWPPCAWPCA(我省略了确切的公式)。因此,我将PPCA视为“几乎” PCA:在两种情况下,都跨越相同的“主要子空间”。W

证明(Tipping and Bishop 1999)有点技术性。直观的原因,为什么均匀噪声方差导致了一个更简单的解决方案是,有相同的特征向量作为Ç为任意值σ 2,但这不是真实Ç - ΨCσ2ICσ2CΨ

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


更新2:当众所周知的PCA正在寻找最大方差时,PCA如何为协方差矩阵提供最佳近似?

PCA具有两种等效公式:例如,第一台PC是(a)最大化投影方差的PC,以及(b)提供最小重建误差的PCA。更抽象地,使用Eckart-Young定理可以看到方差最大化与重构误差最小化之间的等价关系。

如果是数据矩阵(与观测为行,变量为列,并假定列居中)和它的SVD分解是X = û 小号V,则公知的是列V是散射的特征向量矩阵(或协方差矩阵,如果由观测值的数目除以)C ^ = XX = V 小号 2 V和因此它们的轴线最大化方差(即主轴)。但是根据Eckart-Young定理,前k个 PC提供了对X的最佳k近似值:XX=USVVC=XX=VS2VkkXXk=UkSkVkkXXk2

前 PC不仅提供的最佳秩近似,而且还提供协方差矩阵的最佳近似。实际上,,最后一个等式提供了的SVD分解(因为是正交的和是对角线)。因此,Eckert-Young定理告诉我们,的最佳秩近似值由。可以注意到ķ X C ^ C ^ = XX = V 小号 2 Vç V 小号 2 ķ ç ç ķ = V ķ 小号2 ķ V ķ W¯¯ = V 小号Ç ķ = V ķ 小号2 ķ V ķ = V 小号ķV 小号ķ = w ^kkXCC=XX=VS2VCVS2kCCk=VkSk2VkW=VS是PCA负载,因此

Ck=VkSk2Vk=(VS)k(VS)k=WkWk.

底线是 如开头所述。

minimizing{CWW2CWWσ2I2CWWΨ2}leadsto{PCAPPCAFA}loadings,

更新3:数值模拟表明PCA FA FAn n

@ttnphns令我感到鼓舞,以数字方式证明了我的观点,即随着维数的增长,PCA解决方案接近FA解决方案。来了

我生成了 ×随机相关矩阵,其中包含一些强的非对角线相关性。然后我把左上方块该矩阵的与的变量进行调查的维度的效果。对于每个,我使用分量/因子进行PCA和FA ,对于每个我计算了非对角线重构误差(请注意,由于,FA 完美地重构了Ñ × Ñ Ç Ñ = 25 50 ... 200 Ñ ķ = 1 ... 5 ķ Σ Ĵ [ Ç - w ^ w ^] 2 Ĵ ç Ψ Ñ ķ 1200×200 n×nCn=25,50,200nk=15k

ij[CWW]ij2
CΨ术语,而PCA则不;但对角线在此忽略)。然后,对于每个和,我计算PCA偏离对角误差与FA偏离对角误差的比率。该比率必须大于,因为FA提供了最佳的重建效果。nk1

PCA vs FA非对角线重建误差

在右侧,不同的线对应于不同值,并且表示在水平轴上。请注意,随着增加,比率(对于所有)接近,这意味着PCA和FA产生大约相同的载荷,PCA FA。在相对较小的情况下(例如,当,PCA的性能[预期]较差,但是对于小,差异并不那么大,甚至对于该比率也低于。Ñ Ñ ķ 1 Ñ Ñ = 25 ķ ķ = 5 1.2knnk1nn=25kk=51.2

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

有关应用于实际数据集(葡萄酒数据集)的PCA和FA的图示示例,请在此处查看我的答案:n=13


2
我只是想问一个关于这两种技术之间的数学差异的问题,因为此处的大多数(否则都是很好的)答案都没有进行明确的数学比较。这个答案正是我想要的。
shadowtalker 2014年

2
这是非常有价值的,具有新颖视角的展开帐户。将PPCA作为中间技术至关重要-这是您的见解不断发展的地方。我可以请您就PPCA留些其他内容吗?-什么是,如何(简短地)估计它以及与区别是什么,以便PPC(与因子不同)填充变量的子空间,而PPC不依赖于。 Ψ ķσ2Ψk
ttnphns 2014年

3
我在这里继续同意ttnphns,区别在于FA是基于潜在变量的,而PCA只是数据的转换。但是,这是非常有道理的,并且是一个有用的相反立场。它有助于此线程的质量。+1
gung

5
@amoeba您的答案很棒。这是如此清晰和令人满足。感谢您分享您的愿景。
Subhash C. Davar 2014年

2
@ user795305抱歉,我忘了回复。Update 1中编写的FA模型正确。潜在实际上应该来自N0 I ),并且独立于ϵ。对于ML解W¯¯Ψ的确实不是最小化的规范Ç - w ^ w ^ - Ψ正如我在更新2中写道; 那是草率的,不正确的。我应该修复它,谢谢。不过,我认为这没关系说,ML的解决方案是这样的:ç w ^ w ^ + ΨzN(0,I)ϵWΨCWWΨCWW+Ψ; 它只是这里的损失函数是不差的标准,但更复杂的表达式(可能性给出w ^ w ^ + Ψ)。CWW+Ψ
变形虫

27

如您所说,您熟悉相关的答案;看So, as long as "Factor analysis..."+一对夫妇最后的段落; 和底部列表在这里。简而言之,PCA主要是一种数据缩减技术,而FA是潜在特征建模技术。有时它们碰巧会产生相似的结果。但是在您的情况下-因为您可能想像真实实体一样构造/验证潜在特征,所以使用FA会更诚实,并且您不希望PCA希望它们的结果收敛。另一方面,每当您要汇总/简化数据时(例如,进行后续分析),您都希望使用PCA,因为它不会对数据施加任何强模型(可能不相关)。

需要重申的其他方式,PCA赋予您的尺寸可以对应于一些主观有意义的结构,如果你愿意,而全民教育带来那些甚至是实际产生的隐性特征数据,它的目的是找到这些功能。在FA中,对维度(因数)的解释尚在等待中-不管是否可以将含义附加到潜在变量,它都“存在”(FA是必不可少的),否则应从模型中删除它或获取更多数据以支持它。在PCA中,尺寸的含义是可选的。

再说一遍:当提取m 因子(从错误中分离出因子)时,这几个因子(几乎)解释了变量之间的所有相关性,因此无论如何变量都不会留有空间通过错误进行相关。因此,只要将“因素”定义为生成/绑定相关数据的潜在特征,您就有充分的线索来解释这一现象-造成相关性的原因。在PCA中(提取组件就像“因素”一样),变量之间的误差(可能)仍然相关。因此,您不能声称自己已经提取了足够干净,详尽的东西来进行这种解释。

您可能需要阅读在当前讨论中的其他更长的答案,以获取有关PCA是否可以替代 FA的一些理论和模拟实验细节。请注意该线程上@amoeba给出的出色答案。


Upd:在反对该问题的@amoeba中,反对该问题的人介绍了一种PPCA技术(不为人所知),它位于PCA和FA之间。这自然引发了PCA和FA沿一条线而不是相反的逻辑。这种有价值的方法扩大了人们的理论视野。但是它可以掩盖FA具有几个因素来重构(解释)所有成对协方差的重要的实际差异,而PCA无法成功完成(并且偶尔会这样做-这是因为它恰好模仿了FA)。


感谢您的回答!实际上,FA的结果与通过PCA获得的结果大致相同。唯一的事情是:初步研究的作者(我的文章是翻译和验证)使用了PCA分析。这是否足以将PCA分析保留在我的论文中,或者添加一句话来说明FA结果趋同,还是应该用FA代替PCA?请注意,审阅者实际上并没有明确要求我们这样做,他只是在要求说明为什么我们选择PCA而不是FA的理由。
卡林2014年

我认为:如果作者使用PCA,但更严格/诚实的方法要求使用EFA,则您应该放弃批评,然后执行PCA或同时使用PCA和EFA来比较结果。
ttnphns 2014年

2
还要注意的区别是,在PCA中,要提取/保留的维数从根本上是主观的,而在EFA中,维数是固定的,并且通常必须检查几个解决方案,例如3到5个因素,以了解它们的程度。再现相关矩阵以及它们的可解释性。FA较为繁琐,这就是为什么人们在出于谨慎的考虑而要求尝试许多EFA通行​​证的情况下通常更喜欢进行PCA的原因。
ttnphns 2014年

另请参见维基百科条目:en.wikipedia.org/wiki/...
RobertF

15

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

正如我在PCA或因子分析中的许多答案中一样,我将转向主题空间中变量的矢量表示。在这种情况下,它只是一个显示变量及其组件加载的加载图。因此,我们得到X 2的变量(我们只有两个数据集),˚F他们的第一个主成分,具有负载一个1一个2。变量之间的角度也被标记。变量以中心为中心,因此它们的平方长度h 2 1h 2 2是它们各自的方差。X1X2Fa1a2h12h22

在此处输入图片说明

X 2之间的协方差是-它是它们的标量乘积-h 1 h 2 c o s ϕ(顺便说一下,这个余弦是相关值)。当然,PCA的载荷通过分量F的方差a 2 1 + a 2 2捕获了总体方差h 2 1 + h 2 2的最大可能值。X1X2h1h2cosϕh12+h22a12+a22F

现在,协方差,其中1是可变的投影X 1上变量X 2(其为第一的回归预测由所述第二投影)。因此,协方差的大小可以通过下面矩形的面积(边为g 1h 2)来表示。h1h2cosϕ=g1h2g1X1X2g1h2

在此处输入图片说明

a1a2a1a2)。

在此处输入图片说明

F

FX2X2a2X2h2a1X1g1g12+h22a12+a22

X1X2Fa1a2a12+a22g12+h22a12+a22F

FX1X2


回复@amoeba关于PCA的“ Update 2”。

kX||XXk||2tr(XX)tr(XkXk)||XXXkXk||2XkkXkXkWkWkWkk

||XXXkXk||2

10x6XXkk||XXXkXk||2XkXk

XXXkXk

在此处输入图片说明

y=x k

y=xk

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


@amoeba的“ Update 3”的后续工作:随着变量数量的增加,PCA是否会接近FA?PCA是FA的有效替代品吗?

AR=AA+U2U2

RR

在此处输入图片说明

264,7,10,13,16

R50n=200

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

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

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

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

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

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

在此处输入图片说明

评论这些情节:

  • 总体趋势:随着k(每个因子的变量数)的增长,PCA / FA的总体子拟合比逐渐接近1。也就是说,在解释非对角相关性/协方差时,随着PCA / FA的变量增多,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的元素级拟合:残差分布

对于每个模拟实验(通过PCA或FA分解)来自种群矩阵的50个随机样本矩阵,将获得每个非对角相关元素的残差分布“种群相关性减去(通过分解)样本的相关性”。分布遵循清晰的模式,下面是典型分布的示例。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或.40的某个值开始稳定。我现在不会因为这种行为的可能原因而推测,至少我相信“正弦曲线”源于相关的三角学性质。

PCA对FA的拟合:结论

1

仅在考虑了残留量“种群减去繁殖样本”之后,尖锐因素结构对PCA总体适应能力的影响才是显而易见的。因此,人们可能会错过在模拟研究环境之外识别它的机会-在样本观察研究中,我们无法获得这些重要残差。

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

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

最后,我非常尝试性的广泛建议可能是避免使用PCA而不是FA进行典型(即,预期人口中有10个或更少的因素)因素分析除非您的变量比这些因素多10倍以上。因素越少,所需的比率就越严格。我将进一步在地方足协的使用PCA不建议在所有每当有完善的,尖锐的因素结构数据进行分析-比如当因子分析是为了验证为正在开发或已经推出心理测试或问卷铰接式结构/秤。PCA可以用作心理测量仪器项目的​​初始,初步选择的工具。

研究的局限性。1)我只使用了因子提取的PAF方法。2)样本大小固定(200)。3)在对样本矩阵进行采样时假设正常人口。4)对于尖锐的结构,对每个因子建模了相等数量的变量。5)构建人口因子负荷我从大致均匀的分布(对于尖锐的结构-三峰,即3件均匀)中借用了它们。6)当然,在任何时候,此即时检查都可能有疏忽。


1

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

在此处输入图片说明

mUpXp Up-mpXm=1P1p=2X1X2U1U2r=1

X3U

U

UX

rX1X2=a1a2u1u2aXP1P1uUP2P1a1a2rX1X2


1
我爱您的PCA / FA / CCA图纸,因此很高兴+1。这种思维方式是我完全不习惯的,因此需要一些思考才能将其映射到我所知道的数学...但是,请注意此处(以及您在其他著名的FA-vs-PCA答案中图纸),您只有两个变量。就像我在回答中说的那样,当只有两个变量时,FA中的一个因子足以完美地再现协方差(因为对角线矩阵中除了对角线之外只有一个自由度),所以100%可以重现协方差。一台PC通常无法做到。所以我的回答没有矛盾。
变形虫

嗯,我希望我不要误解FA和PCA进行不同复制的观点。这里的位置是我的意思,我将它放在另一个答案中
Gottfried Helms 2014年

2
回复您的更新(这是您对我的更新2的回复):我完全同意您在此处编写的所有内容!PCA负载是整个协方差矩阵(包括对角线)的最佳低秩近似,但不一定是其非对角线部分的最佳低秩近似;后一种近似是通过因子分析给出的。看来我们在这里达成了共识。还是您仍然觉得我的回答有些部分与您的想法相矛盾?
变形虫

1
@ttnphns:我重新阅读了上面的讨论,然后让我回到最初回答中的观点。PCA尝试找到近似整个协方差矩阵的载荷;FA试图找到近似于其对角线部分的载荷。但是维数越大,协方差矩阵的对角线部分就越小,这意味着在较大的维度中,PCA开始主要关心它的非对角线部分(因为对角线部分变得很小)。因此,通常,尺寸越大,PCA越接近FA。你同意吗?
变形虫

1
感谢ping,ttnphns。哇,这看起来很有趣。我会仔细阅读,但暂时不会阅读。我可能不得不将其推迟到一月份。阅读后,我将在这里发表评论。顺便说一句,我一直在想(回到我的脑海)回到这个话题,并稍微修改我的答案以使其更“和解”。这可能是一个很好的机会(但是让我阅读您首先写的内容​​)。Снаступающим!
amoeba

4

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

我们假设两个项目是一个共同因素和特定项目因素的构造。这是factor-loadingsmatrix:

  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

如果我们查看loadings-matrix 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

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

随着更多的项目,这不再是那么明显,而是固有的效果。因此,还有MinRes提取(或-rotation?)的概念,我也看到过诸如最大行列式提取和...


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

我理解“最小残差”(“ MinRes”)-旋转的概念是对早期CFA计算方法的一种赞同方法,以实现相关矩阵非对角元素的最佳再现。我在80年代/ 90年代中学到了这一点,并且没有跟随因子分析的发展(近年来的深入研究),因此“ MinRes”可能过时了。

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

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

据我了解,“ MinRes ”应该关注部分相关性而不是SSqL。因此,它不会求和载荷的平方(如Jacobi-pc-rotation中所做的那样),而是求和每个因子的载荷的叉积-除了每个载荷的“叉积”(=平方)之外项目本身。
在计算出x轴和y轴的准则后,它会按照与迭代雅各比旋转相同的方式进行。

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

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


你能解释一下你在最后一句话中指的是什么吗?什么是“ MinRes”或“最大行列式”提取,它与您之前写的内容有何关系?
变形虫

“ MinRes”是我几年前在S Mulaik或K.Überla关于因子分析的专着中遇到的一些提取或旋转方法。它着重于最小化残留的对角线元素。因为它是在许多其他方法的上下文中明确提到的,所以我认为它(可能与CFA稍有不同)是那个时代的实现。我试图将其基本原理作为轮换标准来实施,但不知何故没有定论。我还期望在这里知道“最大化行列式”。我将看到20年前收到的描述...
Gottfried Helms 2014年

啊,我有两个部分。go.helms-net.de/stat/fa/minres.htm上对“ minres” -rationale的轮换标准进行了描述。“最大行列式”是在某些通讯员杰弗里·欧文·卡茨(Jeffrey Owen Katz)的提取/旋转方法下的数学模型,他称其为“ oblisim”,并且可能是在我们进行通讯后开发的。到那时我已经不知所措了。无论如何,我试图理解该方法,并在wordfile中对其进行了格式化和重新组织。请参阅go.helms-net.de/stat/fa/oblisim.zip Google的“ oblisim”新闻组条目似乎已经引入了它。
Gottfried Helms,2014年

@amoeba:这可能是第一个条目,Jeff Katz在其中介绍了他的方法:mathforum.org/kb/message.jspa?messageID=1516627 是1998年,所以我大约20年前的猜测有点不精确...
Gottfried Helms,2014年

2

我认为,“ PCA”和“ FA”的概念与“探索性”,“确认性”或“推论性”概念的维度不同。因此,两种数学/统计方法中的每一种都可以与三种方法之一一起应用。

例如,为什么有一个假设是荒谬的,我的数据具有一般因素,而且还有一组主要成分的结构(因为我对电子仪器的实验几乎给我提供了无错误的数据),然后我检验了这个假设,后续因素的特征值是否以75%的比率出现?这就是确认框架中的PCA。

另一方面,在我们的研究团队中,我们通过大量工作创建了一个用于测量学生之间暴力行为并假设3种主要行为(身体攻击,抑郁,当局/父母寻求帮助)并提出相关问题的项目电池,这似乎很荒谬。在那个电池中……然后“探究地”算出我们有多少个因素……而不是看,我们的秤的好坏包含三个可识别的因素(除了可以忽略的特定项目,甚至可能是虚假相关的误差)。然后,当我确认了我们的电池确实符合预期目的时,我们可以检验以下假设:在年幼的儿童类别中,表示“按单位搜索帮助”的因素的负担较高比大学生 嗯,再次确认...

探索性的?我从1960年的一项微生物学研究中采取了一系列措施,他们没有太多理论,但是对他们可以管理的一切进行了采样,因为他们的研究领域还很年轻,我重新探索了主要因素结构,例如(假设) ,由于所用显微镜的光学精度(我刚刚了解到的ppca-ansatz),所有误差的数量都相同。然后,我使用FA的统计模型(随后使用数学模型),但在这种情况下以探索性方式使用。

至少这是我对术语的理解。
也许我在这里完全走错了路,但我不认为这是错的。


附言 在90年代,我写了一个小型的交互式程序来探索PCA和因子分析的方法。它是用Turbo-Pascal编写的,仍然只能在Dos-Window(在Win7下为“ Dos-box”)中运行,但具有非常好的吸引力:交互地切换要包含的因素或不包含的因素,然后旋转,单独的特定于项目的错误-方差(根据SMC标准或等方差标准(ppca?)),打开和关闭Kaiser选项,打开和关闭协方差的使用-就像在电子表格中一样可以看到factorloadingsmatrix并可以针对基本的不同旋转方法进行旋转。
它不是很复杂:例如,没有卡方检验,仅用于内部数学力学的自学。它还具有“演示模式”,程序可以在其中运行,在屏幕上显示说明性注释并模拟键盘输入,这通常是用户所要做的。
有兴趣进行自学或教学的人员可以从我的小型软件页面中下载该文件- (R).zip。只需将zip中的文件扩展到Dos-Box可以访问的目录中,然后调用“ demoall.bat”即可。我在“ demoall”的第三部分中进行了演示,该演示了如何通过从最初的pca解决方案中旋转来对特定于项目的错误进行建模...


您程序的R端口会很有趣。顺便说一句,我的第一种编程语言(也是其中的一种)是[Turbo] Pascal。我什至用它为BS文凭工作编写软件。然后,一段时间后,我和其他语言和系统一起使用了Delphi一段时间。:-)
Aleksandr Blekh

1
@Aleksandr:嗯,这样的导入肯定是个好主意;但是...与此同时,我获得了本地交通系统的“高级票”,尽管还没有退休,但我还是对编程感到厌倦...我认为“ Delphi”是Turbo Pascal的自然替代品; 我使用Delphi 6将Inside- [r]改进到矩阵计算器“ MatMate”,其中我将Inside- [r]作为辅助工具。但是,有时我认为,除了任何复杂的脚本或解释器语言外,Inside- [r]中具有指向和单击功能的真正好功能也应该重新实现……
Gottfried Helms

2

Ψ

ΨΨ=0Ψ=σ2IΨ

ΨΨoptΨstdΨstd=α2Dsmcα1α<1 α2ΨstdΨopt
Ψopt


ΨstdΨoptΨ


ΨoptCΨoptCCn×nnn1ΨoptΨWn×kkCWWΨ

ΨoptrC=CΨopt||CWrWr||=0kk<rWrr+1k

ΨstdCstds>rs+1kΨopt对于协方差,协方差的结构不是自造的,并且所有带有自造示例的伪随机实验的可靠性都低于经验案例。
Gottfried Helms

CC=CΨoptCrnkWrC

真正。好吧,我认为应该最明确地指出从哪里我们可以简化到实际可计算的近似值的“理想”情况。<br>现在更加支持PCA ;-):允许错误中的虚假相关(在第二种应用程序/推理统计模式下),结果再次接近以PC提取开始的类型之一...
戈特弗里德·赫尔姆斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.