【发布时间】:2015-06-11 16:05:33
【问题描述】:
据我了解,PCA 是在协方差矩阵上执行的。有没有办法改用相关矩阵? latent 输出是否对应特征值?
【问题讨论】:
-
根据该链接,“潜在”变量输出“主成分方差” - 所以不,它不会输出所有特征值,除非我猜它们都相等。至于相关矩阵,我不太确定你的意思——但我猜你的意思是在两组数据之间,我不确定你为什么要这样做。你当然可以这样做,但我不清楚这种事情的含义以及你将如何处理这些信息。你能解释更多吗?
-
@ABC 你知道我怎样才能得到特征值吗?
-
取决于你的特征值是什么以及你想用它们做什么。通常,PCA 用于减少数据集中的特征数量——通过数据的协方差或奇异值分解来找到该数据的特征值——这会告诉你哪些特征贡献了最多的信息——然后你将所有的较小的特征值,因此减少了特征。如果你想要数据的特征值,你可以做一个 SVD 并以这种方式得到它们。或者您可以将 eig 与 X(正方形)或 X^TX(否则)一起使用。我认为你需要更多地解释你的目标是什么。
-
@ABC 感谢您的回答。我会尝试更好地解释自己:我最近从 SPSS 迁移到 MATLAB。问题是,在 SPSS 中运行 PCA 时,我试图获得与在 MATLAB 中相同的结果。但结果不同。这是SPSS中的过程图片imgur.com/e4cW7iA
-
好的,这澄清了一些事情:)我不确定为什么两者的结果不同,但我通过一些挖掘发现相关性是标准化数据的协方差矩阵 - 它重新调整和移动 -这样就可以回答您最初的问题,您可以查找这些详细信息并进行相同的标准化。如果您要比较两个程序中的协方差方法,原因可能是实现可能会有所不同。您可以通过在 cmd 中键入“edit
”来查看 matlab 版本。抱歉,我帮不上忙。