【问题标题】:Removing outliers before fitting convex hull在拟合凸包之前去除异常值
【发布时间】:2019-12-25 22:55:13
【问题描述】:

我有一些数据集想用凸包进行可视化(并从该凸包中得出一些统计数据)。但是,每个数据集都包含一些噪声。因此,凸包不仅覆盖了主数据云中的点,还覆盖了所有异常值,使得凸包的面积非常大,并且在数据集之间没有太大差异。数据集的示例如下所示:

整个区域不是单峰的,但我们当然可以观察到一些扰乱凸包形状的异常值(尤其是左侧)。估计的 KDE 如下所示:

因此,我想删除那些异常值。什么算法可用于将最小面积凸包拟合到数据集中的 n - k 个点,其中 k 设置为与给定观察百分比相对应的某个数字?

请注意,图片指的是示例,实际上我正在处理大量不同的数据集

【问题讨论】:

标签: computational-geometry outliers convex-hull


【解决方案1】:

要标记或删除异常值,您将拥有至少两个 Python 语言的流行库:

  1. 经典的sklearn 移动和异常值检测。
  2. Pyod

Bother 在参考 URL 中提供了可视化的决策边界供参考。您可以根据您的数据集分布来选择合适的算法。

我最喜欢的两种算法是:HBOS 和孤立森林。它们在大型数据集中表现出稳定的性能。前者适用于全球异常值。后者适用于局部异常值。

祝你好运,如果你喜欢这个答案,请投票。

【讨论】:

    猜你喜欢
    • 2019-12-24
    • 2014-12-03
    • 2020-11-28
    • 2016-05-30
    • 2017-09-09
    • 1970-01-01
    • 2019-11-18
    • 2015-07-29
    • 2019-07-06
    相关资源
    最近更新 更多