如何检测倾斜数据集中的异常值?

机器算法验证 数据集 数据挖掘 数据转换 异常值
2022-03-15 14:02:20

我正在做我的学校数据挖掘项目。在预处理阶段,我需要从我的数据集中删除正偏斜的异常值(参见描述)。我有一个想法删除所有大于平均值 + 3 x 标准差的值,但我不确定这是否适合我的情况,因为数据集不是正态分布的。我应该使用什么技术?

  var     n    mean      sd  median trimmed     mad  min     max   range skew kurtosis   se
1   1 41019 1668.99 1107.08 1453.68 1524.22 1026.05 10.9 5920.74 5909.84 1.18 1.33 5.47
4个回答

底线是,从数据集中删除数据的决定是主题决定,而不是统计决定。鉴于您对数据集的看法,统计数据可帮助您识别异常值。

异常值的一个非常易读的应用处理在

更高级和详细的处理在

  • V. Barnett 和 T. Lewis,统计数据中的异常值(纽约:John Wiley and Sons),1994 年。

几个世纪前,培根在Novum Organum中回答了这个问题套用一句话:做科学就是寻找重复的模式。检测异常就是识别不遵循重复模式的值。“因为谁知道自然之道,谁就会更容易”注意到她的偏差,另一方面,谁知道她的偏差,谁就会“更准确地描述她的方式”。人们通过观察当前规则何时失效来学习规则。

总之,使用用户指定的变量和残差诊断检查建议的变量为您的数据建立一个模型(在时间序列中,可能是电平变化、本地时间趋势、季节性脉冲、参数变化或方差)。在形成一个有用的模型后,评估/检查异常模式的残差;也许是已知事件之前和之后的活动。通过这种方式,您可以迭代以识别异常数据。

标记异常值不是一个主题决定,而是一个统计决定。异常值有一个精确、客观的定义:它们是不遵循大多数数据模式的观察结果。这样的观察需要在任何分析开始时分开,因为它们与大量数据的距离确保它们将对任何以最大似然拟合的模型施加不成比例的拉力。

此外,检测异常值是一个具有明确目标的统计过程,其功效可以衡量同样重要的是要指出,无论它们是如何被识别的(无论是根据算法还是仅仅通过相信别人的疯狂猜测),一组可疑观察的离群性都可以通过测量它们对非稳健拟合:根据定义,异常值是对从 LS/ML 拟合获得的系数具有异常杠杆作用(或“拉动”)的观察值。换句话说,离群值是从样本中移除的观察值应该严重影响 LS/ML 拟合。我在对相关问题的回答中添加了更多解释。

无论如何,您引用的检测异常值的规则是有缺陷的。要了解原因,只需注意 z 分数的平方和总和为常数 (n-1),无论您的数据是否包含异常值。对于您在上一个答案中详细解释的确切问题, 当怀疑感兴趣的观察值具有偏态分布时,如何使用调整后的箱线图来识别异常值。

正如 Placidia 所指出的,我怀疑您没有为我们提供所有元素,因为在单变量数据集上进行数据挖掘确实很奇怪。

无论如何,我建议您看一下有关异常值检测方法的现代书籍。我热烈推荐 Maronna RA、Martin RD 和 Yohai VJ (2006)。稳健统计:理论与方法。威利,纽约。

从科学的角度来看,您仅在以下情况下删除异常值:它是数据输入错误、测量错误或科学上不可能。否则不要删除异常值。尝试使用箱线图、克利夫兰图、条件克利夫兰图,并跟踪异常值。如果您仍然无法证明它们的合理性,请尝试转换您的变量。