我对检测密度变化的区域中的集群感兴趣,例如城市中用户生成的数据,为此,我采用了OPTICS算法。

DBSCAN不同,OPTICS算法不会产生严格的集群分区,而是会增加数据库的顺序。为了产生集群分区,我使用OPTICSxi,这是另一种基于OPTICS输出产生分类的算法。很少有能够从OPTICS的输出中提取集群分区的库,并且ELKI的OPTICSxi实现就是其中之一。

对我来说很清楚,如何解释DBSCAN的结果(尽管设置“有意义的”全局参数并不那么容易)。 DBSCAN检测簇的“原型(prototype)”,其特征是密度,表示为每个区域的点数(分钟/ε)。 OPTICSxi的结果似乎很难解释。

我有时会在OPTICSxi的输出中检测到两种现象,而我无法解释。一种是,“穗状花序”群集的出现,它们链接了 map 的各个部分。我无法解释它们,因为它们似乎是由很少的点组成的,而且我不理解算法是如何决定将它们分组在同一个群集中的。它们真的代表密度变化的“走廊”吗?查看基础数据,看起来不是那样。您可以在下面的图像中看到这些“尖峰”。

我无法解释的另一个现象是有时存在相同层次级别的“重叠”簇。 OPTICSxi基于数据库的OPTICS排序(例如树状图),该图中没有重复的点。

由于这是分层聚类,因此我们认为较低级别的群集包含较高级别的群集,并且在构建凸包时会强制执行该想法。但是,我看不出有在同一个层次级别上与其他集群相交的集群的任何理由,这实际上意味着某些点将具有双重集群“成员资格”。在下面的图像中,我们可以看到一些具有相同层次级别(0)的相交群集。

最后,我想与您讨论的最重要的想法/问题是:我们希望在OPTICSxi聚类分类中看到什么? 这个问题与参数化OPTICSxi的任务紧密相关。

由于我几乎看不到针对特定聚类问题进行OPTICSxi的任何研究,因此我很难找到最佳聚类分类。即:它可以提供一些有意义/有用的结果,并为DBSCAN集群增加一些值(value)。为了帮助我回答这个问题,我使用不同的参数组合进行了多次OPTICSxi运行,并选择了三个参数进行讨论。

在此运行中,我使用了较大的epsilon(2Km)。该值的含义是我们接受大型群集(最大2Km);由于算法“合并”了簇,因此我们最终会得到一些非常大的簇,这些簇几乎肯定具有较低的密度。我喜欢此输出,因为它公开了分类的层次结构,并且实际上使我想起了具有不同参数组合(针对不同密度)的几次运行DBSCAN,这是OPTICS的广告“强度”。如前所述,较小的群集对应于层次结构级别中的较高级别和较高的密度。

在此运行中,即使“contrast”参数与上一次运行相同,我们也会看到大量的簇。这主要是因为我选择的Minpts数量较少,这表明我们接受的点数较少的聚类。由于这种情况下的epsilon较短,因此我们看不到这些大型簇占据了 map 的很大一部分。我发现此输出不如前一个有趣,这主要是因为,即使我们具有分层结构,在同一级别上也有许多聚类,并且其中许多相交。在解释方面,我可以看到一个与上一个相似的整体“形状”,但实际上在许多小簇中却离散了,这些簇很容易被忽略为“噪音”。

此运行具有一个与上一个相似的参数选择,不同之处在于分钟数更大。结果是,不仅我们发现了更少的集群,而且它们的重叠较少,而且它们大多处于同一水平。

从为DBSCAN增加值(value)的角度来看,我将选择第一个参数组合,因为它提供了数据的层次结构图,清楚地显示了哪些区域更密集。恕我直言,最后一个参数组合无法提供密度的全局分布的概​​念,因为它在整个研究区域内都发现了相似的簇。我有兴趣阅读其他意见。

最佳答案

从OPTICS图中提取聚类的问题是cluter的第一个和最后一个元素。仅从图上,您就无法(据我所知)决定最后一个元素是否应属于先前的簇。

考虑这样的情节

*
*        *
*        *
*       **
**************
A B C D EF G H

这可以是一个群集,其中A恰好在中间,B-E在其附近,F是完全不同的群集中最接近的元素。例如,数据集可能如下所示:
  *   D           *
B   A     E     F   G
  *   C           H   *

或者,A在第一个簇的边缘,B-D是簇的一部分,而E是将间隙桥接到簇F-H的离群元素。
导致这种影响的数据集可能看起来像这样:
  D   *                 *
*   C   B  A    E     F   G
  E   *                 H   *

OpticsXi视觉操作。 F是要分割的“更陡峭”的点,因此E在每种情况下都将是第一个群集的一部分。从字面上看,这是OpticsXi无需查看数据点就能做出的最佳猜测。

这可能是导致您一直观察到的尖峰的影响。

我看到四个选项:
  • 自己改善OpticsXi。如果您有兴趣,我们可以讨论一些启发式方法,以区分上述两种情况。
  • 实现了其他提取方法之一,例如拐点(但是它们可能会遭受相同的影响,也可能在AFAICT图中)。
  • 使用HDBSCAN(对不起,ELKI中尚未包含,尽管我们有一个似乎可以正常使用的版本)-可能在0.7.0的
  • 对集群应用后处理。特别是,如果要将它们包括在群集中,请将它们移动到下一个,或将它们移动到父群集,请按群集顺序测试前几个点和最后几个点。也许只是通过与群集的平均距离...
  • 10-05 18:59