1. 机会评分模型核心指标:区分度、排序性、校准度、稳定性
构建与迭代机会评分模型的第一步,是建立一套明确、可量化的评估标准。仅凭单一指标无法全面反映模型在真实业务场景中的表现。本章详细拆解四个核心维度——区分度、排序性、校准度和稳定性,并给出每个指标的数学定义、业务含义、计算方法和常见陷阱。
1.1 指标全景与业务对齐矩阵
| 维度 | 核心问题 | 代表指标 | 理想范围 | 调试优先级 |
|---|---|---|---|---|
| 区分度 | 能否把好/坏客户有效分开? | KS、AUC | KS≥0.3, AUC≥0.75 | ★ 首要 |
| 排序性 | 评分对违约风险的排序是否正确? | Gini系数 | Gini≥0.5 | ★ 重要 |
| 校准度 | 预测概率与实际违约率是否一致? | Calibration曲线、Hosmer-Lemeshow | 斜率接近1,截距接近0 | ★★ 迭代后 |
| 稳定性 | 模型在时间/客群迁移下表现是否可靠? | PSI | PSI<0.1(优)或<0.25(可接受) | ★★ 上线前 |
实战口诀:“先分后排再校准,上线之前必稳保。” 区分度不足时,排序性和校准度优化无意义;校准度差但区分度高,可通过分数变换修正;稳定性若不满足,模型应推迟上线。
1.2 区分度:KS 与 AUC
KS (Kolmogorov-Smirnov) 统计量衡量模型对好坏样本的累计分布最大差距。定义如下:
KS = max |CumBadRatio(i) - CumGoodRatio(i)|
其中 i 为按预测分数降序排列的分箱索引。
通常要求 KS ≥ 0.3,优秀模型可达 0.5。
AUC (Area Under ROC Curve) 是 ROC 曲线下面积,反映随机抽出一对好坏样本,模型正确排序的概率。
- 计算方式:使用 sklearn.metrics.roc_auc_score。
- 经验阈值:AUC > 0.75 可接受,> 0.85 良好,> 0.95 需警惕过拟合。
常见陷阱:KS 过高(如 > 0.75)往往意味着过拟合或变量泄露,而非模型真实能力强。同时,AUC 对样本不平衡敏感,在正负样本比为 1:100 的极端场景下,AUC 可能仍很高但实际区分能力有限。建议同时计算 Precision-Recall 曲线下面积 (PRAUC) 作为辅助。
1.3 排序性:Gini 系数
Gini 系数来源于 Lorenz 曲线,与 KS 同源但更关注全局排序。在信用评分领域,常用转换公式:Gini = 2 × AUC - 1。
业务解释:如果模型完全随机排序,Gini=0;若完美排序,Gini=1。实践中,好模型 Gini 通常在 0.5~0.8 之间。
| Gini范围 | 排序能力描述 | 建议行动 |
|---|---|---|
| 0.0 ~ 0.3 | 弱,基本无排序能力 | 重建特征或更换算法 |
| 0.3 ~ 0.5 | 中等,可接受 | 针对性特征工程提升 |
| 0.5 ~ 0.8 | 良好,适合风控场景 | 保持并监控稳定性 |
| > 0.8 | 极高,警惕过拟合 | 验证集反复交叉,做样本外测试 |
1.4 校准度:Calibration 曲线与 Hosmer-Lemeshow 检验
校准度评估模型预测概率 p̂ 是否如实反映真实违约率。常见方法:
- Calibration 曲线:将样本按预测概率等宽分箱,统计每个箱内实际违约率,绘制散点图。理想情况:点落在 45° 对角线上。
- Hosmer-Lemeshow 拟合优度检验:将数据分 10 组,计算卡方统计量,p 值 > 0.05 表示校准度可接受。
代码示例:计算 Calibration 曲线(Python sklearn)
from sklearn.calibration import calibration_curve
prob_true, prob_pred = calibration_curve(
y_true, y_score, n_bins=10, strategy='uniform'
)
# prob_true: 每箱实际违约率
# prob_pred: 每箱平均预测概率
# 绘图对比 45° 线即可判断校准偏差
校准度不良的典型表现:模型整体低估违约概率(点在对角线下方)或高估(点在线上面)。原因常为样本偏差、缺失重要特征或损失函数选择不当(如仅用 AUC 优化而忽略对数损失)。
1.5 稳定性:PSI(Population Stability Index)
PSI 量化模型评分分布在时间维度上的漂移程度,数学定义:
PSI = Σ (P_i - Q_i) × ln(P_i / Q_i)
其中 P_i 为参考期(如建模样本)在第 i 个分数段的占比,
Q_i 为当前期(如线上样本)在相同分数段的占比。
| PSI 值 | 稳定性等级 | 应对措施 |
|---|---|---|
| < 0.1 | 优秀 | 正常监控,每月重算 |
| 0.1 ~ 0.25 | 需关注 | 排查客群结构或外部环境变化 |
| > 0.25 | 严重漂移 | 必须回滚或紧急重训练 |
1.6 四个指标的优先级与迭代循环
在迭代优化过程中,推荐按以下顺序依次检查:
- 区分度优先:若 KS/AUC 不达标,其他指标优化无基础。
- 排序性对齐:Gini 与 KS 趋势一致时,模型方向正确。
- 校准度修正:使用 Platt Scaling 或 Isotonic Regression 调整概率。
- 稳定性验证:在训练集和 OOT(跨时间)样本上分别计算 PSI,确保泛化。
实战小技巧:在建模初期,可以设置一个“指标仪表盘”,将 KS、AUC、Gini、Calibration 斜率、PSI 五个数值同时输出,每轮特征工程后自动汇报。这样能一眼看出本轮改动导致哪个维度下降,避免偏科优化。