多元聚类的工作原理

当我们观察周围的世界时,我们会很自然地对所看到的事物进行组织、分组、区别和划分,以便帮助我们更好地了解周围的一切;这类心理分类过程是学习和理解的基础。同样,为了帮助您了解以及更好地理解数据,您可以使用多元聚类工具。给定要创建的聚类数,它将寻找一个能够使每个聚类中的所有要素都尽可能相似但各个聚类之间尽可能不同的解。要素相似性基于您为分析字段参数指定的一组特性,同时聚类是使用 K 均值算法来创建的。

提示:

聚类、分组和分类技术是机器学习中使用最广泛的一些方法。多元聚类工具利用非监督的机器学习方法来确定数据中的自然聚类。由于这些分类方法不需要一组预先分类的要素来指导或进行训练来查找数据中的聚类,因此可将其视为非监督类型。

虽然存在数百个类似这样的聚类分析算法,但它们都被归类为 NP-hard 问题。这意味着要确保某个解能够完美地实现组内相似性和组间差异最大化,唯一方法就是对要聚类的要素的每一种可能组合都进行尝试。虽然这对于少量的要素是可行的,但对于问题来说,会很快变得非常棘手。

不但确保找到最佳解非常困难,而且尝试找到一种最适合所有可能数据类型和情景的聚类算法也不现实。各个聚类包含的形状、大小和密度各不相同;属性数据可能包括各种范围、对称性、连续性和测量单位。这就是过去 50 年来开发了如此众多不同聚类分析算法的原因。因此,将这些工具视为一种可帮助您更好地了解数据基本结构的探索性工具比较合适。

潜在的应用

应用此工具的一些方法如下:

  • 假设您拥有来自所在州周围农场的沙门氏菌样本,以及包括类型/类别、位置和日期/时间在内的属性。为了更好地了解细菌如何传播和扩散,您可以使用多元聚类工具将样本划分为各个“爆发”。尽管分析本身不是空间上的,但是当爆发蔓延时,您可能会在结果中发现空间模式。确定聚类之后,可以使用其他空间模式分析工具,比如标准差椭圆平均中心近邻来分析每一次爆发。
  • 如果您收集了有关动物观察方面的数据,以便更好地了解它们的领地,多元聚类工具可能很有帮助。例如,了解鲑鱼在不同生命阶段的聚集地点和时间,可以帮助您规划保护区,以帮助确保成功繁育。
  • 按购买方式、人口统计特征、旅行方式或其他行为属性对客户进行聚类,可以帮助您为公司产品制订有效的营销策略。

输入

此工具的输入包括点、折线或面输入要素输出要素的路径、一个或多个分析字段以及表示要创建聚类数的整数值。还有许多可选参数,包括初始化方法的选项和一个最佳聚类数评估输出表

分析字段

选择反映比率、间隔或序数测量系统的数值字段。虽然标称数据可以使用“哑元”(二进制)变量进行表示,但它们通常不像其他数值变量类型一样起作用。例如,您可以创建一个名为 Rural 的变量,并向每个要素(如每个人口普查区)分配 1(如果大部分是乡村)和 0(如果大部分是城市)。此变量更好的表示方法是,使用与每个要素相关的乡村面积的数量或比例来表示。

注:

由于方差较大的变量(其中数据值围绕平均值扩散)对聚类的影响大于方差较小的变量对聚类的影响,因此分析字段中的值将由工具进行标准化。属性值的标准化涉及 Z 变换,即从每个值中减去所有值的平均值然后除以所有值的标准差。标准化将所有属性放在同一比例中,即使它们由不同类型的数字表示时也是如此:比率(0 到 1.0 的数字)、人口(超过 1 百万)和距离(例如,千米)。

您应该选择您认为可以将一聚类要素与另一聚类要素区别开来的变量。例如,假设您想要按学生在标准化成绩测试中的成绩对学区进行聚类。您可以选择各种分析字段,如整体测试得分、数学和阅读等特定科目的成绩、满足一些最低考试得分阈值的学生比例等。运行多元聚类工具时,将为每个变量计算 R2 值,并在消息窗口中进行报告。例如,在下面的汇总中,根据学生测试得分、该地区未上完中学的成人比例、每个学生的开支以及学生与教师的平均比率,来对学区进行分组。请注意,TestScores 变量具有最高的 R2 值。这表明此变量能够最有效地将学区聚类。R2 值反映在聚类流程之后原始 TestScores 数据中的变化的保留程度,因此,特定变量的 R2 值越大,变量越能更好地对要素进行区分。

