我使用GAP统计信息来估算R中的k个聚类。但是,我不确定我是否解释得很好。
从上图可以看出,我应该使用3个群集。
从第二个图中,我应该选择6个群集。GAP统计信息的正确解释吗?
我将不胜感激。
clusGap
基于globalmax使用,我不知道如何实现maxSE。
我使用GAP统计信息来估算R中的k个聚类。但是,我不确定我是否解释得很好。
从上图可以看出,我应该使用3个群集。
从第二个图中,我应该选择6个群集。GAP统计信息的正确解释吗?
我将不胜感激。
clusGap
基于globalmax使用,我不知道如何实现maxSE。
Answers:
为了获得理想的聚类,您应该选择以使差距统计最大化。这是Tibshirani等人给出的示例。(2001年)在他们的论文中,该图是由具有2个聚类的人工数据形成的。如您所见,2显然是理想的,因为在,间隙统计量最大化:
但是,在许多现实世界的数据集中,聚类的定义不够明确,我们希望能够在最大化缺口统计量与模型简约性之间取得平衡。恰当的例子:OP的第一张图片。如果仅使差距统计最大化,则应该选择具有30个(甚至更多!)集群的模型。当然,假设该图将继续增加,那么结果就没那么有用了。因此Tibshirani建议采用1-标准误差方法:
选择簇大小为最小的,以使。
非正式地,这是确定差距统计的增长率开始“放缓”的点。
因此,在OP的第一张图片中,如果我们将红色误差线作为标准误差,则3是满足该标准的最小:
但是,对于OP的第二张图片,您会看到,间隙统计量立即减小。因此,满足1标准误差标准的第一个是。这是该图表示数据不应聚类的方式。
事实证明,还有其他方法可以选择最佳。例如,R函数的默认方法始终搜索图的局部最大值,并选择局部最大值的一个标准误差内的最小。使用这种方法,我们将分别为OP的图1和图2 选择和。但是,正如我所说,这似乎遇到了复杂性问题。clusGap
firstSEmax
资料来源:Robert Tibshirani,Guenther Walther和Trevor Hastie(2001)。通过差距统计量估算数据集中的簇数。