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

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. PPT |《Kubernetes的兴起》

    京东云开发者社区技术沙龙--<Cloud Native时代的应用之路与开源创新> Part1-<Kubernetes的兴起> 欢迎点击"链接"了解更多精彩内 ...

  2. 2019.3.12 linux关于用户的一些命令

    su:默认切换到root 创建用户 adduser :新建一个用户 sudo adduser 新用户名字 :创建新用户 sudo passwd 用户名:修改该用户名的密码 创建组 sudo addgr ...

  3. windows 10下的python开发环境

    linux子系统 按照文档 https://www.jianshu.com/p/2bcf5eca5fbc 的前五步,完成 ubuntu子系统安装. 不需安装图形桌面,无使用价值. 在https://w ...

  4. JavaScript—面向对象小例子

    什么是面向对象 要是以前别人问我.随口道来,封装继承多态,万物皆对象...一大推.说的自己都以为自己掌握了面向对象.呵呵一笑.确实掌握了 只是不会用..... 什么是面向对象编程 以前 学.Net 虽 ...

  5. 加速软件源更新和安装 ubuntu 软件中心

    Linux mint 12 修改加速软件源更新和安装 ubuntu 软件中心 由于 linux mint 12 是基于 ubuntu 的,可以使用 ubuntu 的源(Ubuntu 11.10 代号 ...

  6. Pythia:Facebook最新开源的视觉、语言多任务学习框架

    Facebook 发布了一个全新的多任务学习框架 Pythia,它基于 PyTorch 且可用于视觉和语言的联合任务.Pythia 是一种模块化的即插即用框架,数据科学家和机器学习开发者能快速构建.复 ...

  7. Python笔记_第四篇_高阶编程_检测_2.文档检测

    1. 文档检测: 我们观察官方的函数编写的时候会在函数或者类当中有些类的备注,这些备注叫做文档.当我们在编写函数的时候,可以去显示这些文档.因此我们可以用这个文档来进行检测.另外我们还需要导入doct ...

  8. epoll机制

    一.参考网址 1.epoll机制:epoll_create.epoll_ctl.epoll_wait.close 2.Linux网络编程 使用epoll实现一个高性能TCP Echo服务器 3.用C写 ...

  9. JavaScript数组去重(5种方法)

    // 数组去重 let arr = ['a', 'b', 'b', 1, 1, 'true', true, true, NaN, NaN, 'NaN', undefined, undefined, n ...

  10. share团队冲刺2

    团队冲刺第二天 昨天:在网上学习app开发的简单操作代码,实现了简单的输出界面,学会了添加按钮控件. 今天:继续昨天的进度,先进行登陆界面窗口的制作. 问题:目前只能在activity添加简单代码,复 ...