4. 逻辑回归评分卡建模全流程

逻辑回归评分卡是信贷风控面试中出现频率最高的项目主线。面试官问这道题,不是想听你背“先分箱再WOE再建模”,而是想确认三件事:你是否理解每一步背后的统计动机,你是否踩过真实数据的坑,以及你能否把模型结果翻译成业务能用的分数与策略。本章按“原理—流程—案例—复盘”四段展开,并给出一张回答框架图,帮你在面试中把全流程讲成一条有逻辑的链路。

变量筛选 IV/共线性/缺失 WOE分箱 单调性/稳定性 系数符号 业务一致性 评分刻度 PDO/BaseScore 模型校准 分数映射PD 评分卡建模五步回答主线 每一步都要回答:为什么做、怎么做、怎么验证、业务怎么用

一、核心原理:评分卡为什么用WOE和逻辑回归

评分卡的本质是把“违约概率”映射成一个整数分数,让审批、额度、定价都能用统一语言沟通。逻辑回归之所以长期占据风控主流,是因为它的线性形式配合WOE转换后,可解释性强、稳定性好、易于监控。WOE(Weight of Evidence)把每个分箱的“好坏比”取对数,公式为:WOE = ln(坏样本占比 / 好样本占比)。它带来三个好处:一是把非线性关系线性化,二是让缺失值、异常值有统一处理入口,三是每个箱的WOE值直接反映风险方向。

IV(Information Value)是WOE的加权和,用来衡量变量整体区分能力。经验阈值:IV<0.02几乎无区分度,0.02~0.1弱,0.1~0.3中等,0.3~0.5强,>0.5要警惕过拟合或信息泄露。面试中如果只背阈值而不解释“为什么IV过高反而危险”,会被追问到失分。

面试加分点:主动说明WOE的单调性检查。如果某个变量分箱后WOE不单调,优先合并相邻箱或重新切分,而不是直接丢进模型让系数去“硬拟合”。

二、方法流程:从原始变量到可用评分卡

完整流程可以拆成六步,每一步都有明确的输入输出和验证动作。

  1. 变量筛选:先做缺失率、单值率、时间穿越检查,再用IV初筛,最后用VIF或相关系数矩阵处理共线性。注意:IV高但业务不可解释的变量要谨慎,比如“手机号后四位”这类伪相关。
  2. 分箱与WOE:连续变量用卡方分箱或决策树分箱,离散变量按坏样本率合并。分箱后检查每箱样本占比不低于5%,WOE单调,且跨时间稳定。
  3. 逻辑回归建模:输入WOE值,输出系数。此时系数符号应全部为负(WOE越大风险越高,系数越负),如果出现正系数,说明该变量与目标关系异常或存在共线性。
  4. 系数符号校验:逐个变量对照业务常识。例如“近6个月逾期次数”WOE越高,系数应为负;若为正,需排查分箱方向是否写反、样本是否穿越。
  5. 评分刻度转换:用PDO(Points to Double the Odds)、BaseScore、BaseOdds三个参数把回归结果转成分数。公式为:Score = BaseScore + PDO/ln(2) * (ln(Odds) - ln(BaseOdds)),其中Odds = (1-PD)/PD。
  6. 模型校准:把分数映射回真实PD,常用Platt Scaling或等距回归。校准后检查分数段与实际坏样本率是否接近,避免“分数高但实际坏账也高”的错位。
# 评分刻度转换示例(Python伪代码)
import numpy as np

def score_from_pd(pd, base_score=600, base_odds=50, pdo=50):
    odds = (1 - pd) / pd
    factor = pdo / np.log(2)
    offset = base_score - factor * np.log(base_odds)
    return offset + factor * np.log(odds)

# 若PD=0.05,base_odds=50,pdo=50,base_score=600
# 输出分数约为 600 + 50/ln2 * ln(19/50) ≈ 535

三、案例场景:一次系数符号异常的排查

某消费贷项目,模型AUC 0.78,KS 0.42,看起来不错。但系数表里“近3个月查询次数”系数为正,意味着查询越多分数越高、风险越低,明显违背业务常识。排查路径如下:

  • 先看分箱WOE方向:发现该变量分箱时把“查询次数多”和“查询次数少”的WOE算反了,原因是坏样本定义写成了“好样本”。
  • 再看样本时间窗:训练集用了放款后6个月的表现期,但查询次数是申请前3个月,存在时间穿越,导致高查询人群被误标为低风险。
  • 最后看共线性:该变量与“近1个月查询次数”相关系数0.85,VIF超过10,两个变量互相抵消,系数符号被扭曲。

修正动作:重新定义坏样本、把查询类变量合并为“查询强度”综合指标、重新分箱并检查WOE单调性。修正后系数恢复为负,KS略降到0.39,但模型可解释性和跨时间稳定性明显提升。这个案例在面试中非常值钱,因为它同时展示了统计能力、业务理解和排查方法论。

环节 核心动作 常见验证指标 面试追问点
变量筛选 缺失、IV、VIF、业务可解释 IV>0.1,VIF<5 IV过高为什么危险
WOE分箱 卡方分箱、单调性、稳定性 WOE单调,箱占比>5% 不单调怎么处理
系数符号 业务对照、共线性排查 符号全负,方向一致 正系数怎么解释
评分刻度 PDO、BaseScore、BaseOdds 分数分布合理,区分度稳定 PDO怎么选
模型校准 分数映射PD,分段校验 校准曲线接近对角线 校准和区分度的区别

四、误区复盘与面试表达建议

高频误区一:把WOE当成“万能编码”,不做单调性检查直接入模。结果模型在训练集表现好,跨时间KS掉一半。正确做法是分箱后先看WOE趋势,再决定是否合并或调整切分点。
高频误区二:只讲AUC和KS,不讲校准。面试官问“你的分数600分对应多少违约率”,如果答不上来,说明你只做了排序模型,没做评分卡。校准是评分卡区别于普通分类模型的关键一步。

面试表达建议用“四句话结构”:第一句说业务目标(要一个可解释、可监控的评分卡);第二句说流程(筛选、分箱、建模、刻度、校准);第三句说一个具体坑(系数符号异常或WOE不单调);第四句说业务价值(分数如何用于审批和定价)。这样既展示技术深度,又展示业务落地能力。

最后提醒:逻辑回归评分卡的面试题往往不是单独出现的,它会和“模型监控”“策略调优”“跨时间验证”连在一起问。准备时把本章的五步流程背熟,并准备一个真实踩坑案例,就能应对大多数追问。