当PCA解释方差时,因子分析如何解释协方差?


37

这是Bishop的“模式识别和机器学习”书第12.2.4节“因素分析”中的一句话:

在此处输入图片说明

根据突出显示的部分,因子分析捕获矩阵变量之间的协方差W。我想知道如何

这就是我的理解。假设是观察到的维变量,是因子加载矩阵,是因子得分向量。然后我们有即 ,中的每一列都是一个因子加载向量 正如我所写,有xpWz

x=μ+Wz+ϵ,
(x1xp)=(μ1μp)+(||w1wm||)(z1zm)+ϵ,
W
wi=(wi1wip).
Wm列表示正在考虑因素。m

现在,重点在于,根据突出显示的部分,我认为每列的负载都说明了观测数据中的协方差,对吗?wi

例如,让我们看一下第一个加载向量,对于,如果,和,则我想说高度相关,而似乎与它们不相关,对吗? 1 Ĵ ķ p 瓦特1 = 10 瓦特1 Ĵ = 11 瓦特1 ķ = 0.1 X X Ĵ X ķw11i,j,kpw1i=10w1j=11w1k=0.1xixjxk

如果这是因子分析如何解释观察到的特征之间的协方差,那么我想说PCA也可以解释协方差,对吗?


1
由于@ttnphns的图表示主题空间表示,因此这里是一个有关变量空间和主题空间的教程:顺便说一句,我以前不知道主题空间图,现在我理解了,这里是关于它的一个教程:amstat.org/ publications / jse / v10n1 / yu / biplot.html。;-)
牛油果

1
我还要指出,显示载荷的载荷图实际上是主题空间。在一个图中同时显示变量空间和主题空间。一些图片展示了stats.stackexchange.com/a/50610/3277
ttnphns

这是一个关于术语“共同方差”和“共享方差”的问题:stats.stackexchange.com/q/208175/3277
ttnphns

Answers:


45

在有关多元技术的许多教科书和文章中都讨论了主成分分析因子分析之间的区别。您也可以在此站点上找到完整主题更新主题和奇怪的答案。

我不会详细说明。我已经给出了一个简洁的答案和一个更长的答案,现在我想用一对图片来澄清它。

图示

下图说明了PCA。(这是从这里借来的,其中PCA与线性回归和规范相关性进行了比较。图片是主题空间中变量的矢量表示;要了解它是什么,您可能需要在这里阅读第二段。)

在此处输入图片说明

