第二章 模型开发流程&好坏样本定义

2.1模型开发流程

2.1.1 评分模型流程图

2.1.2流程图阐述

该小结提出了一些数据指标,如果不明白没有关系,往后的文章笔者会一个个地解释这些指标的含义和计算方法

  • 数据获取:获取建模所需要的数据,一般分为内部为外部数据,内部数据例如贷款公司内部搜集存储的客户信息,例如客户在平台内部的登陆、注册、消费信息等,外部数据一般有第三方数据,例如人行征信报告、一些第三方机构提供的多头借贷等
  • EDA与数据描述,EDA全称explore data analysis,目的在于探索性地分析客户数据分布情况以及数据质量,检查数据是否为单一值、包不包含缺失以及异常数据等。同时通过各种分析手段(Gini、列联表、χ2χ2检验、相关系数)等分析变量与目标(违约与否)的关联
  • 数据准备,准备好我们需要进行建模的样本宽表,包括数据合并、清洗、转换等工作,这也是建模中最耗费时间的一项。
  • 变量选择,在数据准备好以后,未必所有的变量都需要进入模型,否则容易出现维度灾难,就是数据集过大导致开发时间过长,根据一定方法选择最优变量进入模型就成了必要的工作,常用的有IV值,逐步回归(也就是先将一个变量纳入模型,然后逐步将其他变量一个一个纳入模型训练,剔除掉不能减少AIC的变量,然后继续加入新变量,直到AIC无法再下降为止)。另外还有假如L1惩罚项,用集成学习的方法选择变量等。
  • 模型开发,利用机器学习,训练模型,常用的模型有logsitic回归、线性回归、决策树、深度学习等。
  • 模型评估,评价模型对于好坏样本的区分能力,常用的指标有ROC曲线、RECALL、PERCISION、KS值等。
  • 评分卡创建和刻度,利用模型估计出来的参数(也就是公式)将其转化为评分规则或者是风控规则。
  • 检测和报告,监控模型是否运行稳定,常用的指标有PSI、评分迁移矩阵、kendall 秩相关系数等。
  • 评分实施,模型部署上线,用于风控系统。

2.2 好坏样本定义

开发信用评分模型的首要目标就是知道来者是好人还是坏人,他未来会不会出现逾期、失联等。所以,如何定义一个借款人的好坏十分讲究,并不是一个人有过逾期欠款他就不是好人了,毕竟发生逾期的原因总是多方面的,有的仅仅是偶尔忘了,这部分总体还是好人,而有的是中途发生财务原因暂时无力偿还,还有的严重一点就是主观上存在坏的目的,借了钱就消失赖账,甚至是身份被骗子盗用。所以,建模过程中,为了训练出一个优质的模型,需要正确地定义好坏样本。

2.2.1观察期、表现期、观察点

在这里,需要明确三个定义:观察期、表现期、观察点,可以先从如下时间轴看起。 

- 观察期:就是时间轴左侧,主要是用来生成用户特征的时间区间,不宜太长也不宜太短,一般为1年到3年左右 
- 观察点:这个点并是一个具体的时间点,而是一个时间区段,表示的是客户申请贷款的时间,用来搜集那些用来建模的客户样本,在该时间段申请的客户会是我们用来建模的样本 
- 表现期:用来定义用户是否好坏的时间区段,一般是6月到1年左右,一般最常用的是定义为坏样本的指标有:M3+逾期、M3以内逾期中定义为失联、欺诈、身份盗用等情况,这些需要看自身业务情况而定

补充说明: 
1.观察点的设计: 
观察点的设计有额外的讲究,其中涉及到一个Mob的概念。而所谓Mob,全称month on book,等于观察点减去贷款发放时间。所以,观察点的设计在于贷款发放时间往后推Mob期,Mob的长短关系到模型的观察期以及观察期生成的时间切片变量。

2.观察期过长或过短的影响: 
- 一个过长的观察期,可能会导致客户不在你的mob内,大批样本无法进入模型 
- 一个过短的观察期,则会导致样本无法生成足够多有效的时间切片变量

3.时间切片变量: 
- 时间区段的行为变量,例如过去3个月平均消费金额、过去6个月消费平均次数等

2.2.2举例说明

假如,现在我们的模型表现期为1年,观察期为1年,观察点为什么时候呢?也就是说当我们有一个客户在2018-1-1号来申请贷款,贷款机构需要用现有的模型对该申请人进行一个申请评分,评估他未来表现期内触发坏样本属性的概率,那么该模型采用的客户样本是什么时候申请进件的? 
答案:因为上面定义的表现期是1年,那么往前推一年,观察点大概为2017-1-1号左右某段时间区间,因为观察期也是1年,所以再往前推1年(即观察期:2016-1-1到2017-1-1),利用这1年所有观察点内申请人一些信息建立模型的观察变量,然后再往后推一年(即表现期:2017-1-11到2018-1-1),所有在观察点内的申请人在这一年时间内的表现情况来定义违约。然后来训练出一个模型。对2018-1-1号的申请人进行评分。所以申请评分卡模型有着天然的滞后性,需要不断的对其模型进行监控。

