《ArcGIS应用之基于密度的聚类分析》由会员分享,可在线阅读,更多相关《ArcGIS应用之基于密度的聚类分析(8页珍藏版)》请在金锄头文库上搜索。
1、ArcGIS应用之基于密度的聚类分析我们生活在数据大爆炸时代,每时每刻都在产生海量的数据如视频,文本,图像和博客等。由于数据的类型和大小已经超出了人们传统手工处理的能力范围。聚类,作为一种最常见的无监督学习技术,可以帮助人们给数据自动打标签,已经获得了广泛应用。聚类的目的就是把不同的数据点按照它们的相似与相异度分割成不同的簇(注意:簇就是把数据划分后的子集),确保每个簇中的数据都是尽可能相似,而不同的簇里的数据尽可能的相异。从模式识别的角度来讲,聚类就是在发现数据中潜在的模式,帮助人们进行分组归类以达到更好理解数据的分布规律。今天要跟大家分享的这个工具就跟聚类有关,它是ArcGIS中一个空间模
2、式识别工具基于密度的聚类分析。基于密度的聚类工具的工作原理是检测点集中的区域以及被空的或稀疏的区域所分隔的区域。不属于聚类的点将被标记为噪点。一、聚类的应用 城市供水网络是一种重要的隐形地下资产。管道破裂和爆裂的聚类可以指明潜在的问题。使用基于密度的聚类工具,工程师可以找到这些聚类的位置并对供水网络中的高危区域抢先采取行动。 假设您拥有 NBA 球员所有成功的和失败的投篮位置数据。基于密度的聚类可以显示每名球员成功与失败投篮位置的不同模式。然后可利用此信息告知比赛战术。 假设您正在研究一种特别的害虫传播疾病,并且有一个代表您研究区域内家庭的点数据集,其中有些家庭已经被感染,有些家庭尚未被感染。
3、通过使用基于密度的聚类工具,您可以确定受害家庭的最大聚类,以帮助确定一个区域以开始害虫的处理和消灭。 可对自然灾害或恐怖袭击之后的地理定位推文进行聚类,根据所确定的聚类大小和位置报告救援和疏散需求。 聚类可以将大规模的客户数据按照客户喜好进行归类,比如下图1展示了聚类后发现了3个簇。图1 聚类的应用举例二、功能定义聚类算法很多,包括基于划分的聚类算法(如:k-means),基于层次的聚类算法(如:BIRCH),基于密度的聚类算法(如:DBSCAN),基于网格的聚类算法( 如:STING )等等。本文将介绍聚类中一种最常用的方法基于密度的聚类方法(density-based clustering
4、)。这个工具的核心功能是检测点数据集中集聚区域和被空的或稀疏区域所分隔的区域。这个工具使用了非监督的机器学习聚类算法,这个算法并不需要预先针对聚类进行训练,仅根据空间位置和到指定邻域的距离通过最小聚类点数作为约束自动检测模式。详细的算法原理请参阅后面的原理分析部分。三、使用工具步骤可能大家一听到“非监督机器学习”,瞬间就会觉得这是个很难使用的工具,事实上这个工具恰恰非常简单易用,如图2所示。输入和输出都很明确,也非常易于理解。图2 非监督机器学习的过程3.1输入参数1. 设置点图层,在大数据分析工具中,这个点图层的空间参考要求是投影坐标系的,如果数据本身不是,那可以通过设置环境变量中的工具处理
5、空间参考为投影坐标系,比如3857,来实现动态投影;2. 设置最小点数,这个值可以理解为最少多少个点可以被考虑为一个聚类,分析区内如果点数低于这个值,说明密度低于临界值,过于稀疏,反之,这些点可以组成一个聚类;3. 设置搜索半径,这个值用于创建分析邻域,以分析点为中心,这个值为半径,就可以缓冲一个圆,这个圆就可以用来判断中心点是否属于哪个聚类或是噪点;4. 设置输出图层名;5. 选择是否仅分析当前地图范围的要素。3.2分析过程从输入参数和输出结果来判断,GA工具中的点聚类工具,后面对应的算法应该是DBSCAN, 后面我还会细说这个算法,在这儿先大概描述下工具背后执行的逻辑:1. 针对待分析点先
6、按照搜索半径生成缓冲区;2. 查询缓冲区范围内覆盖的点;3. 如果点数 最小点数,就标识中心点属于某个聚类ID,然后再针对上面搜索到的点执行buffer创建,根据判断条件标识聚类ID;4. 如果点数临界密度,就创建聚类,或分配到某个已经存在的聚类,反之就标注为稀疏点。对于算法程序来说,有个取巧的办法,既然邻域面积相同,事实上直接比较点数就可以了,这样计算更快。再通过下面的图,直观的来理解下DBSCAN聚类的方法:图4 DBSCAN算法原理在这个例子中,最小点数为4,圆环代表邻域: 假设A点是我们选取的随机起算点,那么以A点为中心,邻域距离为半径绘制的缓冲区中,包含了4个点,这个区域的密度超过最
7、小临界密度,可以构成一个聚类。然后依次判断邻域内的其它三个点,以每个点为中心,绘制缓冲区,再判断每个区域的密度,上图中A点到它邻域内的其它三个点均相互可达,他们属于同一个聚类。按照这样的规则,想像不断生长的密度气泡,就可以把空间距离较近的点链接起来,形成密度区,图中红色点代表相互可达的核心点,属于同一个聚类。 B和C点为黄色, 它们是边界点,聚类中的E点到C点可达,说明C点离该聚类不远,归属该聚类,但是以C点为核心,邻域内的点数仅为1,已经低于临界密度,所以C点又是个边界点,意味着C之外的点需要开启新的聚类或者因为过于稀疏,成为噪点。 再看蓝色N点,以N点为中心,邻域内没有其它点到N点可达,从
8、N点也无法到达任何点,说明N点所在区域密度过于稀疏,该点标识为噪点。由于DBSCAN是靠不断连接邻域内高密度点来发现簇的,只需要定义邻域大小和密度阈值,因此可以发现不同形状,不同大小的簇。下图展示了一个二维空间的DBSCAN聚类结果。图5 二维DBSCAN算法聚类结果由于DBSCAN使用的是全局的密度阈值MinPts, 因此只能发现密度不少于MinPts的点组成的簇,即很难发现不同密度的簇。其成功与失败的情况举例如下:图6 不同密度阈值下聚类结果左图有三个簇,一个全局密度阈值可以把三个簇分开。但在右图中,一个阈值无法把三个簇分开,过高的阈值会把C3全部变成异常点,过低的阈值会把C1和C2合并起
9、来。为了解决其发现不同密度的簇,目前已经有很多新的方法被发明出来,比如OPTICS (ordering points to identify the clustering structure)将邻域点按照密度大小进行排序,再用可视化的方法来发现不同密度的簇,如下图所示。OPTICS将数据以密度的形式排序并展示,不同山谷就是不同密度大小的簇。图7 二维DBSCAN算法聚类结果OPTICS将数据以密度的形式排序并展示,不同的山谷就是不同密度大小的簇。五、讨论基于密度的聚类是一种非常直观的聚类方法,即把临近的密度高的区域练成一片形成簇。该方法可以找到各种大小各种形状的簇,并且具有一定的抗噪音特性。在
10、日常应用中,可以用不同的索引方法或用基于网格的方法来加速密度估计,提高聚类的速度。六、参考资料1. Aggarwal, C. C., & Reddy, C. K. (Eds.). (2013). Data clustering: algorithms and applications. CRC press.2. Ankerst, M., Breunig, M. M., Kriegel, H. P., & Sander, J. (1999, June). OPTICS: ordering points to identify the clustering structure. In ACM Si
11、gmod record (Vol. 28, No. 2, pp. 49-60). ACM.3. Ester, M., Kriegel, H. P., Sander, J., & Xu, X. (1996, August). A density-based algorithm for discovering clusters in large spatial databases with noise. In SIGKDD (Vol. 96, No. 34, pp. 226-231).4. Han, J., Pei, J., & Kamber, M. (2011).Data mining: concepts and techniques. Elsevier.