乐于分享
好东西不私藏

【统计分析软件SPSS】149、聚类分析概述

【统计分析软件SPSS】149、聚类分析概述

本系列文章(基于SPSS 31版本)配套数据可通过百度网盘获取:

链接:https://pan.baidu.com/s/1AGizNngKrzAVapWtNcc-VA?pwd=mnsj 提取码:mnsj
由于微信公众号已发布文章的内容及排版顺序无法二次编辑,为了方便大家后续查阅、检索,同时便于我对内容进行补充更新与完善,我已将所有已发布的推文,在个人网站上以结构化文档的形式重新整理、归档。欢迎前往查看:
https://www.mizhushare.com/docs/
01
聚类分析

在数据分析中,我们经常会遇到这样的问题:

  • 如何把一批样本按照“相似程度”自动分成几类?

这时,聚类分析就派上了用场。

聚类分析(Cluster Analysis)是一种探索性的数据分析方法,它的核心思想是“物以类聚”。其目标是将一组对象划分为若干个簇(Cluster),使得:

  • 同一簇内的对象彼此高度相似;

  • 不同簇之间的对象差异显著。

与有监督的分类(Classification)不同,聚类不需要预先知道类别标签,完全依据数据本身的分布特征进行分组,因此属于典型的无监督学习(Unsupervised Learning)。

  • 聚类分析的基础准则:距离

任何聚类分析的基础准则都是距离(对相似性或差异性的量化度量)。这一核心原理可以用一句简单的话概括——彼此靠近的对象应当属于同一个聚类,而彼此远离的对象则应当属于不同的聚类。这种基于距离的划分逻辑贯穿所有聚类方法的始终,是聚类分析能够"物以类聚"的根本保障。

对于给定的数据集,构建出的聚类结果并非天然存在,而是完全取决于以下参数的设定:

  • 聚类方法:定义聚类形成的规则,即在合并或划分对象时采用何种策略。不同方法在“类与类之间如何计算距离”这一问题上的处理方式不同,因此可能产生结构差异明显的聚类结果。

  • 距离度量标准:距离度量决定了如何量化对象之间的“相似”与“差异”,是聚类分析的数学基础。常见的度量方式包括欧氏距离、平方欧氏距离、区间度量、计数度量以及二元度量等,其选择应与变量类型相匹配。

  • 数据标准化处理:当变量的量纲或取值范围差异较大时,距离计算会被数值范围较大的变量主导,从而影响聚类结果的合理性。因此,在多数情况下,对变量进行标准化处理是聚类分析的重要前置步骤。

SPSS中三大常用聚类方法包括:K均值聚类、系统聚类与二阶聚类。下面将分别对这三种方法进行介绍。

02
K均值聚类
在SPSS中,最常用、最经典的方法之一就是——K均值聚类(K-Means Clustering)。
K均值聚类的核心思想是——将数据划分为K个簇,使得同一簇内的数据相似度高,不同簇间的差异大。算法步骤如下:
①、初始聚类中心的构建:可以自行指定这些中心,也可以让程序自动选取k个距离较远的观测值作为聚类中心
②、分配案例:计算每个数据点到簇中心的距离,将其分配到最近的簇;
③、更新中心:重新计算每个簇的中心点(均值);
④、迭代:重复2-3步骤,直到簇中心不再变化或达到最大迭代次数。

需要注意的是:

  • K均值聚类需提前指定聚类数量K。该方法是一个探索性工具,具体聚类数量需要结合业务逻辑来判断。

  • 分析变量应为定量数据(定距或定比级别)。如果变量是二分变量(0/1)或计数数据,可以使用系统聚类分析。

  • 由于K均值对量纲敏感,建议在分析前先对变量进行Z-score标准化。

K均值聚类运算速度快,主要是因为它不像许多其他聚类算法那样计算所有个案对之间的距离。因此,适合大规模数据集,也被称为「快速聚类」。

为了实现最高效率,可以采取以下步骤:

