使用主成分分析的实际数据缩减
Actual data reduction using Principal Component Analysis
我有一个关于 PCA 的 general/basic 问题。
这个想法是通过只关注最相关的方面来消除数据中的冗余,但是,除非我弄错了,否则这并不需要实际查看更少的特征,只是所有特征的少量叠加所涉及的功能。因此,例如,如果您从 10 个特征开始,您将有一个包含 100 个值的协方差矩阵,其中只有 55 个是独立的(由于对称性)。一旦你找到协方差矩阵的特征向量,如果你保持,比如前两个,你就会将你正在查看的事物的数量从 55 减少到 20。我对此是否正确?此外,是否有任何更深入的方法可以从 PCA 输出中了解哪些特征不太相关并且可以从分析中删除?
此外,假设您需要保留八个特征向量以包含 98% 的方差。虽然您有一个有用的基础来描述您的系统,但您真的在数据的简单性和紧凑性方面有所收获吗?
我是新手,非常感谢您提供的任何 help/advice。
The idea is to remove redundancy in the data by focusing on only the most relevant aspects
差不多。 PCA 只是在正交基础上表示您的数据。此基础仍然与您的原始数据具有相同的维度。什么都没有丢失……但是。降维部分完全由你决定。 PCA 确保新投影的前 k 个维度是您的数据可能表示的最佳 k 个维度。最好的是关于解释的方差。
this doesn't entail actually looking at fewer FEATURES, just a small number of superpositions of all of the features involved.
对 - 我们没有减少特征的数量,只是减少了维度的数量。新维度是原始特征的线性组合。在大多数情况下,这些新维度相对于原始特征没有太大意义。即第一主成分可能类似于 = 2.5 * A 列 - 0.5 * B 列 + 0.3 * C 列。谁知道那是什么意思...
Once you're found the eigenvectors of the covariance matrix, if you keep, say the top two, you've then reduced the number of things you're looking at from 55 to 20. Am I correct about this?
我不确定 "looking at" 是什么意思。我一般不看协方差矩阵。如果你有 50 个变量怎么办? 100?有很多吸引眼球的条目:) 在执行归约时,我们通常关心由前 k 个特征向量解释的变化。如果 k < p,那么我们是 "looking at" k 维而不是 p 维。
Also, is there any deeper way to know from the PCA output which features are less relevant and can be removed from the analysis?
有点。根据我的经验,我只能在维度不太大的情况下提取有意义的数据。这个想法是查看前几个主要组件并查看其中特征的权重,看看它们是否可以揭示一个故事。
例如,假设您对代表成人智力分数的数据集执行 PCA,测量的变量为 information retrieval
、pattern completion
、arithmetic
等...并说您的前 2 个特征向量如下:
PC1 = - 0.5 * info - 0.3 * pattern - 0.1 * arithmetic
PC2 = + 0.1 * info - 0.9 * pattern - 0.01 * arithmetic
观察:
1) 由于 PC1
的所有分量大小和符号大致相同,这表明三个变量之间存在正协方差。这意味着,对于一维近似,人与人之间的差异主要是综合能力的差异,而不是仅仅算术上的差异。
2) PC2
由 pattern completion
主导,这表明该任务在区分人们的考试成绩方面与其他任务在重要方面有所不同。
3) arithmetic
与其他测试措施相比似乎没有发挥重要作用。也许可以删除此功能?
While you have a useful basis to describe your system, have you really gained anything in terms of simplicity and compactness of data?
这完全取决于您从 8 个维度而不是 10 个维度中获得的价值。如果前两个或三个显着(例如 60、70% 方差解释),那么绘制它们可能会产生一些见解。否则,PCA 也可以用作进一步分析的预处理步骤。
你的理解有点混乱。如果您有 10 个原始特征,那么 PCA 将产生 10 个 new 特征,并删除所有相关性。然后 select 这些新特征的前 k 个,其中 k
被选择以便保留大量方差。
lets say that you need to keep eight eigenvectors to contain 98% of
the variance.
当原始特征之间几乎没有相关性时,就会出现这种情况。 PCA 通过消除相关性来工作,因此如果开始时几乎没有相关性,那么您将需要大量新功能(在您的情况下为八个)以保留大量方差。
这个 PCA tutorial 是关于该主题的非常易于阅读的介绍。它可能会回答你所有的问题。还有很多关于该主题的统计学或机器学习教科书。
我有一个关于 PCA 的 general/basic 问题。
这个想法是通过只关注最相关的方面来消除数据中的冗余,但是,除非我弄错了,否则这并不需要实际查看更少的特征,只是所有特征的少量叠加所涉及的功能。因此,例如,如果您从 10 个特征开始,您将有一个包含 100 个值的协方差矩阵,其中只有 55 个是独立的(由于对称性)。一旦你找到协方差矩阵的特征向量,如果你保持,比如前两个,你就会将你正在查看的事物的数量从 55 减少到 20。我对此是否正确?此外,是否有任何更深入的方法可以从 PCA 输出中了解哪些特征不太相关并且可以从分析中删除?
此外,假设您需要保留八个特征向量以包含 98% 的方差。虽然您有一个有用的基础来描述您的系统,但您真的在数据的简单性和紧凑性方面有所收获吗?
我是新手,非常感谢您提供的任何 help/advice。
The idea is to remove redundancy in the data by focusing on only the most relevant aspects
差不多。 PCA 只是在正交基础上表示您的数据。此基础仍然与您的原始数据具有相同的维度。什么都没有丢失……但是。降维部分完全由你决定。 PCA 确保新投影的前 k 个维度是您的数据可能表示的最佳 k 个维度。最好的是关于解释的方差。
this doesn't entail actually looking at fewer FEATURES, just a small number of superpositions of all of the features involved.
对 - 我们没有减少特征的数量,只是减少了维度的数量。新维度是原始特征的线性组合。在大多数情况下,这些新维度相对于原始特征没有太大意义。即第一主成分可能类似于 = 2.5 * A 列 - 0.5 * B 列 + 0.3 * C 列。谁知道那是什么意思...
Once you're found the eigenvectors of the covariance matrix, if you keep, say the top two, you've then reduced the number of things you're looking at from 55 to 20. Am I correct about this?
我不确定 "looking at" 是什么意思。我一般不看协方差矩阵。如果你有 50 个变量怎么办? 100?有很多吸引眼球的条目:) 在执行归约时,我们通常关心由前 k 个特征向量解释的变化。如果 k < p,那么我们是 "looking at" k 维而不是 p 维。
Also, is there any deeper way to know from the PCA output which features are less relevant and can be removed from the analysis?
有点。根据我的经验,我只能在维度不太大的情况下提取有意义的数据。这个想法是查看前几个主要组件并查看其中特征的权重,看看它们是否可以揭示一个故事。
例如,假设您对代表成人智力分数的数据集执行 PCA,测量的变量为 information retrieval
、pattern completion
、arithmetic
等...并说您的前 2 个特征向量如下:
PC1 = - 0.5 * info - 0.3 * pattern - 0.1 * arithmetic
PC2 = + 0.1 * info - 0.9 * pattern - 0.01 * arithmetic
观察:
1) 由于 PC1
的所有分量大小和符号大致相同,这表明三个变量之间存在正协方差。这意味着,对于一维近似,人与人之间的差异主要是综合能力的差异,而不是仅仅算术上的差异。
2) PC2
由 pattern completion
主导,这表明该任务在区分人们的考试成绩方面与其他任务在重要方面有所不同。
3) arithmetic
与其他测试措施相比似乎没有发挥重要作用。也许可以删除此功能?
While you have a useful basis to describe your system, have you really gained anything in terms of simplicity and compactness of data?
这完全取决于您从 8 个维度而不是 10 个维度中获得的价值。如果前两个或三个显着(例如 60、70% 方差解释),那么绘制它们可能会产生一些见解。否则,PCA 也可以用作进一步分析的预处理步骤。
你的理解有点混乱。如果您有 10 个原始特征,那么 PCA 将产生 10 个 new 特征,并删除所有相关性。然后 select 这些新特征的前 k 个,其中 k
被选择以便保留大量方差。
lets say that you need to keep eight eigenvectors to contain 98% of the variance.
当原始特征之间几乎没有相关性时,就会出现这种情况。 PCA 通过消除相关性来工作,因此如果开始时几乎没有相关性,那么您将需要大量新功能(在您的情况下为八个)以保留大量方差。
这个 PCA tutorial 是关于该主题的非常易于阅读的介绍。它可能会回答你所有的问题。还有很多关于该主题的统计学或机器学习教科书。