异常检测的验证是什么?

时间:2016-01-26 01:21:55

标签: machine-learning statistics probability outliers

关于数据科学的另一个一般性问题! 让我们说我有一堆样本,我必须检测每个样本的异常值。我的数据是单变量的,所以我可以使用标准偏差或中位数绝对偏差等简单方法。

现在我的问题是:如何进行任何类型的验证以确定结果是否一致,特别是如果由于数据的大小而不能通过眼睛观察它们是不是一个选项?例如,选择用于定义异常值的标准偏差的数量。到目前为止,我还没有看到任何定量方法。它甚至存在吗?

干杯

1 个答案:

答案 0 :(得分:1)

有趣的是,您没有定义“数据大小”的维度。我认为这在哪里很重要。例如,您可以绘制高维数据的q-q图,但对于许多数据点而言并不容易。

但是,在寻找一般方法时,我会从概率的角度来解决这个问题。这永远不会告诉您哪个数据点是异常值,但是,它会告诉您异常值的概率(在数据的某些区域)。 我必须做出两个假设(a)你知道你的数据源自的分布族,例如正常或泊松(b)你可以在给定数据集的情况下估计这个族的参数。

现在,您可以定义数据来自此分布的假设,以及数据不是来自此分布的备选假设(H0)。如果您从估计的分布中抽取随机样本,则绘制的分布应该平均可能来自作为观察样本的分布。如果不是这样的话

然而,可能更有趣的是找到包含异常值的子空间。这可以通过以下经验程序来完成。如果您现在根据数据估算分配的参数。您可以将估计的分布与所见数据的直方图进行比较。这为直方图的每个bin提供了ic包含异常值的概率。对于高维数据,可以通过程序检查。