☰
SPSS两步聚类结果怎么看?从自动聚类表到质心表全解读
2026/10/5 3:51:14 网站建设 项目流程

1. 打开结果之前:先想清楚两步聚类到底在干嘛

不少人第一次用SPSS跑两步聚类,点完菜单之后盯着输出窗口里那一堆表格发懵:自动聚类表是什么?质心表是啥?聚类质量那个“差/良好”到底听谁的?别急,我先说个定心丸——两步聚类在SPSS里的结果已经算是所有聚类方法里最容易解读的了,因为它把“选几类”这个最头疼的问题替你做了大半。

我在实际工作中用两步聚类处理过用户分群、问卷样本细分、还有一堆乱七八糟的混合类型数据。先说结论:这个算法的最大优势是,它能同时处理连续变量和分类变量,而且会自动给出推荐聚类数。这意味着你在跑聚类之前,不用像K-means那样必须先指定类别个数,也不用像系统聚类那样对着谱系图瞪半天。它适合刚接触聚类的新手,也适合变量类型比较杂、量纲差异大的场景。

但正因为结果输出太多了,新手反而容易迷失在表格里。这篇文章不打算重复说明书内容,而是带着你从头到尾把结果文件里的每一张表、每一幅图过一遍,告诉你怎么看、怎么看懂、看完了下一步能做什么。

1.1 两步聚类和K-means、系统聚类有啥不一样

先花一分钟理清楚两步聚类在SPSS家族里的位置,不然你连“为什么要看这些表”都搞不明白。

K-means要求你预先告诉它“我要分成几类”,然后它按照距离不断迭代,最后给你K类。系统聚类不需要提前定K,但它会把所有个案一步步合并成树状图,样本量大一点就画成一团黑,可读性很差。两步聚类则夹在两者之间:它也先通过一个预聚类过程把个案粗分成很多小“子类”,然后在这个基础上用分层聚类的方法把子类逐级合并,最后通过BIC或AIC指标自动选出最优类数。

所以两步聚类的“两步”是这么来的:第一步,逐个扫描数据,生成一个聚类特征树(CF树)的汇总结构;第二步,对刚才生成的各个子节点再进行层次聚类,并利用BIC等准则决定最终合并成几类。SPSS把这两步封装成菜单,所以你看到的结果里会有“自动聚类表”这种带着BIC信息的表格。

理解了这个机制,你就知道为什么第二步聚类的输出里,自动聚类表是排在所有结果最前面的——它是整个算法的决策依据,也是你判断“这个分几类是统计学上比较合理的”的核心依据。

1.2 拿到输出前必须确认的几个前提

别急着读表,先检查三件事。

第一,你的数据里有没有缺失值。SPSS两步聚类在菜单里有“缺失值处理”选项,默认是排除缺失值。如果缺失率太高,最后参与聚类的样本量会缩水,结果表里的“N”就不是你的总样本量。我自己就遇到过这种情况,一万条记录最后只聚了三千条,白跑一次。所以先到描述统计里扫一眼每个变量的缺失情况。

第二,你的变量类型有没有设置对。两步聚类的菜单里,左侧变量列表框下方有“测量级别”的提示,连续变量得是“标度”,分类变量得是“名义”或“有序”。如果连续变量被当成分类变量处理,结果会差得离谱。检查方法很简单:把变量选进“分析变量”框,然后看每个变量前面的图标,标尺形状代表连续,条形块代表分类。

第三,数据量也别太小。两步聚类虽然对大样本做了优化,但样本量低于几十条时,那些统计指标基本没有参考价值。如果你只有三十条记录,我劝你直接换成系统聚类或者人工分群,别跟算法较劲。

2. 结果界面里最容易被忽略的第一张表:自动聚类表

双击输出窗口里的“模型概要”,会看到一个模型视图,里面是一个表格加一个“聚类质量”面板。但很多人没注意到,在左侧“查看器”的树状结构里,“模型概要”下面才藏着完整的结果列表。其中第一个重点就是“自动聚类表”。

