能告诉你什么
Crosstabs 运行与 SPSS QUICK CLUSTER 对应的过程:先用 SPSS 的单遍规则选出彼此远离的初始中心,可选运行平均值,然后进行最近中心迭代;不使用随机起点,因此同一文件总得到相同的聚类。
- 每个聚类的位置:最终聚类中心即各变量在聚类内的平均值。
- 聚类之间相距多远:见最终聚类中心间的欧氏距离。
- 哪些变量最能区分聚类:见描述性的 ANOVA F 值。
- 每个个案属于哪个聚类,以及它与聚类中心的距离。
适用场景
适合使用
- 变量为量纲可比的连续变量(例如多项 0–100 的重要性评分),且细分群数量事先确定。
- 文件较大、计算完整距离矩阵会很慢时:K-均值只需比较个案与 k 个中心。
- 以系统聚类得到的聚类数为基础,进一步优化聚类解。
改用其他方法
- 含分类变量:K-均值需要数值距离;混合数据请使用两步聚类。
- 变量单位差异很大且未先标准化:量纲最大的变量会主导结果。
- 完全不知道 k 应取多少:比较多个取值,或先用两步聚类或系统聚类。
在 Crosstabs 中如何操作
- 01
选择 K-均值聚类
把工作区切换到“统计”模式,在“分类”下选择“K-均值聚类”(QUICK CLUSTER)。
- 02
选择要聚类的变量
在“要聚类的变量”中勾选数值变量,并可在“个案标注依据”中选择一个变量用于聚类成员表。
- 03
设置聚类数
输入“聚类数”(2 到 50,默认 2)。
- 04
调整迭代选项
与 SPSS 相同,“最大迭代次数”默认 10,“收敛标准”默认 0。勾选“使用运行平均值”可在每个个案分配后立即更新中心。
- 05
运行并检查收敛
运行后查看“迭代历史记录”下的脚注:如果迭代在达到最大次数时停止,请提高“最大迭代次数”后重新运行。变量按原始尺度使用。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
60 名模拟受访者对价格、质量和服务的重视程度打分(0–100),按三种态度类型各 20 人生成,叠加正态噪声并使用固定随机种子。三项评分量纲相同,因此不做标准化,取 k = 3、最大迭代 10 次、收敛标准 0(面板默认值)。
| 迭代 | 1 | 2 | 3 |
|---|---|---|---|
| 1 | 16.407 | 25.814 | 20.385 |
| 2 | 0.000 | 1.684 | 1.335 |
| 3 | 0.000 | 0.000 | 0.000 |
由于聚类中心没有改动或改动较小而达到收敛。
| 项目 | 1 | 2 | 3 |
|---|---|---|---|
| price | 80.30 | 39.10 | 52.10 |
| quality | 45.95 | 83.30 | 58.90 |
| service | 40.90 | 52.05 | 87.95 |
| 项目 | 聚类均方 | df | 误差均方 | df | F | 显著性 |
|---|---|---|---|---|---|---|
| price | 8872.27 | 2 | 80.00 | 57 | 110.91 | <.001 |
| quality | 7193.62 | 2 | 100.05 | 57 | 71.90 | <.001 |
| service | 12089.45 | 2 | 69.54 | 57 | 173.85 | <.001 |
F 检验仅用于描述:聚类的选择旨在使差异最大化,因此显著性水平未经修正,不能用于检验聚类平均值是否相等。
| 聚类 | N |
|---|---|
| 1 | 20 |
| 2 | 20 |
| 3 | 20 |
| 有效 N | 60 |
| 缺失 N | 0 |
结果解读
K-均值经过 3 次迭代后收敛,把 60 名受访者分为大小为 20、20、20 的聚类。聚类 1、2、3 的最终中心最高的变量依次为 price、quality、service,可分别解读为各自侧重一项因素的受访者。ANOVA 的 F 值(最大为 173.85)说明哪项评分最能区分聚类,但正如脚注所述,它们只用于描述,不是检验。平均轮廓为 0.696。
输出表格说明
- 初始聚类中心
- 按 SPSS 规则选出、彼此相距较远的 k 个起始中心。
- 迭代历史记录
- 每次迭代中各中心的移动距离;脚注说明是否已收敛或已达到最大迭代次数。
- 最终聚类中心
- 每个聚类中各变量的平均值,是为细分群命名的依据。
- 最终聚类中心间的距离
- 每对最终中心之间的欧氏距离;数值小说明这两个聚类可能值得合并。
- ANOVA
- 每个变量的聚类均方、误差均方和 F 值。F 值可用于比较各变量对聚类的区分程度;显著性水平仅供描述。
- 每个聚类中的个案数
- 各聚类规模以及有效 N 与缺失 N;“聚类成员”表随后列出每个个案所属聚类及其与中心的距离。
前提假设与注意事项
- 距离为原始值上的欧氏距离,因此变量应具有相同量纲或事先标准化。
- K-均值偏好紧凑、近似球形且离散程度相近的聚类;细长或嵌套的分组会被不当拆分。
- 任一聚类变量缺失的个案将被成列排除;离群值可能被选为初始中心。
- 不应用工作区权重:此过程分配的是单个个案。
结果如何验证
QUICK CLUSTER 在 140 个个案、k = 3 和 k = 4 的数据上验证:初始中心与按 SPSS 初始中心规则独立编写的 NumPy 实现对照,迭代过程与从同一初始中心出发的 scikit-learn 1.9.1 Lloyd K-均值对照。初始与最终中心一致到小数点后 10 位,聚类成员完全相同,ANOVA F 值与 scipy.stats.f_oneway 一致到 9 位小数;运行平均值选项与更新步骤的 NumPy 实现对照,并测试了默认的 10 次迭代上限。 验证证据(英文)
常见问题
为什么每次得到的聚类都一样?
QUICK CLUSTER 不使用随机起点。初始中心由对文件的一次确定性遍历得到,因此结果可重复;但调整个案顺序可能改变结果。
如何选择聚类数?
尝试多个 k 值,比较最终中心是否易于解释、中心间距离以及摘要行中的平均轮廓。也可以先对样本做系统聚类来确定初始 k。
ANOVA 的显著性水平可信吗?
不能作为检验使用。聚类的选择本身就是为了让差异最大化,因此 F 值必然偏大。它们只用于比较哪些变量对聚类的区分作用最大。
运行平均值有什么作用?
勾选“使用运行平均值”后,每分配一个个案就更新一次中心,而不是在完整遍历后才更新。结果可能略有差异;SPSS 默认不启用。
这与分群构建器相同吗?
不同。“统计”模式中的面板遵循 SPSS QUICK CLUSTER;分群构建器使用另一套确定性 k-means,用于快速分群和画像。
相关过程
用你自己的数据运行 K-均值聚类
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。