【问题标题】:Assessing if points exhibit spatial clustering (using R)评估点是否表现出空间聚类(使用 R)
【发布时间】:2018-10-01 15:48:48
【问题描述】:

这是一个有点理论和实践的问题。 我有一个包含点列表的 x、y、z 坐标的 df。这些点是由图像分割生成的 3D 表面上的点。 我要解决的问题是这些点是随机分布在这个表面上还是表现出一些聚类。我正在 R 中对此进行测试。

我使用的第一种方法是 kmeans。我要求计算机确定可以使这些数据适合的最佳(如果有的话)组数。 我正在使用这段代码。它测试了 30 个不同的指标(各种方法)并输出了最佳的聚类数

library("NbClust")
nb <- NbClust(df, distance = "euclidean", min.nc = 2,
          max.nc = 10, method = "kmeans")
library("factoextra")
fviz_nbclust(nb)

此代码来自 http://www.sthda.com/english/articles/29-cluster-validation-essentials/96-determining-the-optimal-number-of-clusters-3-must-know-methods/

我得到了一定数量的集群,我想这首先是集群的一个迹象。 但是,我想从中计算出一个指标吗?关于如何做的建议?

此外,我还通过直方图检查聚类。

     df_mat <- df %>% as.matrix()
     dist_df <- dist(df_mat)
     hist(dist_df)

您可能会期望多个峰值用于聚类,一个峰值可能会或多或少地随机分布。

我正在尝试的另一种方法是层次聚类

 my_hclustdf <- hclust(dist_df)
 plot(my_hclustdf)

但是,输出(树状图)本身并不能告诉我太多信息。

任何建议将不胜感激。 非常感谢

【问题讨论】:

    标签: r cluster-analysis distribution spatial hierarchical-clustering


    【解决方案1】:

    随机分布在这个表面上或者如果它们表现出一些聚类

    问题是这太模糊了。什么是“随机分布”,什么是“一些聚类”?

    有一些工具可以测试这种情况。例如,霍普金斯统计可用于测试分布是否均匀随机。但是没有均匀的随机分布并不意味着存在集群——它只是不均匀的。 k-means 也存在类似的问题:仅仅因为一些启发式方法告诉你使用 k=3 并不能证明存在三个集群。即使在统一的随机数据中,它也可能表明这一点。如果你告诉 k-means 找到 k 个簇,那么它会找到 k 个“簇”。即使是均匀的随机数据。

    您可能想要的是找到多个 - 单独 - 密度模式

    【讨论】:

      猜你喜欢
      • 2021-11-03
      • 2017-06-08
      • 2012-02-24
      • 2016-12-20
      • 2021-06-10
      • 2018-05-13
      • 2018-06-07
      • 2015-03-06
      相关资源
      最近更新 更多