【问题标题】:PCA -how are the principal components mapped?PCA - 主成分是如何映射的?
【发布时间】:2012-11-29 10:07:48
【问题描述】:

我对 R 中的 pca 有疑问,可能是一个简单的问题:

我有 10 个向量 a,b,c,d,e,f,g,h,i,j 并将它们与 cbind 绑定。

我使用prcomp 执行pca 的结果。我得到了分数,而且我还按降序得到了主成分。

仅:我到底怎么知道aj 的哪个组件是第一个,哪个是第二个等等?

可能真的是一个初学者的问题 - 仍然无法解决,希望能得到一些帮助。

【问题讨论】:

  • 原始维度和主成分之间没有一一对应的关系——这就是 PCA 的重点:) prcomp 的帮助告诉你它的返回值有哪些成分;这些应该可以帮助您找出哪个原始维度对哪个主成分有贡献。
  • 但是 - 如果最终您不知道原始数据集的哪些组件最重要,那么重点在哪里?我以为整个想法就是找到他们?
  • 你想做什么听起来更像feature selectionPrincipal component analysis 可以帮助你识别重要的特征,但它的目的实际上是对特征空间进行改造。
  • 每个主成分都是所有原始成分的线性组合。例如,prcomp(...)$rotation[,"PC1"] 显示每个原始尺寸对第一个组件的贡献程度。所以它不像你想象的那样是一对一的映射,而更像是一个多对多的映射。

标签: r pca


【解决方案1】:

旋转矩阵可以告诉您在每个主成分中哪些原始变量是重要的。例如,旋转矩阵的第一列显示了 PC1 的贡献。第一行中的高值(相对于其他系数)意味着第一个原始变量在第一个主成分中很重要。假设第一列的前五行具有高正值,而后五行具有高负值。这意味着 PC 轴可以解释为这两组之间的比率。

【讨论】:

  • 这确实有帮助.... 是否有可能找到起始矩阵中每个向量与主成分的变化? IE。我有向量 1 到 n 和 PC 1 到 PC n,我想要 pc1 和向量 1 之间的变化等等?
【解决方案2】:

这是一个老问题......但也许将来有人需要它

library(stats)
data(USArrests) 
PCA.USA <- prcomp(USArrests[,c(1,2,4)], scale=TRUE) 
proporcionDeInfluencia <- abs(PCA.USA$rotation)
sweep(proporcionDeInfluencia, 2, colSums(proporcionDeInfluencia), "/")

更多信息Principal Components Analysis - how to get the contribution (%) of each parameter to a Prin.Comp.?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 2015-07-29
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    相关资源
    最近更新 更多