在R中聚类空间数据


12

我有一套每月的海面温度(SST)数据,我想应用一些聚类方法来检测具有相似SST模式的区域。我有一组从1985年到2009年运行的每月数据文件,并希望将聚类应用到每个月作为第一步。

每个文件包含358416点的网格数据,其中约50%是陆地,并用99.99值标记为NA。数据格式为:

   lon     lat   sst
-10.042  44.979  12.38
 -9.998  44.979  12.69
 -9.954  44.979  12.90
 -9.910  44.979  12.90
 -9.866  44.979  12.54
 -9.822  44.979  12.37
 -9.778  44.979  12.37
 -9.734  44.979  12.51
 -9.690  44.979  12.39
 -9.646  44.979  12.36

我尝试了CLARA聚类方法,并得到了一些明显不错的结果,但在我看来,这也只是平滑(分组)等值线。那么我不确定这是分析空间数据的最佳聚类方法。

是否有其他专门用于此类数据集的聚类方法?一些参考将是开始阅读的好方法。

提前致谢。


2
您应该查看cran.r-project.org/web/views/Spatial.html。有一些名称可能具有集群名称的软件包。
Andy W

您是否找到了很好的R包来聚类空间数据?
kaptan 2011年

@kaptan不幸的是我没有,它是
pacomet 2011年

(x,y,T)R3R

Answers:


2

可伸缩集群有不同的方法,分而治之,并行集群和增量式。这是可以使用常规聚类方法后的一般方法。我真正欣赏的一种很好的聚类方法是DBSCAN(带噪声的应用程序基于密度的空间聚类),它是最常用的聚类算法之一。


好的,我将寻找DBSCAN并尝试一下。谢谢
pacomet

如果有任何答案对您有所帮助,或者您发现另一种方式最好给我们,那么所有社区都会从中受益。或选择一个答案以关闭问题。
404Dreamer_ML 2011年

对于答复的延迟,我们感到抱歉,但要点是我没有太多时间尝试dbscan,第一次尝试导致了内存问题。R说它不能分配向量。我从4 km的网格开始,该网格具有779191点,在删除土地(无效)SST点时以300000点结束。也许我没有采取正确的方法,任何提示将不胜感激。
pacomet

1
嗨,我仍然找不到解决方案。我已经阅读了一些有关DBSCAN的文档,并且有一些疑问。如何找到R的最小距离?由于我的数据是三维经度,纬度和温度,应该使用哪个“距离”?尺寸与该距离有关?温度?是否有确定集群最小点数的方法?我在类似我的数据集中找不到使用dbscan的R示例,您知道有这样的示例的网站吗?因此,我可以阅读并尝试适应我的情况。再次感谢
pacomet

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.