PCA图的楔形表示什么?


9

关于文本分类的自动编码器论文中, Hinton和Salakhutdinov演示了二维LSA(与PCA密切相关)产生的图:2维LSA

将PCA应用于绝对不同的略高维度的数据,我得到了一个看起来类似的图:(2维PCA在这种情况下,我真的很想知道是否有任何内部结构)。

如果我们将随机数据输入到PCA中,则会得到一个圆盘状的斑点,因此这种楔形的形状不是随机的。它本身意味着什么吗?


6
我假设所有变量都是正(或非负)且连续的?如果是这样,则楔形的边缘就是数据将变为0 /负的点。此外,您可以使用正的右偏变量获得与显示的相同模式;观察结果集中在低端。如果您具有正的均匀随机变量,则会看到一个(旋转的)正方形。因此,您显示的模式只是对数据的约束。可以显示其他模式,例如马蹄形,但这不是由于变量范围的限制。
加文·辛普森

1
@GavinSimpson这不仅仅是评论。为什么不将其扩展为答案?
Mike Hunter

我问我的孩子(3岁和4岁)这些照片提醒他们什么,他们说这是一条鱼。那么也许是“鱼状”?
amoeba

@GavinSimpson,谢谢!在这两种情况下,变量确实都是非负数,在两种情况下,bot都是整数值。这会改变什么吗?
macleginn '16

Answers:


6

假设变量是正值或非负值,则边缘的边缘只是数据将分别变为0或负值的点。由于此类现实数据倾向于右偏,因此我们看到在其分布的低端具有更高的点密度,因此在楔形的“点”处具有更高的密度。

更一般而言,PCA只是数据的轮换,对这些数据的约束通常会以与问题所示相同的方式在主要组件中可见。

这是使用几个对数正态分布的变量的示例:

library("vegan")
set.seed(1)
df <- data.frame(matrix(rlnorm(5*10000), ncol = 5))
plot(rda(df), display = "sites")

在此处输入图片说明

根据前两台PC隐含的旋转角度,您可能会看到楔形或看到一些不同的版本,在此处使用(ordirgl()代替plot())在3d中显示

在此处输入图片说明

在这里,在3D中我们看到多个尖峰从中心质量突出。

X一世ñμ=0σ=1个

set.seed(1)
df2 <- data.frame(matrix(rnorm(5*10000), ncol = 5))
plot(rda(df2), display = "sites")

在此处输入图片说明

在此处输入图片说明

对于统一的正随机变量,我们看到一个立方体

set.seed(1)
df3 <- data.frame(matrix(runif(3*10000), ncol = 3))
plot(rda(df3), display = "sites")

在此处输入图片说明

在此处输入图片说明

请注意,在这里,为了说明起见,我仅使用3个随机变量显示了制服,因此这些点描述了3d中的一个立方体。具有更大的尺寸/更多的变量,我们无法在3d中完美地表示5d超立方体,因此,独特的“立方体”形状会有些失真。类似的问题会影响所示的其他示例,但是仍然很容易看到这些示例中的约束。

对于您的数据,在PCA之前对变量进行对数变换会拖尾并拉开聚集的数据,就像您可能在线性回归中使用这种变换一样。

其他形状可以在PCA图中出现。一种这样的形状是保存在PCA中的度量表示的伪像,被称为马蹄形。对于具有长梯度或主导梯度的数据(沿一维排列的样本,变量从0增大到最大值,然后沿着数据的各个部分再次减小到0,这会产生此类伪像。

ll <- data.frame(Species1 = c(1,2,4,7,8,7,4,2,1,rep(0,10)),
                 Species2 = c(rep(0, 5),1,2,4,7,8,7,4,2,1, rep(0, 5)),
                 Species3 = c(rep(0, 10),1,2,4,7,8,7,4,2,1))
rownames(ll) <- paste0("site", seq_len(NROW(ll)))
matplot(ll, type = "o", col = 1:3, pch = 21:23, bg = 1:3,
        ylab = "Abundance", xlab = "Sites")

在此处输入图片说明

这会产生极端的马蹄形,轴两端的点会折回到中间。

在此处输入图片说明


+1。在此处链接到您自己的答案可能有意义,PCA /对应分析中的“马蹄效应”和/或“拱形效应”是什么?在这个答案的最后一部分。
amoeba
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.