python信用评分卡建模(附代码,博主录制)

——————————————————————————————————————————

一、风控建模流程以及分类模型建设

1、建模流程

该图源自课程讲义。主要将建模过程分为了五类。数据准备、变量粗筛、变量清洗、变量细筛、建模与实施。

2、分类模型种类与区别

风控与其他领域一样,分类模型主要分为两大类:排序类、决策类、标注类(文本、自然语言处理)。

一般来说风控领域在意的是前两个模型种类,排序类以及决策类。

其中:巴塞尔协议定义了金融风险类型:市场风险、作业风险、信用风险。信用风险ABC模型有进件申请评分、行为评分、催收评分。

模型 解释 复杂度 应用场景
Logistics回归 影响程度大小与显著性,解释力度强,但只是线性,没有顾及到非线性,预测精度较低   申请评分、流失预测
决策树 1、描述性,重建用户场景,可做变量提取与用户画像 叶子的数量 流失模式识别
2、树的结构不稳定,可以得出变量重要性,可以作为变量筛选
随机森林 随机森林比决策树在变量筛选中,变量排序比较优秀    
神经网络 1、不可解释,内部使用,预测精度较高。可以作为初始模型的金模型(用以评估在给定数据条件下,逻辑回归可达到的最精确程度)
2、线性(逻辑回归)+非线性关系,可用于行为评分的预测模型(行为评分对模型可解释性不强),可用于申请评分的金模型
3、使用场景:先做一个神经网络,让预测精度(AUC)达到最大时,再用逻辑回归
迭代次数 申请评分的金模型;
行为评分的预测模型

(1)信用风险——申请信用评分

申请评分可以将神经网络+逻辑回归联合使用。

《公平信用报告法》制约,强调评分卡的可解释性。所以初始评分(申请评分)一般用回归,回归是解释力度最大的。

神经网络可用于银行行为评级以及不受该法制约监管的业务(P2P)。其次,神经也可以作为申请信用评分的金模型。

金模型的使用:一般会先做一个神经网络,让预测精度(AUC)达到最大时,再用逻辑回归。

建模大致流程:

一批训练集+测试集+一批字段——神经网络建模看AUC——如果额定的AUC在85%,没超过则返回重新筛选训练、测试集以及字段;

超过则,可以后续做逻辑回归。

(2)信用风险——行为评分

行为评分建模:行为信用评级不需要解释性,所以可以用非线性的神经网络。

——————————————————————————————————————————

二、分类模型评估体系

上述将分类模型做了归纳,不同的分类模型所采用的评估体系不同。

决策类:准确率/误分率、利润/成本

排序类:ROC指标(一致性)、Gini指数、KS统计量、提升度

1、决策类评估——混淆矩阵指标

混淆矩阵,如图:其中这些指标名称在不同行业有不同的名称解释

正确率=(A+D)/(A+B+C+D)

灵敏度(覆盖率、召回率)=A/(A+B)

命中率(PV+)=A/(A+C)

特异度(负灵敏度、负覆盖率)=D/(C+D)

负命中率(PV-)=D/(D+B)

在以上几个指标中不同行业看中不同的指标:

(1)灵敏度/召回率/覆盖率(——相对于命中率)

譬如灵敏度(召回率)这一指标就比正确率要重要,覆盖率(Recall)这个词比较直观,在数据挖掘领域常用。因为感兴趣的是正例(positive),比如在信用卡欺诈建模中,我们感兴趣的是有高欺诈倾向的客户,那么我们最高兴看到的就是,用模型正确预测出来的欺诈客户(True Positive)cover到了大多数的实际上的欺诈客户,覆盖率,自然就是一个非常重要的指标。

(2)命中率(——相对于覆盖率)

欺诈分析中,命中率(不低于20%),看模型预测识别的能力。

在数据库营销里,你预测到b+d个客户是正例,就给他们邮寄传单发邮件,但只有其中d个会给你反馈(这d个客户才是真正会响应的正例),这样,命中率就是一个非常有价值的指标。 以后提到这个概念,就表示为PV+(命中率,Positive Predicted Value)*。

2、排序类指标评估

ROC指标(一致性)、Gini指数(洛伦兹曲线)、KS统计量、提升度四类指标。

(1)ROC曲线

对角线模型,最差,风控喜欢的指标。由决策类指标的灵敏度(召回率/覆盖率)与特异度(负灵敏度、负召回率)来构造。

求覆盖率等指标,需要指定一个阈值(threshold)。随着阈值的减小,灵敏度和1-特异度也相应增加(也即特异度相应减少)。

把基于不同的阈值而产生的一系列灵敏度和特异度描绘到直角坐标上,就能更清楚地看到它们的对应关系。把sensitivity和1-Specificity描绘到同一个图中,它们的对应关系,就是传说中的ROC曲线,全称是receiver operating characteristic curve,中文叫“接受者操作特性曲线”。

