我会因为 PCA 而错过异常/异常值吗?

机器算法验证 主成分分析 异常值 降维
2022-03-28 11:42:57

我的最终目标是检测高维空间中的异常(异常值)。我计划使用 PCA 来降低维度,以便能够更好地注意到此类异常。但后来我想了想,并做了一个反例,PCA 甚至可以让事情变得更糟,即使空间的维度更小。

这是一个例子。从第一张图片我们可以明显看出红点是一个异常。当我们执行 PCA 并达到 1 维时,这种现象就会消失。我预计这可能发生在不是从 2D 减少到 1D 而是从 N 减少到 M(M < N)的情况下。

在 PCA 之前

PCA 之后

我只是在寻找对此的确认和其他想法,这会有多大的问题?我猜我们可以以更少的维度为代价丢失相当多的重要信息,因为特征之间的相关性可能会丢失。


编辑:当我们投影到两个组件时也是这种情况。在这种情况下,现象被保留(如预期的那样),但我必须强调,我最初的目标是降低维度,这在这种情况下没有实现。

投影到两个组件上

1个回答

长话短说:这取决于。如果有问题的样本在您提取的 PC 所覆盖的方向上是一个异常值(即出现大多数差异的地方),您将保留该信息,如果它在与所有提取的 PC 正交的方向上是一个异常值,您将丢失它。

老实说:减少到只有一台 PC 是一种极端情况。在高维空间中应用 PCA 时,很少会只使用一台 PC。

相反,如果您有很多最终的最终 PC,这不是一个明智的假设,即仅解释非常少量的总方差并因此最终被丢弃的 PC 也与异常值检测无关?

综上所述:通常,应用 PCA 的动机是假设您的空间中的所有维度都大致相同(最终权重由所选的特征缩放定义),并且不知道预先选择一个基于一些领域知识的相关维度的小子集。这里是这样吗?否则,基于领域知识的特征选择会好得多。