2.1 自动聚类表的长相和核心列

自动聚类表的结构并不复杂,核心列包括:聚类数(1、2、3……)、BIC值、BIC变化量、变化量比率、距离度量比率。有些版本还带AIC,但默认主要看BIC。

我见过太多新手盯着“聚类数”那一列发呆:明明只想要3类,为什么表格从1一直列到10?这是因为SPSS默认会尝试1到15类(具体由最大聚类数决定),然后把每次合并后的BIC值都记录下来。BIC越小代表模型越好,但这里有个陷阱——BIC通常随着聚类数增加一直下降,如果只求最小的BIC,你往往得到一个类数非常多的方案,实际解释不了。

所以SPSS不让你直接看BIC最小值,而是给你算了一个变化量比率。当“变化量比率”出现大幅度跳升、之后又趋于平稳的位置,那个点就是要找的最佳类数。简单理解:聚成K类比聚成K-1类带来的信息增益最大,再往上加类就没有那么明显的收益了,那就选K类。

2.2 怎么判断该选几类:BIC和距离变化

我自己的读表习惯是两步走。

第一步,看“BIC变化量比率”。这个指标的正式名称挺拗口,你可以把它理解为“从1类到2类、2类到3类……每一步带来的BIC改善幅度,占整个改善过程的比例”。比率最大的那一步,往往就是拐点。比如一张表里,从1类到2类的比率只有0.2,从2类到3类突然变成0.55,然后从3类到4类又跌回0.1,那就说明分成3类是一个明显的分水岭。

第二步,看“距离度量比率”。这个距离指的是两个最近聚类中心之间的距离变化。简单说,如果从3类到4类时两个最近类之间的距离大幅缩水,说明硬拆出来的第4类其实和某个类非常接近,区分度不高。SPSS推荐“同时考虑BIC和距离”,但当两者打架时,也就是说BIC说你选4类、距离说你选2类,我一般优先考虑距离比率的变化趋势,因为它和实际分类的可解释性更相关。

2.3 一个带真实数据的读表例子

给你一个我最近处理案例的数据,当时拿的是3000多条用户行为记录,15个变量,其中3个连续(消费金额、频次、最近距今天数),4个分类(性别、会员等级、渠道来源、是否复购)。跑完后自动聚类表关键数字如下:

聚类数BICBIC变化量变化量比率距离度量比率
125000———
220500-45000.321.65
318200-23000.511.38
417400-8000.080.41
516900-5000.060.32

注意,表里的负号是因为BIC在下降,变化量比率那一列SPSS显示的是绝对值占和的比例。看到没有,2类到3类这一步,BIC下降2300,变化量比率0.51,是整张表里最高的;而3类到4类的距离比率直接从1.38掉到0.41,说明4类方案里的某两类贴得太紧。所以最终我选了3类,回表里看聚类质量也不错。如果你机器输出的表格列名略有不同,记住对着“聚类数、变化量比率、距离比率”这三列看就行。

3. 聚类质量面板:好聚类的“体检报告”

在模型概要的顶部,SPSS会给你一个“聚类质量”的图,通常是一张条形图,标着“差、尚可、良好”的刻度,以及一个具体的轮廓系数值。这个东西是新手最容易误读的地方。

3.1 轮廓系数怎么读

轮廓系数(Silhouette measure)的取值在-1到1之间。大于0说明类内距离小于类间距离,聚类是有效的;越大越好。SPSS把0.2以下标成“差”,0.2到0.5为“尚可”,0.5以上为“良好”。但注意,这个阈值不是死的,我自己跑过很多真实用户数据,轮廓系数能到0.4就已经很有解释力了。

