跳到主要内容

混合类型两步聚类

二阶聚类

先把行压成预簇,再对预簇做层次合并,让定量房价与房屋类型、装修情况走同一套对数似然距离,并由 BIC 建议切几枝。

更新日期 2026-08-29 机器学习

这篇能回答什么

二阶聚类(SPSS 所称 TwoStep)回答的是「定量和定类混在一张客群表里,怎样先压缩再合并,并让信息准则建议切几刀」。第一步用聚类特征树(CF tree)把相近行装进预簇,避免对全部 n 建完整距离矩阵;第二步把预簇当成「超级点」做层次合并。距离对连续列用方差、对定类列用多项概率,合在一条对数似然里,因此房屋类型、装修情况可以和面积、单价坐在同一套角色里。

适合:会员类型 + 消费额、房屋类型 + 面积/单价 这类混合分群。本教学在综合评价表上勾选面积(平米)、单价(元/平米)、总价(万元) 与房屋类型、装修情况。完整个案 333,占用 A 43、B 51、C 239。C 独自 71.77%,是典型的「一枝很大、两枝是少数剖面」。

什么时候不该用

只有定量、又想亲手转完整棵叶子树,用分层聚类,不要为了「高级」而上两步。只要球形中心、没有定类,K-Means 聚类分析更直接。已经有组别标签时,主分析是线性判别。房源ID、小区名称仍是标识,不能当特征。

如何选择方法

先数类型。定量 + 房屋类型 / 装修情况,并且 n 大到不想画满叶树 → 二阶聚类。全是定量、n 小、必须核对每一刀合并 → 分层聚类。全是定量、只要 K 个中心 → K-Means。密度口袋和噪声 → 密度聚类。

  • 二阶聚类:定量与/或定类特征;预簇 + 层次合并;BIC/AIC 可建议枝数。

  • 分层聚类:对原始行建树,通常要求定量,完整树叶。

  • K-Means:仅定量,预设 K,输出中心。

  • 密度聚类:仅定量,参数是 ε 与 MinPts,不是 BIC。

输入、输出与限制

输入

特征可以是定量或定类。最大簇数或「自动」是超参数。列表删除后,房屋类型或装修情况缺失的行与定量缺失的行一样不进 CF tree。

  • 聚类特征:最少 2 个;定量与定类可混选,合计通常不超过 50。

  • 最大簇数 / 自动:自动时由 BIC 或 AIC 在 2 到上限之间挑。

输出

教学表仍是项目、类别、统计量、取值四列。A / B / C 是最终簇占用。BIC 曲线、预簇个数若出现在工作台,属于图或旁注,不要自行给本表加「BIC」列。本切面合计 333,三类加总与合计一致。

产品限制

  • CF tree 的叶容量与枝因子影响预簇粒度,进而改写第二步的树;重复运行应固定这些内部上限。

  • 自动簇数是信息准则的建议,不是「真实客群数」。

  • 定类水平极多(小区名称)会把对数似然打散,应排除标识列。

  • 城市、区域若水平很少可以试用,但本教学优先房屋类型与装修情况。

  • 与 SPSS TwoStep 对格子时,必须对齐标准化、噪声处理开关和准则(BIC 还是 AIC)。

案例

研究问题。 综合评价表同时有面积、单价、总价和房屋类型、装修情况。研究者希望得到可运营的少数客群,并让准则建议是否真的需要三枝,而不是对六百片叶子手动画满树。

教学表示例工作表为「Sheet1」。混类型完整个案 333。占用:A 43(12.91%),B 51(15.32%),C 239(71.77%)。C 超过七成,A、B 是两块较小的剖面。下载后:定量勾选面积(平米)、单价(元/平米)、总价(万元);定类勾选房屋类型、装修情况。不要勾选房源ID、小区名称、挂牌日期。

下载教学示例表(综合评价)