多元聚类变量汇总

抢先版本:

R2 的计算公式如下:

(TSS - ESS) / TSS

其中 TSS 是总平方和,ESS 是回归平方和。TSS 的计算方法是先计算平方,然后再计算变量全局平均值偏差的总和。ESS 的计算方法相同,不同之处在于偏差是聚类计算:从所属聚类的平均值减去每个值,然后再计算平方和总和。

聚类数

有时您会知道最适合于您问题的聚类数,您会针对聚类数参数输入该数量。但是,在许多情况下,对于选择具体聚类数您没有任何标准;而只是希望得到一个数,这个数能够最恰当地对要素相似性和差异性进行区分。为帮助您解决这种情形,您可以留空聚类数参数,然后让多元聚类工具评估将要素分为 2、3、4 和多达 30 个聚类时的有效性。聚类有效性通过 Calinski-Harabasz 伪 F 统计量来测量,它是一个反映聚类间方差和聚类内方差的比率。换言之,是反映组内相似性和组间差异的比率:

Calinski-Harabasz 伪 F 统计量

聚类方法

默认情况下,多元聚类工具使用 K 均值算法。“K 均值”算法的目标是对要素进行划分,从而使所有聚类的每一个聚类中要素之间的差异最小化。由于该算法属于 NP-hard 问题,因此将采用启发式贪婪算法对要素进行聚类。贪婪算法始终收敛于局部最小值,但并不总是能够找到全局(最佳)最小值。

“K 均值”算法首先确定用于增长每个聚类的种子。因此,种子数始终与聚类数相匹配。第一个种子是随机选择的。但是,虽然采用的是随机分量,但选择剩余种子时会应用一个权重,该权重将有利于选择与现有的一组种子要素最远的后续种子(这部分算法称为 K 均值 ++)。由于在为初始化方法选择优化的种子位置随机种子位置时将使用随机分量查找种子,因此每次运行此工具所获得的聚类结果可能都会有所不同。

确定种子后,将向最近的种子要素(在数据空间中最近)分配所有要素。对于要素的每个聚类,将计算一个均值数据中心,并将每个要素重新分配给最近的中心。计算每个聚类的均值数据中心并随后向最近的中心重新分配要素这一过程将会一直继续,直至聚类成员关系稳定为止(最大迭代次数为 100)。

与“K 均值”算法一样,“K 中心点”算法首先确定用于增长每个聚类的种子要素。每个种子要素都是输入要素中的实际要素。这些种子要素被称为中心点。所有要素都会分配给最近的中心点 (在数据空间中最近)。这是初始聚类解决方案。将计算中心点和所有非中心点要素之间的距离总和(在数据空间中)。要优化此解决方案,在每个聚类中,交换中心点和每个非中心点要素,并计算每个中心点和非中心点要素之间的距离总和(在数据空间中)。如果交换后的距离总和有所增加,则撤消交换操作,否则交换的要素将成为新中心点。查找新中心点并将要素重新分配给最近的中心点这一过程将一直继续,直至聚类成员关系稳定为止。

“K 均值”和“K 中心点”都是流行的聚类算法,通常会产生类似的结果。但是,“K 中心点”更适用于输入要素中的 噪点和异常值。“K 均值”通常比“K 中心点”速度快,是用于大型数据集的首选算法。

输出

多元聚类工具会创建许多输出。消息可从地理处理窗格进行访问,方法为将鼠标悬停在进度条上,单击工具进度按钮工具进度,或展开地理处理窗格底部的消息部分。您还可以通过地理处理历史访问之前运行多元聚类的消息。

多元聚类消息窗口

多元聚类工具的默认输出是一个新的输出要素类,它包含分析中使用的字段,以及一个名为 CLUSTER_ID、用于标识每个要素所属聚类的新整型字段。此输出要素类会添加到内容列表中,并会向 CLUSTER_ID 字段应用一种独特的颜色渲染方案。IS_SEED 字段可指示选作种子的要素和用于扩大聚类的要素。