比如有一次做问卷样本细分,态度量表加人口学变量,跑出来轮廓系数只有0.28,按SPSS标准是“尚可”,但结合后面的质心和频率表看,每一类都有鲜明的态度倾向,这种结果完全可以接受。相反,如果轮廓系数是负的,那真是白跑了——说明这个数据根本不适合聚类,或者变量选取有问题。

所以看到“尚可”不要慌,结合业务实际判断;看到“差”则要认真回到变量层面找问题。

3.2 质量一般时的处理思路

遇到聚类质量很低,我的排查顺序是这样的:

第一,先看输入变量的区分度。是不是混进了大量无关变量?比如你研究消费行为,但把一个“是否填过问卷”的字段也丢进去,算法当然很难收敛出好结构。处理方法:把变量重要性图里排在后半段的变量逐个删掉再跑,往往质量就上来了。

第二,看分类变量的编码。两步聚类对分类变量做的是哑变量化处理,如果你的分类变量类别太多,比如“来源渠道”有100多个值,它会变成100多个0/1变量,把连续变量的影响稀释掉。这时候需要先对分类变量分箱归并,再跑聚类。

第三,看连续变量的分布。两步聚类内置了正态化变换,但如果你某个连续变量极端偏态,比如人均消费最低0、最高十万块,中位数才200,那距离计算仍然容易失衡。建议先取对数或缩尾处理。

补充一句:SPSS目标里有一个“聚类数”选项,如果你已经定了业务上必须要分几类,可以直接指定“固定值”,这时候自动聚类表会退居其次,算法直接按你指定的类数跑。但我不推荐新手一开始就这么做,还是先让算法给出推荐,再对比业务合理性。

4. 两步聚类各表格的逐项解读

看完模型概要,下面进入真正的主体结果。完整的输出里通常包含:聚类分布、质心、频率、输入预测变量重要性、描述统计等。很多人这里就开始慌,其实每张表都有固定读法。

4.1 聚类分布/频率表:先看类的大小是否均衡

第一张要看的表是“聚类分布”,它列出了每个聚类的样本量及百分比。这张表解决的核心问题:你的分类是不是一边倒。

假如你分了3类,结果第一类占了95%,剩下两类各2.5%,那这个聚类基本没有实用价值——要么类数太少,要么有一个“巨大而模糊”的簇把大多数样本都囊括进去了。这时候你需要把聚类数调大,或者回到变量层面去看看是不是某些变量把样本集中拉向了一个方向。

我遇到过一个典型案例:做流失用户分群时,因为把“是否流失”这个0/1变量作为输入,而流失用户只占8%,聚类结果里非流失用户汇集成了一个巨大的垃圾类,整个聚类结构被带偏。后来我把目标变量排除出聚类变量,只保留行为特征,结构立刻清晰了。

所以,当你看到“聚类分布”里有一个占比过高的类,第一反应不是删除这个类,而是想一想:是不是有某个强分类变量在主导算法,导致所有个案都被吸到一类。

4.2 质心表:连续变量的中心在哪里

质心表,英文叫Centroids,列出的是每个聚类里各连续变量的均值(或者是均值调整后的值)。这张表是整个结果里最“硬核”的一张,它是你给每个类贴标签的主要依据。

读法很简单:横向看一个聚类,逐列对比该聚类在连续变量上的均值和总体均值差别。比如三类用户的月均消费分别是80、500、2600元,那很明显,第一类是低消费组,第三类是高消费组,第二类是中间组。

但这里有个坑:SPSS两步聚类里如果选择了“标准化”处理,质心表里的值可能不是原始量纲,而是标准化后的均值,读起来不直观。解决办法:跑完聚类后,把SPSS生成的“保存的聚类标识”变量(比如“TwoStep Cluster Number”)作为分组变量,再去描述统计里跑各连续变量原始值的均值,这样用来贴标签最准确。

我一般会做一个交叉表:行是聚类的类号,列是各连续变量的均值、标准差,再配上各分类变量的占比,最后形成一张“人群画像卡”。质心表是这张画像卡的骨架。

