能告诉你什么
Crosstabs 运行与 SPSS TREE 对应的过程,提供三种生长方法:CHAID 和穷举 CHAID 基于 Bonferroni 校正的检验进行多路拆分;CRT 按杂质减少量进行二分拆分,并可修剪;QUEST 用 ANOVA F、卡方与 Levene 检验选择拆分变量,并用二次判别分析确定二分拆分点。
- 每一步哪个预测变量对目标的区分作用最大,以及哪些类别或取值区间被合并在同一分支(各分支的拆分值)。
- 每个节点的特征:目标变量的分布或平均值、节点规模以及预测类别。
- 哪些终端节点集中了目标类别:见收益表中的收益 %、响应 % 和指数 %。
- 树的误分率:再代入风险估计,以及可选的 V 折交叉验证风险估计。
- 对于 CRT,各预测变量的重要性(同时计入主要拆分与代理拆分)。
适用场景
适合使用
- 把客户或受访者划分为可以用一句话描述的规则型细分群,例如“基础版套餐且在网不足一年”。
- 在建立回归模型之前,从大量分类和连续预测变量中筛选出真正起作用的少数变量及其交互作用。
- 精准营销:按响应率对节点排序,决定优先联系哪些细分群。
- 目标变量可以是名义、有序或标度变量:CHAID 使用卡方、似然比或 F 检验,CRT 使用 Gini、Twoing 或最小二乘偏差。
改用其他方法
- 需要每个预测变量的效应大小及置信区间:使用二元或多项 Logistic 回归。
- 样本量较小:默认父节点至少 100 个个案、子节点至少 50 个,几百个个案可能只能拆分一两次。
- 没有目标变量、只想找出自然分组:这属于聚类分析(两步聚类、K-均值或系统聚类)。
- 需要自定义误分成本或利润:本面板采用等成本和经验先验概率。
在 Crosstabs 中如何操作
- 01
打开决策树面板
在工作区打开文件,切换到“统计”模式,在“分类”组中选择“决策树”(TREE)。数据始终留在浏览器中。
- 02
设置因变量及其测量级别
选择“因变量”并确认其“测量级别”(名义、有序或标度);测量级别决定可用的检验和杂质测量。
- 03
勾选自变量
勾选“自变量”,并在每个变量旁的下拉框中设置其测量级别。标度预测变量在 CHAID 中先分箱,在 CRT 中按阈值拆分。
- 04
选择生长方法和停止规则
在“生长方法和标准”中选择 CHAID、穷举 CHAID 或 CRT,再设置“最大树深度”(CHAID 默认 3,CRT 默认 5)以及父节点和子节点中的最小个案数。
- 05
调整方法特有的标准
CHAID 需设置拆分和合并的显著性水平,名义目标还可选择 Pearson 或似然比卡方统计量。CRT 需选择杂质测量和改进的最小变化,并可勾选“修剪树以避免过度拟合”并设定标准误规则。
- 06
验证并运行
勾选“交叉验证风险估计”并设定样本折数,选择“收益的目标类别”,然后运行。工作区权重只有在声明为频数权重后才会使用。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
600 名模拟订阅用户,含套餐档位(基础版、标准版、高级版)、在网月数(1–48)和地区。流失(churn)按套餐和“首年效应”模拟生成,地区为纯噪声。数据使用固定随机种子,每次构建结果相同。CHAID 采用面板默认设置(深度 3、父节点 100、子节点 50、α = .05),并做 10 折交叉验证。
| 节点 | 是 % | N | 预测类别 | 父节点 | 主要自变量 | 调整后 P 值 | 拆分值 |
|---|---|---|---|---|---|---|---|
| 0 | 33.2 | 600 | 否 | ||||
| 1 | 32.7 | 199 | 否 | 0 | plan | <.001 | 标准版 |
| 2 | 50.5 | 188 | 是 | 0 | plan | <.001 | 基础版 |
| 3 | 18.3 | 213 | 否 | 0 | plan | <.001 | 高级版 |
| 4 | 52.5 | 59 | 是 | 1 | tenure | <.001 | ≤ 4; (4, 9]; (9, 14] |
| 5 | 24.3 | 140 | 否 | 1 | tenure | <.001 | (14, 17]; (17, 23]; (23, 28]; (28, 33]; (33, 38]; (38, 43]; > 43 |
| 6 | 68.5 | 54 | 是 | 2 | tenure | .033 | ≤ 4; (4, 9]; (9, 14] |
| 7 | 50.6 | 79 | 是 | 2 | tenure | .033 | (14, 17]; (17, 23]; (23, 28]; (28, 33] |
| 8 | 32.7 | 55 | 否 | 2 | tenure | .033 | (33, 38]; (38, 43]; > 43 |
调整后的 p 值采用 Bonferroni 方法。
| 节点 | N | 节点 % | 收益 % | 响应 % | 指数 % | 累积收益 % |
|---|---|---|---|---|---|---|
| 6 | 54 | 9.0 | 18.6 | 68.5 | 206.6 | 18.6 |
| 4 | 59 | 9.8 | 15.6 | 52.5 | 158.4 | 34.2 |
| 7 | 79 | 13.2 | 20.1 | 50.6 | 152.7 | 54.3 |
| 8 | 55 | 9.2 | 9.0 | 32.7 | 98.7 | 63.3 |
| 5 | 140 | 23.3 | 17.1 | 24.3 | 73.2 | 80.4 |
| 3 | 213 | 35.5 | 19.6 | 18.3 | 55.2 | 100.0 |
终端节点按响应从高到低排序。
| 方法 | 估计 | 标准误 |
|---|---|---|
| 再代入 | 0.292 | 0.019 |
| 交叉验证 | 0.345 | 0.019 |
风险是错误分类个案的比例(等成本、经验先验)。
| 实测 | 否 | 是 | 正确百分比 |
|---|---|---|---|
| 否 | 317 | 84 | 79.1 |
| 是 | 91 | 108 | 54.3 |
| 总体百分比 | 68.0% | 32.0% | 70.8 |
结果解读
CHAID 首先按 plan 拆分 600 个个案(调整后 p < .001),最终在深度 2 处得到 6 个终端节点;作为噪声的 region 始终未进入树中。表现最好的节点 6 包含 9.0% 的个案,流失率为 68.5%(指数 206.6%)。该树在建模数据上的误分率为 29.2%,10 折交叉验证下为 34.5%。在同一数据上经修剪的 CRT 树有 3 个终端节点,交叉验证风险为 31.7%。
输出表格说明
- 模型摘要
- 生长方法、实际进入树中的自变量、节点数与终端节点数、深度和使用的个案数,并注明被排除的个案。
- 树形图
- 交互式树图:每个节点显示目标分布或平均值以及 N,每条分支标出预测变量和拆分值;单击节点可折叠其分支。
- 树表
- 每个节点一行:各类别百分比(或平均值与标准差)、N、预测类别、父节点、拆分变量、CHAID 统计量及 Bonferroni 调整后 P 值或 CRT 改进值,以及拆分值。
- 节点收益
- 终端节点按响应率排序:收益 % 是该节点捕获的目标个案占全部目标个案的比例,响应 % 是节点内的比例,指数 % 是相对整体的倍数;累积列可用于绘制收益图。标度目标则给出按平均值排序的“节点收益摘要”。
- 风险
- 误分率(标度目标为节点内方差)及其标准误,分为再代入与交叉验证两种。两者差距大说明存在过度拟合。
- 分类
- 实测类别与预测类别的交叉表,含各行及总体正确百分比;CRT 树另有“自变量重要性”表,修剪时还有“成本复杂度修剪序列”表。
前提假设与注意事项
- 决策树不要求分布假设,但 CHAID 的检验假定个案相互独立;同一对象的重复记录会夸大显著性。
- 测量级别很重要:名义预测变量的任意类别都可合并,而有序变量或分箱后的标度变量只能合并相邻类别。
- 个案需要有效的目标值和至少一个有效的预测变量。CHAID 把预测变量缺失值作为单独类别;CRT 用代理拆分来分配缺失值。
- 风险估计采用相等的误分成本,先验概率由样本估计。
结果如何验证
CHAID 与穷举 CHAID 在 1,200 个个案的模拟市场数据上与 R 包 chaidr 0.1.0(R 4.6.1)逐节点对照,覆盖名义、有序和标度目标、似然比统计量、频数权重及更深的树:节点规模和合并类别完全一致,调整后 p 值与统计量的相对误差在 1e-6 以内;10 折交叉验证风险与 chaidr 一致到小数点后 12 位,根节点拆分与 R-Forge CHAID 包 0.1.2 一致。CRT 在 Gini 树、最小二乘树和代理拆分上与 rpart 4.1.27 一致,Gini、Twoing 与最小二乘拆分与穷举搜索参考实现一致到 12 位小数,成本复杂度修剪序列与算法手册一致。 验证证据(英文)
常见问题
应该用 CHAID 还是 CRT?
CHAID 采用多路拆分并在每次拆分时做显著性检验,生成的树较宽且易读,适合细分。CRT 只做二分拆分,用代理拆分处理缺失值,并可做成本复杂度修剪,更适合预测。可在自己的数据上比较两者的交叉验证风险。
CHAID 与穷举 CHAID 有何区别?
穷举 CHAID 会一直合并类别直到只剩两组,再从中选出最佳分组,搜索更彻底,因此没有单独的合并显著性水平。它更慢,得到的树通常与 CHAID 相近。
为什么树完全没有拆分?
通常是停止规则导致的:默认父节点至少需要 100 个个案、每个子节点 50 个。小文件可降低父节点和子节点中的最小个案数,或提高拆分的显著性水平。
如何解读收益表?
先把关注的类别设为“收益的目标类别”。指数 % 为 200 的节点,其响应率是总体的两倍;累积收益 % 表示选取排名靠前的若干节点时能覆盖全部目标个案的比例。
可以使用加权数据吗?
可以,前提是工作区权重为整数计数并声明为频数权重。抽样权重需要基于抽样设计的分析,因此不会用它来生长树。
相关过程
- 二元 Logistic 回归LOGISTIC REGRESSION
- 多项 Logistic 回归NOMREG
- 最优分箱OPTIMAL BINNING
- 最近邻元素分析(KNN)KNN
- 两步聚类TWOSTEP CLUSTER
- 交叉表统计量CROSSTABS /STATISTICS
- 免费的 SPSS 替代工具:支持范围
用你自己的数据运行决策树(CHAID、CRT)
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。