我有一张地图坐标列表[lat,lon]。我想过滤掉那些通过某些指标,与主要群体的其他部分相距太远的异常值。
A)一个简单的方法是获得lat,lon的中位数,然后过滤掉距离中位数比距离所述指标更远的距离(例如距离)。这只适用于绝对距离(例如5公里)。
B)对该方法的改进可以假设不超过x%的坐标对将是异常值(基本上在那里设置阈值)。然后我对坐标数组进行排序,并删除第一个x / 2%和最后一个x / 2%。然后找到该组标记的最大距离,该距离将是该阵列中第一个标记与最后一个标记的距离。最后,将A)与距离度量应用于我们刚刚计算的距离(以便距离度量不固定)
这只是我简单提出的一种方法,如果它有任何明显的缺点,请告诉我。在更开放的讨论精神中,您将如何解决这个问题?感谢您的意见
答案 0 :(得分:2)
单独使用坐标不是最好的方法,因为它不是旋转不变的。
您可以尝试通过"洋葱剥离",即重复构建点云的凸包并去除船体顶点。
阅读论文"二维数据集中的洋葱剥离异常值检测; Archit Harsh,John E. Ball&潘伟"。