4.3 频率表:分类变量的差异怎么找

当输入变量里有分类变量时,SPSS会输出“频率”表。这张表展示的是每个聚类中,该分类变量的各个类别占比。注意,这里检验的不是卡方,而是两步聚类模型内部比较各类别相对分布的一种描述。

读法:对比同一个变量在不同聚类中的百分比差异。比如“会员等级”变量里,聚类1的“钻石会员”比例是60%,聚类2的比例是10%,那这个变量就是用来区分这两类的重要特征。

实际操作时,我建议不要只看单张频率表,而是把所有分类变量的频率表汇总,横向对齐成一张大表。比如这样:

变量/类别聚类1聚类2聚类3
性别-男55%20%48%
性别-女45%80%52%
渠道-线上30%85%40%
渠道-线下70%15%60%

这类表整出来以后,每个聚类的形象一下子就立体了。比如聚类1是线下男性消费者,聚类2是线上女性消费者,聚类3相对均衡。注意,频率表里的百分比是列百分比(每个聚类内部的比例),而不是占总体样本的比例,别搞混。

4.4 变量重要性图:谁在决定你的分类

SPSS会输出一张“输入预测变量重要性”图,通常是一根根横条,显示每个变量对聚类模型的贡献度,SPSS还给出了“最不重要”和“最重要”的刻度。这张图的价值在于帮你筛选和验证变量。

如果某个你认为关键的变量重要性非常低,比如“复购次数”排在倒数第一,说明它对当前的聚类结构几乎没贡献,那你就要反思:是不是变量之间存在严重冗余?比如“复购次数”和“购买频次”高度相关,算法认为只需要其中一个就够了。我的习惯是:把重要性低于0.3的变量逐步剔除再跑一遍,看看聚类质量是否提高,类是否更可解释。

还要提醒一下,“变量重要性”不等于“业务重要性”。算法只关心统计区分度,不关心商业含义。比如“性别”可能在统计上区分度很高,但对你的业务分群来说毫无意义,这种变量要不要删,取决于你的分析目标,而不是指数大小。

5. 常见问题与排查技巧实录

这部分是我踩过坑汇总出来的,也是我认为比说明书更值钱的经验。新手跑两步聚类遇到的各种诡异问题,绝大多数能在下面几条里找到答案。

5.1 聚出垃圾类?多半是输入变量问题

垃圾类长什么样?就是那一类样本里什么指标都接近总体均值,没有鲜明特征,占比还特别大。这种情况十有八九是输入变量里混进了“无关但方差大”的字段。比如把“用户ID”选进去,或者把包含大量缺省值的字段也选进去,算法就会因为噪音太大而强行聚出一堆没有意义的类。

解决思路是:不要急着全选变量,先做相关性检查和变量筛选。对连续变量,看相关性矩阵;对分类变量,看对应分析和多重对应分析。一般情况下,保留5到10个有代表性的变量已经足够。变量太多时两步聚类的自动变量选择有一定抑制作用,但你最好还是人工把关。

5.2 类别数量为什么和预期不一样

你心里想要5类,结果SPSS推荐3类,怎么办?先别怀疑自己的业务感觉。两步聚类推荐的类数是基于BIC和距离的统计标准,它不带业务视角。如果你有明确业务约束,完全可以指定聚类数为固定值。但我建议你在固定类数前,先看看3类方案能不能讲出故事,往往统计上更优的方案在业务上也有更好的解释性。

反过来,如果SPSS推荐了7类,而你业务上只能承接3类,你也可以在“聚类数”里选择“固定值”,填3,让算法在3类条件下重新优化。不过这时候要注意聚类质量可能下降,记得多看轮廓系数。

5.3 结果怎么导出、交叉验证怎么做

