我正在尝试自动检测 x,y 散点图中的一些数据点。我有数千个,因此我需要实施一种在准确性和灵敏度之间取得良好权衡的方法。从视觉上看,我可以看到我的“异常”数据点,但我很难从统计上拾取它们。
这是我的 x,y 数据的典型散点图(请查找此处附加的 xy 数据:https://onlinetextsharing.com/untitled-722):
我最感兴趣的是识别具有正偏差的数据点,即下面用红色圈出的数据点:
用蓝色圈出的那些可能是“异常的”,但我知道它们可能离主星团太近,无法清楚地(和/或统计上)被选为异常。具有负偏差的那些(即那些用绿色圈出的)也可以被标记为异常,但我对它们不太感兴趣。
我想要实现的目标如下图所示(尽管任何其他方法都非常受欢迎)。基本上,我想拟合一条穿过主簇的曲线并隔离该主簇内的数据点。最后,我可以将那些超出这些假设边界的人标记为潜在异常。请注意,边界(如红色阴影区域所示)不需要沿曲线等距分布,它们可以随着点的扩散程度而变化(如果有意义的话)。
我在这个论坛上找到了一些想法(即Python中LOWESS的置信区间),但我不确定这些是否适用于我的数据。 这几乎就是我所追求的:
来自:https://github.com/cerlymarco/tsmoothie
非常感谢任何帮助。 预先感谢!