参考文档:https://blog.csdn.net/hankkuang/article/details/79639631

信贷风控模型开发----模型流程&好坏样本定义的更多相关文章

  1. (信贷风控九)行为评分卡模型python实现

    python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...

  2. 传统开发模型vs敏捷开发模型——过程模型的变革

    一.概念框架 在了解一个新概念的时候,最好的方法就是把它插入到原有的概念体系中.在不仅有助于对概念的记忆,更利于深刻地认识概念的本质.精髓.下图说明了"敏捷开发"在软件工程理论体系 ...

  3. Java精选笔记_JSP开发模型

    JSP开发模型 JSP Model JSP Model1简单轻便,适合小型Web项目的快速开发. JSP Model2模型是在JSP Model1的基础上提出的,它提供了更清晰的代码分层,更适用于多人 ...

  4. 无人机基于Matlab/Simulink的模型开发(连载一)

    "一切可以被控制的对象,都需要被数学量化" 这是笔者从事多年研发工作得出的道理,无论是车辆控制,机器人控制,飞机控制,还是无人机控制,所有和机械运动相关的控制,如果不能被很好的数学 ...

  5. 版本分支管理标准 - Trunk Based Development 主干开发模型

    之前分享过<版本分支管理标准 - Git Flow>,不过在实际使用过程中, 因为其有一定的复杂度,使用起来较为繁琐,所以一些人员较少的团队并不会使用这个方案. 在这基础上,一些新的分支管 ...

  6. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  7. NC的开发模型

    2018-04-1622:35:12 NC的开发模型 系统前端为:客户UI代码,UI代码继承ToftPanel,UI代码通过调用远程组件和服务端进行交互,中间传递的数据模型为VO,远程组件调用底层的业 ...

  8. 微软解决方案框架 - MSF的团队模型、MSF的开发模型,关于SA系统分析师信息的一篇好帖子

    msf中的开发模型 书中关于六个小组的人员的案例: MSF 组队模型 v. 3.1-http://bbs.51cto.com/thread-1171-1.html 微软解决方案框架 - MSF的团队模 ...

  9. 三种扩展 Office 软件功能的开发模型对比 – Office Add-In Model, VBA 和 VSTO

    当 Office 用户需要针对文档自定义新功能时,可以求助于 VBA 或者 VSTO 两种方式.Office 2013 富客户端以后,微软为 Office 平台上的开发者提供了一种新模型 --- Of ...

随机推荐

  1. clion 的 安装 变量配置的 搬运工(有点基础应该能看 大家看不懂 就是我自己看 哈哈哈哈哈哈)

    1  自行安装一个  clion 2 https://blog.csdn.net/u013023297/article/details/80723847   mingw  的配置    第二篇好像当时 ...

  2. 【数据结构】Hash表简介及leetcode两数之和python实现

    文章目录 Hash表简介 基本思想 建立步骤 问题 Hash表实现 Hash函数构造 冲突处理方法 leetcode两数之和python实现 题目描述 基于Hash思想的实现 Hash表简介 基本思想 ...

  3. String StringBuffer和StringBuilder的区别和联系

    1:String,StringBuffer和StringBuilder概念 1.1:String String中使用字符串数组来存储字符串,但是是fianl来修饰的,所以String的内容不可改变. ...

  4. mysql中各种复杂的增删改查

    1.mysql查出数据表中连续出现三次或三次以上的数据 建一张表如下:表名为 number 1.1 要求找出num列连续出现三次或三次以上的数据: select * from number where ...

  5. 学习SEO之7天精通SEO

    这本书大致看了一下,对于SEO基本上有了一个初步的认识,附上链接以供学习之用. 百度网盘:https://pan.baidu.com/s/1Bntzh2YF4tBd2AYAL1Q8vQ 心得:1.SE ...

  6. git 知识罗列

    git pull is basically a shortcut for two operations: git fetch which downloads the history from the ...

  7. h5-自定义视屏播放器

    1.html代码 <h3 class="playerTitle">视屏播放器</h3> <div class="player"&g ...

  8. 《Docekr入门学习篇》——Docker实战

    基础环境 root@docker~]# cat /etc/redhat-release #查看版本号 CentOS Linux release (Core) [root@docker ~]# unam ...

  9. 用一行Python进行数据收集探索

    简易的Pandas之路 任何使用Python数据的人都会熟悉Pandas包.Pandas是大多数行和列格式数据的go-to包.如果你没有Pandas,请确保在终端中使用pip install安装: p ...

  10. UML-如何画操作契约?

    1.在编写契约过程中,发现之前的领域模型不对,此时是否需要修改? 需要修改.包括:概念类.属性.关联.这就是不断迭代和进化 2.用例中复杂场景里的状态变化细节,描述过多导致用例臃肿,让人看不下去,因此 ...