你每月查看信用模型的监控面板,发现 Population Stability Index(PSI,群体稳定性指数)突然越过警戒线。问题来了:客户真的变了,还是样本太少、分箱不巧,触发了一次误报?反过来,如果 PSI 没有报警,模型就一定安全吗?
这正是 Abdullah Karasan 和 Alper Hekimoğlu 这篇论文要解决的问题。作者没有只比较 PSI、Kullback–Leibler Divergence(KLD,KL 散度)和 Jensen–Shannon Divergence(JSD,JS 散度)的数值大小,而是追问两个更实用的问题:没有漂移时,它们会不会乱报警;确有漂移时,它们又有多大概率抓住。
以下结论均来自这篇论文及其模拟实验,尚无独立研究交叉验证。尤其是误报率和检测功效,只适用于论文采用的模型、分箱、显著性水平与样本设置,不能直接外推到真实信用组合。
PSI的问题,不只是阈值怎么定
模型上线后,客户特征、经济环境或行为关系都可能改变。模型漂移,就是模型当初学到的规律逐渐不再适用。监控输入、评分或违约概率的分布变化,通常是发现问题的早期预警。
PSI是信用风控中常用的漂移指标。它先把基准样本和当前样本分箱,再比较每一箱所占的比例。做法直观,计算也方便。但它很依赖分箱:箱子切得太粗,变化可能被抹平;切得太细,又容易出现样本稀疏甚至某一箱为零。固定经验阈值也只能告诉你“数值跨线了”,不能自动回答这次报警在统计上是否可靠。
KLD和JSD提供了另外两把尺子。它们都衡量两个概率分布相差多远。KLD有方向性,交换基准分布和当前分布,结果可能不同;遇到零概率时也较棘手。JSD可以看成经过对称化和平滑处理的KLD:交换两个分布不会改变结果,而且通过引入混合分布缓和了单侧空箱问题。
作者的关键推进,是为JSD和KLD推导统计性质与卡方基准值。卡方基准值可以理解为一条随样本量和分箱数变化的统计警戒线。监控人员不必只看一个孤立的散度数值,而可以在给定显著性水平下,检验观察到的差异是否可能只是随机波动。
但这里有一个重要条件。论文讨论的是依赖大样本近似的卡方参考分布,不宜把“JSD和KLD服从卡方分布”理解成任何样本、任何分箱下都精确成立的定律。
好警报,要同时管住误报和漏报
论文把比较拆成两个场景。
第一个场景中,两组数据来自相同分布。理想检验在5%的显著性水平下,误报率应接近5%。这叫第一类错误:其实没有变化,系统却发出了警报。
在论文的模拟设置中,JSD的拒绝率最接近5%,整体更保守。最小的平衡样本设置为 时,JSD的误报率约为4.3%,PSI约为5.6%,KLD约为6.1%。KLD在部分小样本或不平衡样本组合中最高达到约7.1%。换句话说,如果一次误报会触发昂贵的调查、重训或审批流程,JSD可能更合适。
第二个场景中,作者真的改变了两个正态分布的均值,再看三种指标能否发现变化。这考察统计功效——现实已经变化时,检验成功报警的概率。
代价随即出现。在 时,JSD的功效约为27%,PSI和KLD都约为32%。也就是说,JSD少报了一些假警报,也漏掉了更多真实变化。随着样本扩大,三者差距快速缩小;在 时,三种指标的功效都接近96%。论文因此把JSD的特点概括为一种取舍,而不是无条件的胜出:它用较低的小样本灵敏度,换取更好的误报控制。
作者也提醒,这种保守表现可能部分来自JSD在有限样本下尚未充分贴近其渐近卡方分布,而不一定代表它天生校准得更好。小样本修正或用重采样估计临界值,是后续需要解决的问题。
分箱和样本量,决定这把尺子准不准
论文给出的落地建议很具体。卡方近似依赖每个箱内有足够的预期观测数。经典下限是每箱至少约5个;面对偏斜分布或尾部区间,作者建议采用至少10个的更保守标准。若达不到,应合并相邻箱,或改用置换检验、bootstrap(自助法,即反复重采样来估计不确定性),而不是硬套卡方临界值。
PSI和KLD还要求相关箱不能为空,因为公式中包含对数项。JSD只要两组样本中至少一组在该箱有数据,就能借助混合分布处理,因此更适合稀疏分箱。不过,“能算”不等于“大样本近似一定可靠”。
作者建议使用卡方临界值时,基准样本和当前样本都至少达到500;低于500时,优先考虑误报较少的JSD。分箱数也要折中:太少会遮住局部变化,太多则使单箱样本不足。论文建议使用与信用评级档位一致的分箱,或等频分箱,并用多种分箱数量做稳健性检查。
放进信用模型后,三把尺子结论一致
为了展示应用,作者没有使用真实银行组合,而是通过三类结构化信用风险模型生成违约概率:基础 Merton 模型、加入跳跃的 Merton with Jump,以及同时考虑随机波动率与跳跃的 Stochastic Volatility with Jump(SVJ)。这些模型用企业资产价值及其变化来刻画违约风险;“跳跃”表示资产价值可能突然发生不连续变化。
在包含1,000个模拟债务人的实验中,作者采用10个等频箱,每箱约100个观测。5%显著性水平下,PSI、KLD和JSD的临界值分别为0.0991、0.0495和0.0123。三种指标比较三组模型时,所有结果都越过各自临界值,因此一致判断违约概率分布存在显著差异。
这里最容易误读的是绝对数值。PSI得到的差异约为0.28至1.94,KLD约为0.15至0.98,JSD约为0.03至0.19。JSD数字更小,不代表它发现的漂移更弱;三种指标的数学尺度不同,必须分别和自己的临界值比较,不能横向比谁的数更大。
为什么值得关注
这篇论文真正有用的地方,不是给PSI找了一个简单替代品,而是把“漂移多大”改写成了“这次报警有多可信”。选择指标时,团队需要先明确代价:更怕误报,还是更怕漏报;样本是否充足;分箱是否稀疏;两期样本量是否平衡。
如果误报会造成很高的运营成本,且样本量足够,JSD的保守性有吸引力。如果监控目标要求尽早捕捉微小变化,小样本下PSI或KLD在论文设定中更灵敏,但也要接受较高的误报风险。最稳妥的做法不是机械替换指标,而是报告样本量、分箱规则、统计显著性和功效,并针对稀疏组合使用重采样校准。
还要守住边界:分布漂移只是早期信号。它说明输入、评分或违约概率的分布变了,并不等于模型的判别力、校准度或公平性已经恶化。一次可靠的漂移报警,仍然只是进一步诊断的起点。
局限与未知
- 论文的信用风险应用完全基于模拟资产路径,没有使用历史违约数据库或真实生产组合;实际运营价值仍待验证。
- 卡方临界值依赖大样本、足够的单箱观测和合理分箱。低违约组合常不满足这些条件,小样本修正与bootstrap校准尚未完成。
- 三种指标只比较分布,不能单独判断模型性能是否下降。真实监控仍需结合判别力、校准度与公平性等检查。