🧵一种面向栅格的空间-属性双重约束聚类方法
2023-6-16
| 2023-6-16
0  |  阅读时长 0 分钟
type
status
password
date
slug
summary
category
URL
tags
icon
传统空间聚类方法大致可分为五类:即基于划分、基于层次、基于密度、基于网格、基于模型的聚类方法[2],而这些方法大都只考虑单一的空间位置聚类或专题属性聚类。由于地理空间对象具有空间和专题属性双重特性,这要求同一簇类既要在空间域上毗邻,又要在属性域上具有最大的相似度[3],即聚类结果中的各栅格簇在空间域上连续、在属性域上相近[4]。

研究现状

在解决上述双重聚类问题时,现有空间-属性双重约束聚类方法可归纳为3类:
  1. 同一相似度量准则,同时聚类。其将空间位置与非空间属性归一化,融合加权构造相似性度量公式,再利用常用聚类算法进行聚类,例如空间加权举例模糊C均值聚类法。此类方法将空间坐标与属性加权纳入一个空间相似性度量公式中,其权重确定较为困难;同时将空间坐标作为另一种专题属性处理,在一定程度上弱化了对象的空间特性。
  1. 不同相似性度量准则,同时聚类。其在聚类的过程中分别考虑空间邻近与属性相近,大多数在传统聚类算法的基础上进行扩展,例如利用双阈值约束空间与非空间信息的ST-DBSCAN算法
  1. 空间、属性分别聚类后,在综合聚类。其从空间域和专题属性域2个方面分别进行聚类,然后综合生成最终聚类结果。代表研究有交互聚簇分类算法。
目前双约束聚类算法大多面向矢量数据集,针对栅格数据集的双约束聚类问题,还需要深入探讨。

ROCMSAC方法

概念定义

设空间栅格数据集:表示栅格数据行号与列号的乘积, 为栅格像元,的空间属性为其行列号,非空间属性为其像元值。
notion image
  • 定义1 栅格像元空间相邻:栅格数据集中 为两栅格像元 (),若 -邻域中(一般取4、8等值[14]),则定义两栅格像元空间相邻,记为 (图1(a)-(c))。
  • 定义2 空间连通:栅格数据集中 为3个栅格像元 (),若 ,则有 。若栅格子集中任意2个像元 ,至少存在一条空间邻近路径 ,则定义此栅格子集为空间连通(图1(d))。
  • 定义3 栅格子簇:每一个栅格子簇中的栅格像元是空间连通的,且栅格像元间属性值(像元值)差异较小。
  • 定义4 簇中心:由一个虚拟点表示,记为 。其中, 表示簇的空间位置中心, 等于每个栅格像元的行号之和与簇中所有栅格像元个数的商(行均值), 等于每个栅格像元的列号之和与簇中所有栅格像元个数的商(列均值);表示簇的属性中心,其等于簇中各栅格像元值的均值。
  • 定义5 栅格子簇空间相邻:存在2个空间子簇 ,若 中栅格像元的-邻域中存在 的栅格像元,则称这2个子簇空间相邻,否则两簇为空间独立(图2)。
  • 定义6 栅格子簇空间邻近:存在2个空间独立子簇 ,属性阈值 表示2个空间邻近簇间属性距离的最大值,空间阈值 表示2个空间邻近簇空间中心距离最大值, 为输入参数。若这2个独立子簇的属性距离小于 ,同时空间距离小于 ,则称这2个空间独立子簇空间邻近,记为 (图3)
  • 定义7 栅格簇:是一组栅格数据对象的集合,每一个栅格簇由满足聚类条件的空间邻近以及空间相邻的栅格子簇组成,簇中元素相似度高,簇间相似性差异较大。

算法流程

