SPSS 命令: SPSS OPTIMAL BINNING

在浏览器中做最优分箱(MDLP)

最优分箱把连续变量切分为能最好地区分引导变量各类别(例如违约与已还款)的若干箱。

免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日

能告诉你什么

Crosstabs 实现了 SPSS OPTIMAL BINNING 过程:有监督 MDLP 分箱(Fayyad 与 Irani),可选的稀疏箱合并,以及无监督的等频分箱。

  • 在哪里切分连续变量能使各箱的引导结果差异最大,以及数据能支持多少个箱。
  • 每个箱中引导变量各类别的计数,可以据此读出每个箱的结果比例。
  • 以比特为单位的模型熵:越低表示分箱越能区分引导类别。
  • 何时不值得切分:若没有切点能充分改善预测,MDLP 会把变量保留为一个箱。

适用场景

适合使用

  • 评分卡和风险模型中,需要把连续预测变量变成少数几个易解释的区段。
  • 为需要类别变量的决策树、朴素贝叶斯或交叉表准备预测变量。
  • 没有结果变量引导切分时,划分等频组。

改用其他方法

  • 要在同一数据上用分箱后的变量检验同一结果时:切点本来就是为拟合它而选的,p 值会过于乐观。
  • 连续变量本身已能很好地进入模型时:分箱会丢失信息。

在 Crosstabs 中如何操作

  1. 01

    打开数据

    在工作区打开 .sav、CSV 或 Excel 文件并切换到“统计”模式。

  2. 02

    选择最优分箱

    在“实用工具与图表”组中选择“最优分箱”,并选择“要分箱的变量(尺度)”。

  3. 03

    选择方法

    方法:“有监督(MDLP)”需要“引导变量(分类)”,并可勾选“合并稀疏箱(5% 阈值)”;“无监督(等频)”需设置“箱数”。

  4. 04

    运行并下载

    声明启用的权重(只使用频数权重),点击“运行”,阅读分箱摘要,然后点击“下载含分箱变量的数据(CSV)”,文件会新增 <变量名>_bin 列。

计算示例

以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。

数据

300 名模拟贷款申请人,包含收入(千元)和结果(违约或已还款)。违约率被设定为在约 32 和 58 处阶梯式下降,引擎需要在不被告知的情况下找出这些切点。

分箱摘要(有监督 MDLP,引导变量:outcome)
箱下端(>)上端(≤)defaultrepaid总计违约率
1−∞31.936205664.3%
231.957.018739119.8%
357.0+∞41491532.6%

模型熵:0.4822 比特。使用了 300 个个案。

分箱摘要(无监督,4 个等频箱)
箱下端(>)上端(≤)总计
1−∞37.076
237.058.074
358.079.975
479.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 把切点放在引导变量发生变化的位置,因此各箱与风险或响应的差异相对应。

引导变量可以有两个以上类别吗?

可以。任何分类引导变量都适用;分箱摘要为每个类别显示一列计数。

用你自己的数据运行最优分箱

打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。

打开分析工作区

SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。