ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

SPSS两步聚类结果解读:表格与图的应用指南

SPSS两步聚类结果解读:表格与图的应用指南 跑完两步聚类输出窗口弹出一大堆表和图的那个瞬间大概是很多SPSS新手最懵的时刻。我第一次拿真实问卷数据跑TwoStep Cluster的时候也是这样——表太多了每张表单独看标题都能理解但连起来不知道先看哪个最后写报告时只抄了一个“分成几类”的结论过程全是糊的。后来做过几个用户分群和会员细分的项目把这套输出反复对照业务去读才算彻底看明白。这篇文章就专门写给刚接触两步聚类的人不聊太多数学公式重点解决一件事结果窗口里每一张表、每一张图到底在说什么哪些该重点看哪些可以忽略看完之后怎么把结论落到报告里。1. 开跑前先搞懂两步聚类到底解决了什么问题1.1 “两步”指的是算法里的哪两步两步聚类TwoStep Cluster Analysis的优势其实名字已经透露了一半。它不像K均值那样要求你先拍脑袋定好K也不像系统聚类那样在样本量大时跑得让人着急它是SPSS里最“省心”的聚类方法。所谓两步是指算法内部先通过聚类特征树CF树把样本快速粗分产生很多小的子簇第二步再基于这些子簇做传统的层次聚类自动在某个位置停止给出一个相对合适的类别数。这个设计在实际项目里最有价值的地方在于处理几千上万条数据时速度并不慢而且因为它天生支持连续变量和分类变量混用所以特别适合问卷数据。比如你现在手里有3000份用户调研问卷变量里既有年龄、收入这样的连续变量也有性别、城市等级、购买频次这样的分类变量想看看这些人是否可以划分成几个特征差异明显的群体两步聚类就是第一选择。它能自动告诉你“这些数据大概分成几类比较合适”不像K均值那样你得先猜一个K值再反复试错。1.2 和K均值、系统聚类对比着看帮你快速梳理一下常见聚类方法之间的差异方法是否需要手动指定类别数是否支持分类变量大样本表现结果解释难度K均值聚类需要不支持只能跑连续变量快一般依赖预先设定系统聚类不需要不支持需编码处理样本超1000就开始吃力树状图直观但人多时难读两步聚类自动评估也可手动指定支持连续分类混合对大样本友好高自带诊断指标除非你的数据全是连续变量且你已经很确定K值否则在SPSS里做探索性的用户分群我一般会直接选两步聚类。它默认使用对数似然距离算法会分别对连续变量假设正态分布、分类变量假设多项分布然后评估变量之间的联合分布。这个机制的好处是变量类型不需要你手动做哑变量编码坏处是如果分类变量特别多、特别碎结果会不稳定这点到后面第5章再细说。2. 跑分析之前这些准备工作决定了结果可不可信2.1 先检查数据格式和变量测量级别两步聚类对数据格式的要求很基本一行一个样本一列一个变量缺失值用排除法处理就好。但有一个地方新手经常会栽——变量视图里的“测量级别”Measure设置。两步聚类的对话框里连续变量要放到“连续变量”框分类变量要放到“分类变量”框它依据的就是变量视图里的测量级别。如果你的“测量级别”全部保持默认的“未知”SPSS很多时候就不知道该把变量当连续还是分类处理最典型的后果是年龄、收入这种连续变量被当成文本式的类别参与计算聚类结果莫名其妙。所以第一步永远是到变量视图把“标度”和“名义”设置清楚有序变量设为“有序”也没问题一般会被归入分类变量。2.2 对话框里几个关键参数怎么选操作路径是分析 → 分类 → 两步聚类。进到对话框后会看到好几个选项新手通常在“距离测量”和“聚类数”两个地方纠结这里直接说我的经验。参数默认值我的建议距离测量对数似然混合变量保持默认聚类数自动确定先自动跑再结合聚类质量和业务逻辑调整聚类准则BIC默认即可噪声处理0数据脏时可以设5%左右连续变量标准化视版本而定建议在预处理阶段自行判断是否需要距离测量默认的“对数似然”可以应对连续变量和分类变量同时存在的情况保持默认就好。欧氏距离只在全部变量都是连续变量时才适合分类变量一多就别用。聚类数默认是“自动确定”SPSS会在后台结合聚类准则给出推荐稳妥做法是第一次用自动跑完看结果如果发现类别过碎或过粗再回来改成“指定固定值”。聚类准则BIC比AIC更保守一些倾向于给出更少的类别对业务解读更友好。还有一个选项很多新手完全没注意噪声处理。如果问卷里存在大量极端答案比如年薪写“9999万”聚类时就会产生一个孤立的异常节点设置一个噪声百分比比如5%算法会把这类极端样本单独归为噪声不参与最终的分群后面表格里模型的干净度会明显提升。另外当参与聚类的连续变量量纲差异很大时比如“年龄”和“年收入”由于算法对连续变量有分布假设变量之间尺度差异大可能导致某些变量权重过高。从实操经验看数据预处理阶段先把偏态严重的连续变量做对数变换或标准化聚类更容易得到轮廓系数更高、也更符合业务直觉的结果。不要一上来就对原始值跑花点时间看下每个变量的分布是值得的。3. 结果输出里的表格一张一张拆给你看3.1 自动聚类表回答“分成几类”的第一依据双击查看器里的“自动聚类”表格你会看到类似这样的结构聚类数BICBIC变化量BIC变化比率距离测量比率15620.33---25112.67-507.661.0001.58234817.91-294.760.5812.03144683.18-134.730.2651.10854602.52-80.660.1591.00364541.80-60.720.1201.041这张表怎么读是很多新手的第一道坎。先看BIC变化量它一般是负数代表从上一类数增加到当前类数时BIC的降幅。随着聚类数增多BIC通常会持续下降但下降幅度会越来越小直到趋于平缓。如果你单纯盯着BIC最小那一行选类别数那你很可能选出一个接近样本量的类别数完全没法用。核心判断指标是“BIC变化比率”和“距离测量比率”。距离测量比率代表增加聚类数后类间距离的改善幅度。某一行若距离测量比率突然变大说明多分一类让类与类之间的距离明显拉开。比如上面这个例子3类的位置距离测量比率从1.582跳到2.031是全部行里变化最陡的那么“分成3类”通常就是算法认为的最优解附近。SPSS在生成这张表时也会结合这两个比率给出一个推荐范围但你最好还是自己亲眼确认一下判断推荐是否符合数据逻辑。提示BIC随聚类数增多而持续下降是正常现象千万不要拿“BIC最小”当选择标准。3.2 聚类质量先看整体分得好不好聚类质量表给出的核心指标是轮廓系数Silhouette coefficient范围是-1到1。它的含义是样本与自身所在类内样本的紧密程度相对与其他类样本的分离程度。取值低于0.25说明样本在类间混叠严重分群基本不可用0.25到0.5之间属于一般可以接受高于0.5说明类间区分明显质量良好。不同版本的SPSS还会在这张表旁边给出一张带参考线的图直接显示当前模型落在“差/一般/良好”哪个区域。我自己的判断标准是能到0.4以上报告里就可以理直气壮地说这个分群有区分度如果低于0.25别急着写报告先去检查变量选择和预处理。聚类质量不理想常见问题有三类一是变量里混入了大量与分群无关的维度拉低整体区分度二是异常值没有处理三是分类变量过多尤其是一些类别非常分散的分类变量。利用后面要讲的预测变量重要性图你可以反向去删变量——把重要性排在末位且显著性不达标的变量从模型里移除再重新跑轮廓系数往往会明显改善。3.3 聚类分布和单元格记录数先看各类大小“聚类分布”或“单元格记录数”这张表看起来像频率表内容就是每个聚类的样本量、占总样本的百分比。SPSS版本和中文翻译不一样表名可能不同但看的内容都一样主要回答三个问题有没有样本量过小的类比如比例低于5%样本量最大的类是否占了一半以上如果是说明分类整体偏颇类别之间的样本量是否相对均衡一个常见的应用场景如果跑出来只有两类且各占一半但业务上需要更细分的策略可以回到对话框里改成指定固定聚类数为4或5重新跑一遍反过来如果有一类占比只有2%大概率是多分出来的噪声类试试减少一类。每次调参后都回到这张表看比例变化能很快感知数据的分群结构。3.4 质心表和均值比较表连续变量在各类里的均值差异质心表是整个输出里最需要细读的表之一它列出了每个连续变量在各类里的均值。比如“年龄”在3类里分别是28.5、41.2、35.8“月收入”分别是6800、23400、10500那这三类的基本轮廓一下就出来了年轻低收入、中年高收入、中间层。它可以直接用来给聚类命名——这是后续报告里最有价值的一步。SPSS还会输出一张“均值比较”表用Bonferroni检验对每个连续变量做各类之间的两两比较同一行里各类别标上字母a、b、c如果两组字母相同说明这两个类在该变量上的差异在统计上不显著。实操中你会发现有些变量在质心表上看起来均值差了一点但被标成相同字母说明差异很微弱描述人群时不能把这些变量当区分特征去用。想给每个类起名最靠谱的方式就是把质心表里有显著差异的变量拿出来做标签。3.5 预测变量重要性表哪些变量真正参与了划分类别预测变量重要性表基于卡方检验和F检验输出重要性数值范围0到1数值越大说明该变量在区分聚类上的贡献越大。报告里要解释“为什么这个分群成立”重点讲排在前面的几个变量就够了排在后面的可以一笔带过。顺带提一个特别容易忽略的功能跑模型时如果勾选了“保存变量”会在数据视图里生成一个新变量类似TSC_1234每个样本一行记录它被分到了哪一类。这个变量非常有用后面做判别分析验证、做交叉表描述人群画像都离不开它。很多人跑完聚类直接关掉对话框结果想回看每个样本属于哪类时还得重跑一遍这个坑我是踩过的。4. 输出窗口里的图重点看这四类4.1 聚类大小图先看类别是否均衡“聚类大小”图通常是一个条形图显示每个类别的样本数和占比。看它的方式跟看聚类分布表一样但图形的优势是你扫一眼就能发现是否存在“小得可怜”的类别。如果某个类占比特别小需要考虑两类情况一是这个类代表了一种小众但真实存在的人群业务上值得保留二是这个类其实就是异常样本的聚集需要回到数据里查一下。4.2 聚类比较图哪两类最像、哪个变量区分度最高聚类比较图是输出里信息量最大的图它会把每个参与聚类的变量都画一组并排对比图连续变量显示各类均值分类变量显示各类别的组成比例。如果你的变量总共有8个输出里就会出现8组对比图一长串排在查看器里。看这种图时不用逐张细看重点找两类规律一是某变量在各类之间条形高低差异很大说明它是强区分变量二是某变量各类之间几乎重叠说明它对这个分群没什么贡献可以回到前一步删掉重跑。需要注意变量多的时候整个图会非常长直接复制到报告里很丑。双击图表可以调整显示范围把不太重要的变量隐藏只保留关键差异图截图报告会清爽得多。4.3 预测变量重要性图重要性排序看图更直观预测变量重要性图是一张横向条形图变量按重要性从高到低排列。看这张图要跟预测变量重要性表配合重要性高的变量理论上在聚类比较图上应该有肉眼可见的区分。如果某个变量重要性很高但聚类比较图上各类差异不大可能是个别异常值把检验统计量拉高了需要回到数据确认一下而不是直接写进报告。4.4 单元格分布图用颜色看交叉关系新版本SPSS还会输出单元格分布图用矩阵或色块方式展现聚类结果与某些结果变量的联合分布。这张图最常用于交叉验证比如把聚类结果和用户的“满意度等级”做交叉分析颜色深浅差异越明显说明分群结果和业务指标关联越强。它比表格直观太多非技术背景的同事看一眼就懂适合直接放进汇报材料。5. 新手最容易踩的坑和我现在会怎么做5.1 自动聚类数并不总是最佳选择SPSS自动确定的类别数基于统计准则但统计准则不会理解业务场景。我有一次处理产品销售数据算法推荐分成两类样本量接近对半看起来也合理但业务上想要“高频-中频-低频”三档做差异化运营。于是回去把聚类数固定为3重新跑完后轮廓系数仍有0.38可接受但对后续运营的指导意义强得多。所以我现在的固定做法是第一次跑自动把推荐类别数、聚类质量、聚类分布记录下来再结合业务需求跑一版固定类别数前后对比后再决定用哪个方案。5.2 分类变量太多、类别太碎会拖累结果两步聚类虽然支持分类变量但分类变量过多或者某个分类变量有大量稀疏类别时计算出的对数似然距离会变得非常不稳定。一个包含两三百个城市名的变量放进模型跑和先归并成省级再跑聚类质量可能差一个档位。我处理会员数据时职业变量里有几十个低频职业第一版聚类质量0.22后来把所有低频类别归并成“其他”同一份数据质量直接升到0.38。处理办法就是先对分类变量做合并低频类别统一归入“其他”类别数最好控制在十几个以内。5.3 异常值和缺失值要提前处理SPSS默认对缺失值采用排除法但异常值不会自动剔除。两步聚类对异常值比较敏感单个极端样本会在CF树构建阶段单独拉出一个节点严重时会让最终聚类结果多出一个“孤点类”。可以先做单变量描述统计把明显异常的值筛选掉或者利用对话框里的“噪声处理”百分比。但注意噪声比例不宜设太高超过10%会把真实的小众群体误杀一般从5%开始试。5.4 聚类完成后别忘了验证和刻画聚类只是把样本分组了但分组是不是稳定、每个组到底长什么样还需要后续验证。我现在的固定流程是用保存出来的分类变量做判别分析看哪些变量最能区分各类交叉验证的准确率如果超过80%说明分群结果稳定。把分类变量和业务指标比如复购率、满意度、客单价做交叉表卡方检验显著说明这个分群有业务意义。对每个聚类里的关键连续变量做均值加标准差的描述统计写报告时直接做成人群画像表。这三步做完整个聚类分析才真正闭环而不是停在“SPSS给了我个人数”的阶段。很多新手跑完聚类发个截图就算交差结果被业务同事一问“这两类到底怎么运营”完全答不上来就是少了最后这一步。5.5 保存原始数据和参数记录的习惯最后分享一个小习惯我会在跑聚类之前把原始数据的副本另存一份把所有参与聚类的变量单独挑出来做一次标准化和缺失值审视。每轮调参都把参数设置和对应的轮廓系数记在备注里比如“第2版去掉职业变量固定3类噪声5%轮廓系数0.38”。后面回看分析记录时哪个参数组合跑出来质量最高、对应什么样的业务结论一目了然。这个习惯帮我省掉了大量重复试错的成本建议新手也养成类似的记录习惯尤其是当你需要同时比较好几套分群方案的时候比单纯靠记忆可靠太多了。
返回列表