RoCMSAC算法主要包含3个核心步骤:
  1. 生成属性均质簇。对数据进行纯属性聚类,利用“栅格像元空间相邻”的定义对栅格数据属性聚类结果进行遍历,生成同属性类空间连通簇。
  1. 空间相邻簇合并。利用“栅格子簇空间相邻”的定义对栅格簇的相邻簇进行查询,对满足合并条件的相邻子簇进行合并;
  1. 空间邻近簇合并。利用“栅格子簇空间邻近”的定义对独立子簇进行进一步合并,对属性进行重新聚类划分,得到面向栅格数据的空间-属性双重约束聚类结果。具体方法流程如图4所示。
notion image

属性均质簇的生成算法

对栅格数据的属性进行聚类,可采用多种聚类算法,如K-均值,DBSCAN, SOM[15-17]算法等。本文采用经典聚类算法K-均值作为属性聚类基本算法,对栅格数据进行纯属性聚类。具体步骤为[15]:
  1. 选定期望的聚类个数K,并随机选择K个初始聚类中心。
  1. 对所有数据计算它到各个聚类中心的距离,并分配到距离最近的中心。
  1. 重新计算各个划分类的中心。
  1. 迭代步骤1、3,直到新的聚类中心与原中心相等或者二者差值小于一定阈值,算法结束。栅格数据每个栅格像元在属性聚类后,其属性被所属类别代替。设属性类别为 ,继续进行生成属性均质簇。
  1. 遍历栅格数据集,从第一个栅格开始,查询与其空间相邻的栅格像元,判断是否同属一个类别,如果是则进行合并、标记。
  1. 重复步骤5,直到所有的栅格像元全部被重新标记,生成各个属性类别的空间连通均质簇。

空间邻近簇合并算法

通过上述算法,聚类空间被划分为若干属性均质簇,一个属性类对应一个或多个空间连通簇。在此基础上,进行空间相邻栅格簇的合并,设子簇集为表示所有子簇的个数。每个子簇的簇中心表示为,属性阈值设为。空间相邻簇合并算法的步骤如下
  1. 遍历中的子簇,对每个子簇的空间相邻栅格簇进行查询并存到数组中,则第个子簇的  个空间相邻栅格簇集合表示为 
  1. 计算每个子簇属性中心与其各个空间相邻栅格簇属性中心差异。采用绝对值距离进行衡量,即 ,表示第个子簇与其第个空间相邻栅格簇的属性差异将  小于阈值  的空间相邻栅格簇进行属性差值排序,将属性差值最小的空间相邻栅格簇与该子簇放入集合 
  1. 遍历集合,查找  最小的两个子簇进行合并,更新,及各个子簇中心;
  1. 循环执行步骤2、3,直到没有新的合并簇产生,各个独立簇记为 

空间邻近簇合并算法

每个子簇与其满足条件的空间相邻栅格簇进行合并产生新簇后,第一次簇合并结束。合并结束后,中的各个子簇是相互独立的,在大范围的栅格数据中,一定的空间阈值范围内,2个相互独立且属性接近的子簇可以被认为是空间邻近的,对空间邻近独立栅格子簇做进一步约束聚类,可以使栅格簇在空间上更为连续,聚类结果更加符合实际。因此,根据“栅格子簇空间邻近”的定义,进行空间邻近簇的合并,空间阈值设为 ,合并步骤如下:
  1. 遍历  中的每个独立子簇,采用绝对值距离计算簇间属性差异,将属性距离在阈值  内的独立簇提取。
  1. 对步骤1提取的独立子簇计算两两空间位置差异。采用欧式距离计算2个独立簇的空间差异,以  中的子簇1和子簇2为例,2个簇的空间距离为 ,若  小于 ,则将2个子簇进行合并,更新簇中心,否则不进行合并。
  1. 重复进行步骤1、2直到所有满足条件的独立子簇合并完成。
通过上述算法步骤,对每个栅格的类别归属进行了重新标记,根据标记完成新的聚类划分。
 
 
  • 聚类
  • 层次聚类AP(Affinity Propagation) 聚类举例说明
    Loading...
    目录