关于python:PCA的主要组件

principal components of PCA

我在datacamp.com上遇到了这个问题:
波纹管是同一点云的三个散点图。每个散点图显示一组不同的轴(红色)。轴可以在哪个图中表示点云的主要成分?

还记得主要成分是数据变化的方向吗?

答案:
情节1和3

我的问题是什么意思?为什么图2不是答案的一部分,因为可以旋转轴以适合点云。

enter


如评论中所建议,这更适合进行交叉验证,或者可能适用于math.stackexchange。

现在,答案在直觉上相当简单。

主成分可以通过以下迭代过程获得:

  • 第一个主成分等效于线性组合a_1 %*% X,线性组合a_1 %*% X在受t(a_1) %*% a_1 = 1约束的情况下最大化Var(a_1 %*% X)
  • 第二个主成分等效于线性组合a_2 %*% X,线性组合a_2 %*% Xt(a_2) %*% a_2 = 1cov(a_1 %*% X, a_2 %*% X) = 0的约束下最大化Var(a_2 %*% X)
  • 第三-|| --
  • 根据此定义,请注意var(a_1 %*% X) = var( - a_1 %*% X),从而仅根据该分量的符号确定主分量。

    根据此定义,我们可以看到:
    1. 1和3是等效的,因为第一(最长)线在点分布最多的方向上(显示最大方差)
    2.第二个图不能成为主要成分,因为方向与最大方差的方向不对齐

    《应用多元统计分析》第430页第8章(ish)包含更详细的理论解释。


    正如@NelsonGon所提到的,这在CrossValidated上可能会更好...但是无论如何:

    图1和图3是正确的,因为它们的轴实际上是使所示平面上的方差最大化的轴。可以翻转矢量,因为特征矢量的符号在PCA中是任意的(您会注意到,图1和图3中的红色矢量沿着相同的轴,其中一个只是"翻转")。
    但是,情节2的向量显然没有沿着最大化点云散布的轴移动,因此,您所指的帖子中的答案。