首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PCA : python中本征值与本征向量与负载?

PCA : python中本征值与本征向量与负载?
EN

Stack Overflow用户
提问于 2021-05-08 09:00:32
回答 1查看 989关注 0票数 0

我试图计算数据集的PCA负载。我读到的越多,我就越困惑,因为“加载”在许多地方的用法不同。

我在python中使用sklearn.decomposition进行PCA分析,并使用R(使用factomineR外因库),因为它提供了简单的可视化技术。以下是我的理解:

  1. pca.components_给出了本征向量。它们给了我们最大的变化方向。
  2. pca.explained_variance_给出了与本征向量相关联的特征值。
  3. 特征向量*sqrt(特征值)=加载,它告诉我们主成分(Pc)是如何加载变量的。

现在,我感到困惑的是:

  1. 许多论坛说,本征向量是加载。然后,当我们把特征向量乘以sqrt(特征值)时,我们就得到了关联的强度。其他人说特征向量*sqrt(特征值)=负载。
  2. 特征向量平方告诉我们变量对pc的贡献?我相信这相当于R中的var$cont肋骨。
  3. 加载平方(本征向量或特征向量*sqrt(特征值),我不知道哪一个)显示pc如何捕获一个变量(接近1=变量,更好地由pc解释)。这相当于R中的var$cos2吗?如果不是,R中的cos2是什么?
  4. 基本上,我想知道如何理解主组件如何捕获变量,以及变量对pc的贡献。我觉得他们俩不一样。
  5. pca.singular_values_是什么?从文件中还不清楚。

我提到的这些第一第二链接包含有说明的R代码和使我感到困惑的statsexchange论坛。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-09 10:26:27

好吧,经过大量的研究和研究,我有以下几点,

  1. pca.components_ =本征向量。采用转置,使pc是列,变量是行。

1.a:特征向量**2=主成分中的可变贡献。如果它接近1,那么一个特定的pc很好地解释了这个变量。

在python -> (pow(pca.components_.T))中,如果你想要百分比而不是比例,2)用100乘

  1. pca.variance_explained_ =本征值
  2. pca.singular_values_ =由奇异值得到的奇异值。(奇异值)**2/(n-1)=本征值
  3. 特征向量*sqrt(特征值)=负载矩阵

4.a:平方加载矩阵的垂直和=本征值。(如步骤1所述,您已经使用了转座子)

4.b:平方加载矩阵的水平和=所有主成分-How解释的观测方差,所有pc在变换后都保留一个变量方差。(如步骤1所述,您已经使用了转座子)

在python-> loading = pca.components_.T * sqrt(pca.explained_variance_)中。

有关r的问题:

var$cor 2=var$cor(两个矩阵是相同的)。给定因子图上变量的坐标,它用一个特定的主成分表示得有多好。似乎是变量和主成分的相关性。

在r:(var.cos2 * 100) /(组件的总cos2 ) R链路中的主成分分析

希望它能帮助那些对PCA分析感到困惑的人。

非常感谢-- https://stats.stackexchange.com/questions/143905/loadings-vs-eigenvectors-in-pca-when-to-use-one-or-another

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67445786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档