此处描述了此图片上的PCA配置。我将重复最主要的事情。主分量和位于变量和(即“平面X”)所跨越的同一空间中。四个向量中每个向量的平方长度是其方差。和之间的协方差为,其中等于它们的向量之间的夹角的余弦值。P1P2 X 1 X 2 X 1 X 2 c o v 12 = | X 1 | | X 2 | [R [R X1X2X1X2cov12=|X1||X2|rr

的变量上的组件的突起(坐标),所述a的,都是对变量的组分的负载量:负载是在建模的线性组合中的回归系数由标准化组件的变量。“标准化”-因为有关组件方差的信息已经在荷载中吸收了(请记住,荷载是针对各个特征值进行归一化的特征向量)。因此,由于组件不相关,因此载荷就是变量和组件之间的协方差

使用PCA进行降维/数据缩减的目的迫使我们仅保留P1并将P2作为余数或误差。a112+a212=|P1|2是由P1捕获(解释)的方差。


下面的图片展示了因子分析法对执行相同的变量X1X2与我们所做的PCA以上。(我会说公因数模型,因为还有其他一些东西:阿尔法因数模型,图像因数模型。)笑脸太阳有助于照明。

常见的因素是F。这就是上面主要成分P1的类似物。您能看到两者之间的区别吗?是的,显然:该因素并不位于变量的 “平面X” 空间中

如何用一根手指获取该因子,即进行因子分析?我们试试吧。在上一张图片中,用指甲尖钩住P1箭头的末端,并从“ X平面”拉开,同时观察两个新平面如何出现:“ U1平面”和“ U2平面”;这些连接了钩子向量和两个变量向量。这两个平面在“平面X”上方形成一个罩X1-F-X2。

在此处输入图片说明

F

P1F

aa12+a22=|F|2F

FFX1FX2X1FU1X2FU2U1U2FUU1X1U2X2X1X2FX1X2cov12>0cov12a

u2 a2F维度,社区是变量在空间上的投影,负载是变量,以及那些在跨越空间的因素上的投影。因子分析中解释的方差是指公共因子空间内的方差,与变量解释方差的变量空间不同。变量的空间在组合空间的腹部:m个公共因子+ p个唯一因子。

在此处输入图片说明

X1X2X3F1F2X1C1U1X1X1X2X311

为什么需要所有这些说法?我只是想证明这一说法,当您将每个相关变量分解为两个正交的潜在部分时,一个(A)代表变量之间的不相关性(正交性),另一个(B)代表变量之间的相关性(共线性),并且仅从组合的B中提取因子,就会发现自己通过这些因子的负荷来解释成对协方差。在我们的因子模型中,因子恢复cov12a1a2通过载荷的个体协方差。在PCA模型中,情况并非如此,因为PCA解释了未分解的,混合的共线+正交本机方差。您保留的强大组件和后续丢弃的强大组件都是(A)和(B)部分的融合;因此,PCA只能通过加载来盲目地和粗略地挖掘协方差。


对比列表PCA与FA

  • PCA:在变量空间内操作。FA:超越变量的空间。
  • PCA:保持可变性不变。FA:将可变性分为共同和独特的部分。
  • PCA:解释非分段方差,即协方差矩阵的轨迹。FA:仅解释共同方差,因此解释(通过加载恢复)相关性/协方差,矩阵的非对角元素。(PCA解释非对角线元素 -但在传球,随便的态度-仅仅是因为方差协方差中的一个形式的共享)。
  • PCA:组件理论上是变量的线性函数,变量理论上是组件的线性函数。FA:变量在理论上仅是因子的线性函数。
  • PCA:经验总结法;它保留了 m个组件。FA:理论建模方法;将固定数量的m个因子拟合到数据中;可以测试FA(确认FA)。
  • PCA:是最简单的度量MDS,旨在降低维度,同时尽可能间接地保留数据点之间的距离。FA:因素是变量背后必不可少的潜在特征,使它们相互关联。该分析旨在仅将数据简化为那些实质。
  • PCA:组件的旋转/解释- 有时(PCA作为潜在特征模型不够现实)。FA:定期轮换/解释因素。
  • PCA:仅数据缩减方法。FA:也是一种找到相干变量聚类的方法(这是因为变量不能关联超出一个因素)。
  • PCA:载荷和分数与“提取”的组分数m无关。FA:负荷和得分取决于因素“提取” 的数量m
  • PCA:组件分数是确切的组件值。FA:因子得分近似于真实因子值,并且存在几种计算方法。因子得分确实位于变量的空间中(就像组件一样),而真实因子(由因子加载体现)则不在。
  • PCA:通常没有任何假设。FA:假设偏相关性弱;有时是多元正态性假设;除非进行转换,否则某些数据集对于分析可能是“不好的”。
  • PCA:非迭代算法;永远成功。FA:迭代算法(通常);有时是非收敛性问题;奇点可能是个问题。

1 X 2 X 3 U 1 X 1 X 1 X 2 X 3 U 1 X 1 X 2 U U细致。有人可能会问,变量和本身在图片上哪里,为什么没有绘制它们?答案是,即使从理论上讲,我们也无法绘制它们。图片上的空间为3d(由“因子平面”和唯一矢量;位于它们的互补中,平面阴影为灰色,这对应于图片2上“引擎盖”的一个坡度),这样我们的图形资源就用光了。由三个变量,,共同构成的三维空间是另一个空间。“要素平面”和都不X2X3U1X1X1X2X3U1是它的子空间。这与PCA有所不同:因素属于变量的空间。每个变量分别位于与“因子平面”正交的单独灰度平面中-就像我们的图片中所示的一样,仅此:如果我们要向绘图中添加,我们应该发明第4维。(请记住,所有必须相互正交;因此,要添加另一个,必须进一步扩展维数。)X1X2UU

回归类似,系数是FA的因变量和预测变量在预测变量上的坐标(请参见 “多重回归”下的图片,此处也是)负荷是所观察到的变量及其潜在部分(社区)的因子坐标。就像在回归中一样,事实并不能使相关变量和预测变量成为彼此的子空间;在FA中,相似的事实也不会使所观察到的变量和潜在因子彼此成为子空间。因素与变量的“关联”与预测变量与因变量的响应“关联”非常相似。但是在PCA中,这是另一种方式:主成分是从观察到的变量派生出来的,并且局限于其空间。

因此,再次重复一下:FA的m个公因子不是p个输入变量的子空间。相反:这些变量在m + pm个公共因子+ p个唯一因子)联合超空间中形成一个子空间。从这个角度看(即也吸引了独特的因素),很明显经典FA不是像经典PCA一样的尺寸收缩技术,而是一种尺寸扩展技术。但是,我们仅将注意力放在该膨胀的一小部分(m维公共部分)上,因为该部分仅解释了相关性。


谢谢,很好的情节。您的答案(stats.stackexchange.com/a/94104/30540很有帮助
牛油果

2
(+11)好的答案和漂亮的插图!(我必须再等两天才能提供赏金。)
chl

@chl,我好感动。
ttnphns 2014年

@ttnphns:“主题空间”(您的平面X)是一个坐标的空间与数据集中的数据点一样多的空间,对吗?那么,如果一个数据集(具有两个变量X1和X2)具有100个数据点,那么您的平面X是100维的?但是,因子F怎么会在它之外呢?并非所有100个数据点都具有该因子的某些值?并且由于没有其他数据点,因此似乎因子F必须位于相同的100维“对象空间”中,即平面X?我想念什么?
变形虫说恢复莫妮卡2014年

1
@amoeba,您的问题是合法的,是的,您缺少一件事。请参阅第一段:stats.stackexchange.com/a/51471/3277。多余的尺寸被删除。主题空间具有与相应变量空间一样多的实际,非冗余维度。因此“空间X”是平面。如果我们增加+1维(以覆盖F),则整个配置将是单一的,不可解的。F总是超出可变空间。
ttnphns 2014年

10

“解释协方差”与解释方差

主教实际上意味着一件非常简单的事情。在因子分析模型下(eq。12.64)的协方差矩阵将为(eq。12.65)这实际上就是因子分析的作用:它找到了一个负载矩阵和一个唯一性对角矩阵,从而使实际观察到的协方差矩阵尽可能近似为:请注意,x

p(x|z)=N(x|Wz+μ,Ψ)
x
C=WW+Ψ.
ΣC
ΣWW+Ψ.
C将完全等于的对角元素,因为我们总是可以选择对角矩阵,使得对角线上的重建误差为零。真正的挑战是,然后找到负荷会以及近似的非对角部分的。ΣΨWΣ

的非对角线部分由变量之间的协方差组成;因此,毕晓普(Bishop)声称因子加载正在捕获协方差。这里最重要的一点是,因子载荷不在乎在所有关于个别差异(对角线)。ΣΣ

相反,PCA负载是协方差矩阵的特征向量,其特征值的平方根成比例增加。如果仅选择主分量,则这意味着PCA加载会尝试重现整个协方差矩阵(不仅其非对角线部分为FA)。这是PCA和FA之间的主要区别。W~Σm<k

ΣW~W~,

进一步的评论

我喜欢@ttnphns的答案(+1)中的图形,但我想强调一下,它们处理两个变量的非常特殊的情况。如果仅考虑两个变量,则协方差矩阵为 ×,仅具有一个非对角元素,因此始终有一个因数足以100%复制它(而PCA将需要两个分量)。但是,总的来说,如果有很多变量(例如,十几个或更多),那么具有少量组件的PCA和FA都将无法完全再现协方差矩阵。而且,它们通常会(即使不一定!)产生相似的结果。请参阅我的答案,以得到支持该主张的一些模拟以及进一步的解释:2×2

因此,即使@ttnphns的图形可以给人以PCA和FA完全不同的印象,但我认为事实并非如此,除非变量很少或在某些其他特殊情况下。

也可以看看:

最后:

例如,让我们看一下第一个加载向量,对于,如果,和,则我想说和高度相关,而似乎与它们不相关,对吗? 1 Ĵ ķ p 瓦特1 = 10 瓦特1 Ĵ = 11 瓦特1 ķ = 0.1 X X Ĵ X ķw11i,j,kpw1i=10w1j=11w1k=0.1xixjxk

这不一定是正确的。是的,在此示例中,和可能相关,但是您忘记了其他因素。也许第二个因子的加载向量对于和具有较大的值;这意味着它们也可能具有很好的相关性。您需要考虑所有因素才能得出这样的结论。x j w 2 x i x kxixjw2xixk


承认您的代数专业知识,并肯定回答您的答案,我仍然不会这么尖锐,以至于将某人先前的几何答案(在本例中为我的答案)标记为“潜在的误导”。话so hugely different是你的,不是我的。其次,it is in fact not the case, except with very few variables它本身就是一个启示,必须比您以前进行更深入的测试。
ttnphns

嗨@ttnphns,感谢您的评论。我绝对没有反对几何答案的方法,实际上,我尽可能地选择它们!老实说,我非常喜欢您的答案,它的得分为+1。但我认为,只考虑两个变量的情况下,使PCA-VS-FA差异似乎比他们强,否则是和这可以潜在的(!)产生误导。但是,您是对的,因为我不应该在回答中使用此类词语。抱歉,我已经对其进行了编辑。只是要完全清楚:任何敌意(如果有的话!)纯属无意之举。
变形虫说莫妮卡(

@amoeba为什么有人说FA保留协方差而PCA保留方差。从您的帖子中,我了解到FA确实保留了协方差,但PA尝试保留了方差和协方差。说PCA保留差异来自其目标功能,而不是来自您帖子中的解释?
user_anon18年
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.