多元聚类结果
多元聚类结果的示例

多元聚类图表输出

可创建多种类型的图表来汇总创建的聚类。箱形图用于显示关于每个聚类的特征信息以及分析中使用的每个变量的特征。下图显示了如何解读每个分析字段和创建的聚类的箱形图及其汇总值:最小数据值、第一四分位数、全局均值、第三四分位数、最大数据值和数据异常值(小于或大于四分位距 1.5 倍的值)。将鼠标悬停在图表上的箱形图上,即可查看这些值以及四分位数范围值。落在最小值或最大值(上须线或下须线)之外的任何点标记代表数据异常值。

抢先版本:

四分位距 (IQR) 是第三四分位数减去第一四分位数。低异常值将是小于 1.5*IQR (Q1-1.5*IQR) 的值,而高异常值将是大于 1.5*IQR (Q3+1.5*IQR) 的值。异常值在箱形图中显示为点符号。

箱形图汇总

默认的平行箱形图图表汇总了各个聚类以及聚类中的各个变量。例如,对人口普查区域运行多元聚类工具以创建四个聚类。在下面的图表中,请注意聚类 2(红色)反映具有高于其他聚类的平均租金、有孩子的女户主家庭的最高值 (FHH_CHILD)、住宅单元数量的最高值 (HSE_UNITS) 以及 5 岁以下儿童的最高值的区域。聚类 4(金鳞色)反映具有最高中值租金、有孩子的女户主家庭数量几乎最低、超出住宅单元平均数量的区域。聚类 3(绿色)反映了有孩子的女户主家庭最少、5 岁以下儿童最少、住宅单元数量最少和佣金几乎最低(不低于聚类 1)的区域。将鼠标悬停在平均线的每个节点上,查看每个分析字段的聚类平均值。

多元聚类箱形图

使用上面的平行箱形图检查分析的全局汇总后,可以通过在图表属性窗格的系列选项卡中切换为并排来检查每个变量的各个聚类箱形图。通过这种方式,很容易了解哪个组中的每个变量具有最高和最低值范围。针对每个变量为每个聚类创建箱形图,以便查看每个聚类的值与创建的其他聚类的关系。将鼠标悬停在每个变量的箱形图上,以查看每个聚类中每个变量的最小值、最大值和中值。例如,在下面的图表中可以看到,聚类 4(金鳞色)的 MEDIANRENT 变量具有最高值,并包含值为 354 到 813 的区域。

多元聚类箱形图

可创建一个显示聚类要素数量的条形图。选择每个条形图时也会在地图中选择该聚类的要素,这将有助于进一步分析。

每个聚类的要素数条形图

当您将聚类数参数留空时,该工具将基于您的数据评估最佳聚类数。如果您为聚类数评估输出表指定路径,则将创建一个显示伪 F 统计量计算值的图表。图表上最高的峰值是最大 F 统计量,表示使用多少个聚类来区分指定的要素和变量最有效。在下面图表中,与四个组相关的 F 统计量是最高的。具有较高伪 F 统计量的五个组也是不错的选择。

伪 F 统计量图
用于评估最佳聚类数的伪 F 统计量图表

最佳做法

虽然倾向于引入尽可能多的分析字段,但对于多元聚类工具而言,最好从单个变量开始构建。较少的分析字段的结果更易于解释。而且,字段较少时,还易于确定哪些变量是最佳辨别因素。

在许多情况下,您可能运行多元聚类工具多次,以寻找最佳聚类数以及能够对要素进行最有效分为聚类的分析字段的组合。

如果工具返回 30 作为聚类的最佳数量,请务必查看 F 统计量图表。选择聚类数与解释 F 统计量图表也是一种艺术,较低的聚类数可能更加适合您的分析。

其他资源

Jain, A. K. 2009. "Data Clustering: 50 years beyond K-Means." Pattern Recognition Letters.

Hinde, A., T. Whiteway, R. Ruddick, and A. D. Heap. 2007. "Seascapes of the Australian Margin and adjacent sea floor: Keystroke Methodology." in Geoscience Australia, Record 2007/10, 58pp.