一、违约概率建模基础:PD模型的目标
做信用风险建模,说白了就是回答一个问题:这个客户会不会不还钱?
PD模型,全称 Probability of Default,就是用来量化这个问题的。我刚开始做风控那会儿,领导问我:“你做的模型到底有什么用?”我说:“就是给每个客户打个分,分数越高,违约概率越大。”他点点头,说:“那你怎么知道谁是好客户,谁是坏客户?”
嗯,这个问题问到点子上了。
1.1 PD模型的核心目标
PD模型的目标其实很单纯:区分好客户和坏客户。但这里有个坑——什么叫“好”?什么叫“坏”?
我个人习惯这样定义:
- 好客户:在观察期内按时还款,没有发生逾期,或者逾期天数在可控范围内(比如30天以内)
- 坏客户:在观察期内出现严重逾期,比如逾期超过90天,或者直接变成坏账
你想想看,如果连好坏都分不清,模型再花哨也没用。我在项目中遇到过一家消费金融公司,他们一开始把“逾期1天”就算坏客户,结果模型跑出来全是“坏客户”,根本没法用。后来我们调整了定义,才把模型做稳。
核心要点:PD模型不是预测“会不会逾期”,而是预测“会不会严重违约”。这个区别很重要。
1.2 区分好客户与坏客户:为什么这么难?
很多人以为,只要把历史数据拉出来,看看谁逾期了谁没逾期,就能训练模型了。但现实没这么简单。
我举个例子:
- 客户A:借款10万,第30天还款,从未逾期
- 客户B:借款10万,第89天还款,逾期了但没超过90天
- 客户C:借款10万,第120天还款,逾期超过90天
这三个客户,谁是“好”,谁是“坏”?
按照行业惯例:
- 客户A:好客户,毫无疑问
- 客户B:争议区。有的机构算好,有的算坏
- 客户C:坏客户,没跑
我曾经在一家银行做项目,他们坚持把逾期60天以上的都算坏客户。结果模型区分度很差,因为很多客户只是忘了还款,并不是真的没钱。后来我们改成90天,模型效果立马提升。
我的建议:违约窗口期一般设为90天或以上。太短会把“忘记还款”的人误判为坏客户,太长又会漏掉真正的风险。
1.3 建模数据集的结构:样本与特征
建模数据集,说白了就是一张大表格。每一行是一个客户,每一列是一个特征。
我习惯这样组织数据:
| 客户ID | 年龄 | 收入 | 负债率 | 历史逾期次数 | 标签(是否违约) |
|---|---|---|---|---|---|
| 001 | 28 | 15000 | 0.3 | 0 | 0(好) |
| 002 | 35 | 8000 | 0.6 | 2 | 1(坏) |
| 003 | 42 | 25000 | 0.2 | 1 | 0(好) |
这里有几个关键点:
- 样本:就是客户。每个客户一条记录
- 特征:就是客户的属性。年龄、收入、负债率这些
- 标签:就是“好”或“坏”。0表示好,1表示坏
你可能会问:“特征从哪里来?”
嗯,这个问题问得好。特征主要来自三个地方:
- 客户申请信息:年龄、职业、收入、学历等
- 征信数据:历史贷款记录、逾期次数、查询次数等
- 行为数据:消费习惯、还款方式、账户活跃度等
我在项目中遇到过最头疼的事,就是特征太多。有一次一个数据集有500多个特征,跑模型跑了三天三夜。后来我做了特征筛选,只保留30个最重要的,效果反而更好。
注意:特征不是越多越好。特征太多会导致过拟合,模型在训练集上表现很好,但一到新数据就崩了。
1.4 标签定义:违约窗口期
标签定义是PD模型里最容易被忽视、但也是最关键的一步。
什么叫“违约窗口期”?
说白了,就是你给客户多长的时间来“变坏”。
举个例子:
- 你在2023年1月1日给客户放了一笔贷款
- 你观察他12个月,到2023年12月31日
- 如果他在这个期间内逾期超过90天,就标记为“坏客户”
这里的“12个月”就是违约窗口期,“90天”就是违约阈值。
我个人的经验是:
- 窗口期太短(比如3个月):很多客户还没来得及违约,就被标记为好客户。模型会低估风险
- 窗口期太长(比如24个月):数据时效性差,而且很多客户可能已经还清了贷款,违约概率被稀释
我曾经做过一个对比实验:
- 窗口期6个月:模型AUC 0.72
- 窗口期12个月:模型AUC 0.78
- 窗口期18个月:模型AUC 0.76
你看,12个月的效果最好。所以我现在做项目,默认窗口期就是12个月。
总结一下:
- 违约窗口期:建议12个月
- 违约阈值:建议90天
- 标签:0=好客户,1=坏客户
1.5 知识体系总览
下面这张图,是我自己画的知识结构图。你可以把它当作本章的“地图”,看完之后对整个PD模型的基础框架有个整体印象。
这张图把本章的核心内容串起来了。你看到没?PD模型的目标就是“区分好坏”,而要实现这个目标,需要搞定两件事:一是“数据集结构”(样本和特征),二是“标签定义”(窗口期和阈值)。
嗯,到这里,第一章的内容就差不多了。记住一句话:模型的好坏,80%取决于数据准备,20%取决于算法选择。把基础打牢,后面的事情就顺了。
公众号:蓝海资料掘金营,微信deep3321