SPSS 命令: SPSS OPTIMAL BINNING
在浏览器中做最优分箱(MDLP)
最优分箱把连续变量切分为能最好地区分引导变量各类别(例如违约与已还款)的若干箱。
免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日
能告诉你什么
Crosstabs 实现了 SPSS OPTIMAL BINNING 过程:有监督 MDLP 分箱(Fayyad 与 Irani),可选的稀疏箱合并,以及无监督的等频分箱。
- 在哪里切分连续变量能使各箱的引导结果差异最大,以及数据能支持多少个箱。
- 每个箱中引导变量各类别的计数,可以据此读出每个箱的结果比例。
- 以比特为单位的模型熵:越低表示分箱越能区分引导类别。
- 何时不值得切分:若没有切点能充分改善预测,MDLP 会把变量保留为一个箱。
适用场景
适合使用
- 评分卡和风险模型中,需要把连续预测变量变成少数几个易解释的区段。
- 为需要类别变量的决策树、朴素贝叶斯或交叉表准备预测变量。
- 没有结果变量引导切分时,划分等频组。
改用其他方法
- 要在同一数据上用分箱后的变量检验同一结果时:切点本来就是为拟合它而选的,p 值会过于乐观。
- 连续变量本身已能很好地进入模型时:分箱会丢失信息。
在 Crosstabs 中如何操作
- 01
打开数据
在工作区打开 .sav、CSV 或 Excel 文件并切换到“统计”模式。
- 02
选择最优分箱
在“实用工具与图表”组中选择“最优分箱”,并选择“要分箱的变量(尺度)”。
- 03
选择方法
方法:“有监督(MDLP)”需要“引导变量(分类)”,并可勾选“合并稀疏箱(5% 阈值)”;“无监督(等频)”需设置“箱数”。
- 04
运行并下载
声明启用的权重(只使用频数权重),点击“运行”,阅读分箱摘要,然后点击“下载含分箱变量的数据(CSV)”,文件会新增 <变量名>_bin 列。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
300 名模拟贷款申请人,包含收入(千元)和结果(违约或已还款)。违约率被设定为在约 32 和 58 处阶梯式下降,引擎需要在不被告知的情况下找出这些切点。
| 箱 | 下端(>) | 上端(≤) | default | repaid | 总计 | 违约率 |
|---|---|---|---|---|---|---|
| 1 | −∞ | 31.9 | 36 | 20 | 56 | 64.3% |
| 2 | 31.9 | 57.0 | 18 | 73 | 91 | 19.8% |
| 3 | 57.0 | +∞ | 4 | 149 | 153 | 2.6% |
模型熵:0.4822 比特。使用了 300 个个案。
| 箱 | 下端(>) | 上端(≤) | 总计 |
|---|---|---|---|
| 1 | −∞ | 37.0 | 76 |
| 2 | 37.0 | 58.0 | 74 |
| 3 | 58.0 | 79.9 | 75 |
| 4 | 79.9 | +∞ | 75 |
结果解读
MDLP 在 31.9 和 57.0 处把收入分为 3 个箱,接近预设的阶梯位置;违约率从第一个箱的 64.3% 降到最后一个箱的 2.6%。等频分箱不考虑结果变量,只在四分位点(37.0、58.0、79.9)切分,因此箱的边界与风险变化的位置并不对应。
输出表格说明
- 分箱摘要
- 每个箱一行,给出下端(>)和上端(≤)、引导变量各类别的计数和总计;脚注给出模型熵和所用个案数。
- 最优分箱
- 摘要说明形成了多少个箱及各切点,或说明没有切点能充分改善预测。
前提假设与注意事项
- 一个箱包含大于其下端且不超过其上端的值;变量或引导变量缺失的个案不分箱。
- 不同值超过 1,000 个时,与 SPSS 一样,先按等频预分箱再做 MDLP。
- 频数权重四舍五入为整数,权重低于 0.5 的个案被剔除;抽样权重会被忽略。
结果如何验证
切点与独立的 Python 参考实现对照验证,该实现包含独立的 MDLP 实现(Fayyad 与 Irani)以及 SPSS OPTIMAL BINNING 文档中的示例。对于手册示例、四个随机数据集,以及 3、4、7 个箱的等频分箱,切点一致到 1e-12,各类别箱计数与模型熵也一致到 1e-12。 验证证据(英文)
常见问题
为什么 MDLP 只给出一个箱?
只有当信息增益超过最小描述长度惩罚时,MDLP 才会接受切点。关系较弱或个案较少时没有切点能通过,这本身就是有用的发现。
合并稀疏箱有什么作用?
MDLP 完成后,若某个箱的规模不到其较小相邻箱的 5%,就并入合并后类别熵更低的那个相邻箱,从而避免出现在新样本中不稳定的极小区段。
这与可视分箱或 NTILES 有什么不同?
等频或等宽分箱不考虑结果变量。MDLP 把切点放在引导变量发生变化的位置,因此各箱与风险或响应的差异相对应。
引导变量可以有两个以上类别吗?
可以。任何分类引导变量都适用;分箱摘要为每个类别显示一列计数。
相关过程
- 个案排秩RANK
- 决策树(CHAID、CRT)TREE
- 二元 Logistic 回归LOGISTIC REGRESSION
- 朴素贝叶斯NAIVEBAYES
- 交叉表统计量CROSSTABS /STATISTICS
- 免费的 SPSS 替代工具:支持范围
用你自己的数据运行最优分箱
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。