①、抽取样本计算中心:抽取一部分个案作为样本来确定聚类中心,然后将这些中心保存下来。
②、全量数据分类:恢复完整的数据文件,然后利用上一步从样本中估算出的中心对整个数据集进行分类。
03
系统聚类
系统聚类(Hierarchical Cluster),又称层次聚类,是一种通过逐步合并或拆分对象来构建多层次聚类结构的方法。
与K均值聚类不同,系统聚类不需要预先指定聚类数量。它从每个对象各自作为一个独立簇开始,依据对象间的距离或相似性,在每一步将最相似的两个簇合并,最终形成一棵完整的树状层次结构(即谱系图,Dendrogram)。
  • 要优点:

  • 层次信息丰富:系统聚类分析能够提供不同层次的聚类信息,帮助用户更好地理解数据之间的关系。

  • 直观性强:通过树状图,用户可以清楚地看到数据点或数据集之间的层次性和相似性。

  • 适用对象灵活:既可用于对个案进行分类,也可用于分析变量之间的关联结构。

  • 适用场景:

  • 系统聚类分析是一种探索性工具,尤其适用于揭示数据集中原本不明显的自然分组(或称聚类)。

  • 当数据集中的对象较少(少于几百个)时,系统聚类分析特别有效。

  • 数据要求:

  • 数据类型:系统聚类分析可以处理多种类型的变量,包括定量数据、二元数据或计数数据。

  • 标准化问题:由于不同变量的度量单位可能不同,定标上的差异可能会影响聚类结果。为确保聚类分析的准确性,通常建议对变量进行标准化(SPSS的系统聚类分析过程可以自动完成标准化)。

04
二阶聚类
二阶聚类(Two-Step Cluster)是一种探索性的分析方法,它能根据样本的多个属性,自动将相似的样本归为一类。与K均值聚类和系统聚类不同,二阶聚类最大的优势在于:
  • 处理混合变量:通过假设变量相互独立,可以对分类变量和连续变量施加联合多项式-正态分布。可以同时处理像“年龄、收入”这样的连续变量,以及像“性别、学历”这样的分类变量,这在实际应用中非常普遍。
  • 自动确定聚类数:通过比较不同聚类解决方案在模型选择标准上的数值,该过程可以自动确定最佳聚类数量
  • 处理大数据量:通过构建汇总记录的聚类特征(CF)树,因此在处理大样本数据时效率较高。

二阶聚类分析是SPSS提供的一种自动化聚类方法,它之所以叫“二阶”,是因为聚类过程分为两个阶段:

  • 第一步:构建聚类特征树(CF Tree)。首先会扫描数据,根据相似性将样本逐步合并,形成一个树状结构。这一步相当于对海量数据进行了一次高效的压缩和预处理。
  • 第二步:对CF Tree的叶节点进行聚类。会使用凝聚法(自下而上)对第一步形成的预聚类结果进行再次聚类,并根据贝叶斯信息准则(BIC) 或赤池信息准则(AIC)评估不同聚类数量下的模型效果,最终确定最佳的聚类方案。
  • 个案顺序的影响:

需要注意的是,聚类特征树(CF Tree)的构建以及最终的聚类结果可能受到个案输入顺序的影响。为尽可能减小这种顺序效应,建议在分析前对个案进行随机排序。为进一步评估聚类解的稳定性,可尝试对多个不同随机排序的个案序列分别运行聚类算法,比较所得结果的一致性。若因数据集规模过大而难以对完整数据集重复此操作,可改用多次抽取不同随机排序的子样本进行聚类,并通过这些子样本的结果来近似评估整体解的稳健性。

  • 模型假设:

二阶聚类方法所采用的似然距离度量基于以下统计假设:
  • 变量独立性:模型假设所有变量彼此相互独立;

  • 分布形式:连续变量服从正态(高斯)分布,分类变量服从多项分布。

尽管经验表明,该方法对上述假设的轻微违背具有一定的稳健性,但仍建议在实际应用中检验这些假设的满足程度,以确保结果的可靠性:

  • 对于两个连续变量的独立性,可使用双变量相关分析(如Pearson相关系数)进行检验;

  • 对于两个分类变量的独立性,推荐使用交叉表分析结合卡方独立性检验;

  • 对于连续变量与分类变量之间的独立性,可通过均值比较过程(如单因素方差分析)进行评估;

  • 连续变量的正态性可借助探索性数据分析中的正态性检验(如Shapiro-Wilk或Kolmogorov-Smirnov检验)及Q-Q图进行判断;

  • 分类变量是否符合指定的多项分布,可使用卡方拟合优度检验(Chi-square goodness-of-fit test)进行验证。

05
结语

聚类分析不是“一键出结果”的魔法,而是需要结合业务理解与数据特性的艺术。没有“最好”的聚类,只有“最合适业务目标”的聚类,务必结合业务逻辑解读结果,避免纯数学分组。