PCA 总结了训练集数据的协方差结构,因此将反映该集上存在的所有方差。PCA 会检测所有异常行为吗?没有任何方法可以,但它有它的优势,但它最大的优势在于模式处理,以及识别不寻常的模式,唉,这不是你所描述的。您似乎在谈论仅限于一个变量的罕见事件,但 PCA 仍然可以做很多事情
异常值出现两个问题
1)在训练/校准中。是否有任何样本呈现出在整个数据集中没有很好地表示的方差?如果只有一个样本呈现一种行为,那么您的 PCA 模型将无法可靠地描述该行为。存在许多识别此类问题的方法,包括 Hotelling 的 $T^2$、与模型的距离、杠杆、残差(后两者均可用于样本或变量)。这是一个热门话题,没有一个答案是普遍适用的。对我来说,如果没有很好地描述任何变化,则应删除样本或重新设计实验,否则它们会在您的模型中创建一个不可靠的元素,这将在新数据集中表现出不可预测的行为,因为您既不能很好地理解它的方差,也不能很好地理解它与其他所有事物的协方差.T2, distance to model, leverage, residuals (both of the latter 2 can be used sample or variable wise) . It is a hot topic, and no answer is universally applicable. To me if any variation is not well described the samples should be removed or the experiment redesigned as otherwise they create an unreliable element in your model that will behave unpredictably in new datasets as you have neither good understanding of its variance nor its covariance with everything else.
2)在测试/验证/应用程序中。所有 PCA 模型都应建立健全性检查,以确定是否存在模型未在新数据中解释的显着残差变化,以便您可以估计模型对样本的描述程度。如果有很多无法解释的差异,那么您就是在推断,应该谨慎行事。.
我们的考虑是 PCA 将忽略此功能,当 > 我们将减少 PCA 之后的列数(例如我们获取 > 95% 的数据)时,异常将“消失”。
如果您正确使用 PCA,则不会,如果您在上述指标中超越基本特征向量,您会看到任何此类行为。在很少有样本或变量异常并对模型造成巨大影响的情况下,这些通常可以在杠杆作用中检测到,而残差有助于确保特定样本或变量的变化已被您选择的 PC 数量考虑在内。
如果问题在于您正在查看您特别希望模型处理的罕见事件,那么问题在于您是否为您的研究提供了足够好的动力以对其行为进行可靠估计,而不是 PCA 本身的问题。实验设计还可以做一些事情,以确保使用有效的数据集捕获最大的相关方差。
是否不鼓励使用 PCA 查找异常?或者我们错过了什么?
我想说应该鼓励使用 PCA 来查找异常,但是需要探索各种工具来查找不同类型的异常。然而,异常可能反映了研究设计不适合兴趣的变化。