在 StatsX 中操作

  1. 步骤 1 · 上传表格

    打开工作台,将 Excel / CSV / JSON 拖入上传区。本案例使用综合评价 xlsx,确认工作表为「Sheet1」。单文件不超过 20 MB。

  2. 步骤 2 · 查看画像与质量

    确认面积(平米)、单价(元/平米)、总价(万元) 为定量;房屋类型、装修情况为低基数定类。小区名称唯一值过多,当作标识丢掉。楼层、总楼层可加,但本页复现占用时先保持五列角色。

  3. 步骤 3 · 选择「二阶聚类」

    在算法目录搜索「二阶」或「TwoStep」,点选二阶聚类。

  4. 步骤 4 · 指定混合特征并运行

    聚类特征同时勾选三列定量与房屋类型、装修情况。簇数先选自动(或上限 3)以便对照本页三类占用。点击运行分析。

  5. 步骤 5 · 阅读结果

    先看合计是否为 333 左右的完整个案,再读 C 是否仍过七成。BIC 若建议 2,应比较把 A+B 合并后的可解释性,而不是强制留三枝。图上的预簇不是最终客群。

StatsX 工作台上传综合评价表做二阶聚类
将教学示例表拖入工作台上传区。
列画像确认房屋类型与房价定量
核对房屋类型、装修情况为定类,面积与价格为定量。
在目录中选择二阶聚类
在算法目录中选定「二阶聚类」。
为二阶聚类同时指定定量与定类特征
勾选面积、单价、总价与房屋类型、装修情况后运行。

如何阅读输出

下表是最终簇占用,不是预簇清单。合计 N=333:A 43(12.91%),B 51(15.32%),C 239(71.77%)。C 占 71.77%,说明第二步把绝大多数预簇并进同一枝;A、B 人数接近,像两块需要单独运营的少数剖面。表中没有 BIC 值,也没有房屋类型众数——那些若存在,在别的面板,不要给本表加列。

二阶聚类结果表
项目类别统计量取值
二阶聚类类别 A频数43
二阶聚类类别 B频数51
二阶聚类类别 C频数239
二阶聚类合计有效样本 N333
二阶聚类类别 A占比(%)12.91
二阶聚类类别 B占比(%)15.32
二阶聚类类别 C占比(%)71.77

左右滑动可查看完整表格

教学示例表在 StatsX 工作台中的计算结果口径。

二阶聚类占用结果表
工作台二阶聚类表,三类人数应与上表一致。
二阶聚类簇占用或准则图
准则图帮助看自动簇数;最终人数仍以占用表为准。
二阶聚类各类占比图
C 过七成时应在图上立刻可见,并与表中 71.77% 一致。

混类型列表删除比「只删定量」更狠:房屋类型或装修空缺的行也会退出,故 N=333 不必等于分层聚类那页的 212,也不必等于密度聚类的 265。三个方法的分母本来就不是同一批完整个案。

阅读顺序:混类型有效 N → 自动簇数与占用 → C 是否大到失去运营意义 → 再打开各簇的类型构成(工作台其他视图)核对「豪装 / 一室」是否集中在 A 或 B。BIC 最小不等于市场部必须开三个运营组。写方法时报告特征清单、准则种类、最大簇数上限和这张占用表。

理论与公式

TwoStep 对预簇 j 的对数似然把连续维的正态密度与定类维的多项概率乘在一起。合并预簇 U、V 的距离取似然下降:

其中 ξ 是该预簇在当前参数下的对数似然贡献(Chiu 等, 2001)。第二步在预簇上做层次合并。自动簇数常最小化 BIC:

本例 N=333,准则若停在 k=3,占用即为 (43,51,239)。q(k) 随连续维方差参数和定类水平数增加,所以乱加「城市×区域」会把准则推向更多碎簇。预簇不是最终答案:同一行在第一步被装进哪个叶,取决于 CF tree 的插入顺序与叶容量。

注意事项

  • C 占 71.77% 时,准确率式的「分得开」没有意义——多数行本来就在同一枝。

  • 自动 k 随准则和上限而变,论文必须写 BIC 还是 AIC。

  • 小区名称、房源ID 会把多项维炸开,必须排除。

  • 第一步丢掉的细节回不来:两套房若早早装进同一预簇,第二步无法再拆开它们。

  • 与分层聚类的 N 不同,不要用另一页的 212 来重算本表占比。

  • 混合距离依赖分布假设,极端总价仍会拉动连续维的方差项。

常见问题

参考文献

  • Chiu, T., Fang, D., Chen, J., Wang, Y., Jeris, C. A robust and scalable clustering algorithm for mixed type attributes in large database environment[C]//KDD. 2001.

  • IBM. SPSS Statistics TwoStep Cluster Algorithms. IBM Knowledge Center.

  • 张文彤, 董伟. SPSS统计分析高级教程[M]. 高等教育出版社.