一、违约概率建模基础: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表示坏

你可能会问:“特征从哪里来?”

嗯,这个问题问得好。特征主要来自三个地方:

  1. 客户申请信息:年龄、职业、收入、学历等
  2. 征信数据:历史贷款记录、逾期次数、查询次数等
  3. 行为数据:消费习惯、还款方式、账户活跃度等

我在项目中遇到过最头疼的事,就是特征太多。有一次一个数据集有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模型基础:知识体系总览 PD模型目标 区分好客户与坏客户 建模数据集结构 标签定义 好客户:按时还款或轻微逾期 坏客户:严重逾期(≥90天) 样本:每个客户一条记录 特征:年龄、收入、负债率等 违约窗口期:建议12个月 违约阈值:建议90天 核心逻辑: 用历史数据(样本+特征)训练模型, 预测新客户在未来窗口期内的违约概率

这张图把本章的核心内容串起来了。你看到没?PD模型的目标就是“区分好坏”,而要实现这个目标,需要搞定两件事:一是“数据集结构”(样本和特征),二是“标签定义”(窗口期和阈值)。

嗯,到这里,第一章的内容就差不多了。记住一句话:模型的好坏,80%取决于数据准备,20%取决于算法选择。把基础打牢,后面的事情就顺了。


公众号:蓝海资料掘金营,微信deep3321