AUC值,为了更好的衡量ROC所表达结果的好坏,Area Under Curve(AUC)被提了出来,简单来说就是曲线右下角部分占正方形格子的面积比例。该比例代表着分类器预测精度。(R语言︱ROC曲线——分类器的性能表现评价

(2)累积提升曲线

营销最好的图,很简单。它衡量的是,与不利用模型相比,模型的预测能力“变好”了多少(分类模型评估——混淆矩阵、ROC、Lift等)。

将概率从大到小铺开x,提升度可以有一些“忽悠”的成本,哈哈~可以微调,可以自己调节提升度的区间

(3)K-S曲线

风控喜欢的指标。K-S曲线的最大值代表K-S统计量。

(4)洛伦兹曲线gini

风控喜欢的指标,TP率给了一个累积比,跟提升度差不多。

——————————————————————————————————————————

三、信用风险模型检测

监测可以分为前端、后端监控。

前端监控,授信之前,别的客户来了,这个模型能不能用?

后端监控,建模授信之后,打了分数,看看一年之后,分数是否发生了改变。

1、前端监控

长期使用的模型,其中的变量一定不能波动性较大。比如,收入这个指标,虽然很重要,但是波动性很大,不适合用在长期建模过程中。

如果硬要把收入放到模型之中,要放入收入的百分位制(排名)。

2、后端监控

主要监控模型的正确性以及变量选择的有效性。出现了不平滑的问题,需要重新考虑

python风控建模实战lendingClub(博主录制,catboost,lightgbm建模,2K超清分辨率)

https://study.163.com/course/courseMain.htm?courseId=1005988013&share=2&shareId=400000000398149

微信扫二维码,免费学习更多python资源

风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)的更多相关文章

  1. 笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记源于CDA-DSC课程,由常国珍老师主讲 ...

  2. 文本分类实战(五)—— Bi-LSTM + Attention模型

    1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...

  3. 洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈)

    洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 ...

  4. PyQt(Python+Qt)学习随笔:model/view架构中的排序和代理模型QSortFilterProxyModel

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在Model/View体系架构中,有两种方法可以进行排序:选择哪种方法取决于底层模型. 如 ...

  5. 生成模型(Generative)和判别模型(Discriminative)

    生成模型(Generative)和判别模型(Discriminative) 引言    最近看文章<A survey of appearance models in visual object ...

  6. 模型评估——ROC、KS

    无论是利用模型对信用申请人进行违约识别,还是对授信申请人进行逾期识别……在各种各样的统计建模中,永远必不可少的一步是对模型的评价,这样我们就可以根据模型评价指标的取值高低,来决定选取哪个模型.本篇主要 ...

  7. Coursera Deep Learning笔记 序列模型(一)循环序列模型[RNN GRU LSTM]

    参考1 参考2 参考3 1. 为什么选择序列模型 序列模型能够应用在许多领域,例如: 语音识别 音乐发生器 情感分类 DNA序列分析 机器翻译 视频动作识别 命名实体识别 这些序列模型都可以称作使用标 ...

  8. R2CNN模型——用于文本目标检测的模型

    引言 R2CNN全称Rotational Region CNN,是一个针对斜框文本检测的CNN模型,原型是Faster R-CNN,paper中的模型主要针对文本检测,调整后也可用于航拍图像的检测中去 ...

  9. 什么是领域模型(domain model)?贫血模型(anaemic domain model) 和充血模型(rich domain model)有什么区别

    http://blog.csdn.net/helloboat/article/details/51208128 领域模型是领域内的概念类或现实世界中对象的可视化表示,又称为概念模型或分析对象模型,它专 ...

随机推荐

  1. 不常见的sql错误处理方法(1)

    select @@global.sql_mode, mysql5.7 导致 group查询出错 set @@global.sql_mode='' # mysql重启就失效了: phpstudy -&g ...

  2. linux同步onedrive文件

    定时任务 # 开机自启动 @reboot /root/system/start.sh # 从零点开始每小时执行一次任务 0 0 0/1 * * ? nohup rclone sync onedrive ...

  3. golang的select实现原理剖析

    写在最前面 select为golang提供了多路IO复用机制,和其他IO复用一样,用于检测是否有读写事件是否ready. 本文将介绍一下golang的select的用法和实现原理. 实现原理 gola ...

  4. WIN10安装.net报0x800F081F解决方法

    WIN10安装.net2.0和.net3.0报错,错误代码:0x800F081F,解决方法: 方法一:检查服务windows update有无开启,若未开启,开启服务后,再装.net 注:若安装.ne ...

  5. 如何使用Metasploit进行汽车安全性测试

    前言 针对汽车的攻击和入侵是当前最前沿的领域和最热门的话题之一.随着自动驾驶汽车技术的发展,在未来这个领域将变得更加重要.作为汽车黑客快速发展的一部分,我最喜欢的黑客工具之一Metasploit也开发 ...

  6. jQuery效果函数

    jQuery有很我的效果可以实现,比如说淡入淡出的效果:<html>    <head>        <style>            #box{width: ...

  7. Java 基础 - 泛型类/泛型方法/类型通配符'?' 的用法及栗子

    笔记: /**1.定义一个PairTest泛型类, 测试泛型 类 Pair的用法 * class Pair<T>{ * private T first; * private T secon ...

  8. vue-cli webpack打包后index.html引入文件没有引号

    参考地址:https://blog.csdn.net/i_coffer/article/details/81005733 在对vue-cli项目打包后出现index.html引入的css和js没有引号 ...

  9. unity 拿到管线权限的解决方案

    自己建个cmd 传给postprocess layer camera event可以加在这个cmd上控制位置  base pass post process ui都共享这段cmd 在一开始记下back ...

  10. vue1 微博demo