SPSS两步聚类结果可以直接在查看器里右键复制成文本或导出为Word/PDF。但如果你想要更灵活,建议在“高级”选项里勾选“保存聚类结果”,这样数据集里会多出一个新变量,叫“TwoStep Cluster Number”之类的名字。有了这个变量以后,你可以做两件好事:

第一,做交叉验证。把样本随机拆成两部分,分别跑两步聚类,然后用保存的聚类编号比较两个子样本在每个类上的分布一致性,看看结构是否稳定。这个操作在SPSS里需要配合“选择个案”或拆分文件功能,有点繁琐,但值得做。

第二,做后续分析。比如你用聚类结果当分组变量,再去做方差分析、卡方检验、多重比较,看看各类在未参与聚类的校标变量上是否有显著差异。这也是我常说的“外部效度验证”,比单纯看轮廓系数更有说服力。

5.4 与多重响应/缺失值处理的联动经验

顺便提一个很常见的问题:如果我用的是问卷数据,里面有大量多选题(多重响应),能把多重响应集直接放进两步聚类吗?答案是,不能。SPSS的多重响应集是一种临时分组定义,聚类菜单不认它。你需要先把多选题拆成多个0/1计分的变量,比如“您偏好以下哪些渠道”,每个选项生成一列“是否选该项”,再把这些0/1变量作为分类变量放入聚类。

另一个问题是缺失值。多重插补(Multiple Imputation)出来的数据可以导入SPSS跑聚类,但要注意两步聚类的“缺失值处理”选项是针对单变量缺失的,对于多重插补产生的多个数据集,SPSS的标准菜单不会自动合并分析。如果你真的做了多重插补,想用聚类,比较实际的做法是:用插补后的合并数据集(比如取了均值填充后的数据)再跑一次两步聚类,把聚类结果作为一种稳健性检验,而不是当成唯一的结论。

6. 最后分享一个我自己的读表顺序

在准备收尾前,我把这套流程浓缩成一张顺序清单,送给第一次跑两步聚类的你:

  1. 先看“模型概要”里的个案数,确认参与聚类样本量没有缩水太多;
  2. 看“自动聚类表”的BIC变化量比率和距离比率,确定推荐类数;
  3. 看“聚类质量”的轮廓系数,判断整体聚类有效性;
  4. 看“聚类分布”,确认各类大小均衡性;
  5. 看“质心”表和“频率”表,给每一类贴业务标签;
  6. 最后回看“变量重要性图”,判断哪些变量贡献低,能做精简就精简,再跑一遍做对比。

这个顺序我用了很多年,也推荐给团队里的新人,基本能在十分钟内把两步聚类结果消化干净。如果你是一个喜欢用语法操作的人,可以把两步聚类导出成SPSS Syntax,核心命令大概是:

TWOSTEP CLUSTER /CONTINUOUS VARIABLES=var1 var2 /CATEGORICAL VARIABLES=varA varB /DISTANCE LIKELIHOOD /NUMCLUSTERS AUTO /CRITERIA INITIAL=100 MXBRANCH=8 MXLEVEL=3 /PRINT MODEL SUMMARY /SAVE VARIABLE=TSC_Result.

这个语法里,MXBRANCH=8表示聚类特征树的每个节点最多有8个分支,MXLEVEL=3限制树深度为3层,不是核心推荐值,但新手可以保持默认。真正需要调的是NUMCLUSTERS AUTO,你可以改成FIXED=5强制分5类。

我个人的经验是:两步聚类产出的结果不是乾坤大挪移,不会替你解决所有分类问题,它只是帮你从数据中提炼出一个“统计上可行”的参考结构。最后分几类、每一类叫什么名字、怎么用,还是要落回你的业务场景。所以我一直建议大家把这个结果当成一个探索工具,而不是一个金科玉律。跑完多问自己一句:这个分类,拿去给运营同事看,他们能立刻知道该做什么吗?如果答案是可以,那这个聚类就是成功的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询