评分卡模型开发技术报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
评分卡模型开发技术报告
韩江涛
2018年02月12日
Contents
1前言1 2评分卡开发流程2 3数据获取3
3.1采样范围选择 (3)
3.2收集整理数据 (3)
3.3German Credit数据集 (3)
4探索性数据分析7
4.1统计特性和分布 (7)
4.2缺失值处理 (11)
4.3离群点处理 (14)
5数据准备16
5.1创建数据集 (16)
5.2平衡训练集 (16)
5.3数据分箱 (17)
5.4证据权重(WoE)转换 (20)
5.5相关性分析 (23)
5.5.1相关系数分析 (23)
5.5.2多重共线性检测 (24)
6变量选取和模型开发26
6.1模型指标变量选择 (26)
6.2模型训练 (26)
6.3Bias v.s.Variance (29)
7模型评价30
7.1混淆矩阵 (30)
7.2ROC、AUC和Gini值 (31)
7.3KS曲线及KS值 (32)
8评分卡创建和实施35
8.1评分卡创建 (35)
8.2评分验证 (37)
8.3评分卡实施 (39)
8.4拒绝推论 (39)
9监测40 10Appendix41
10.1Change Log (41)
10.1.12018-2-12 (41)
10.1.22017-10-20 (41)
10.1.32017-9-6 (41)
参考文献42
List of Figures
1评分卡开发流程图 (2)
2名义变量分布统计 (8)
3数值变量分布统计 (9)
4类别分布统计 (11)
5查看缺失值 (13)
6使用Cook距离标记离群点 (14)
7类别分布统计 (17)
8连续变量分箱结果 (19)
9WoE转换结果 (21)
10信息值 (22)
11相关性分析 (24)
12LASSO回归的交叉验证曲线 (27)
13LASSO Trace (28)
14学习曲线 (29)
15混淆矩阵及其衍生指标的定义 (30)
16ROC曲线和AUC (32)
17KS曲线和KS-value (34)
18German Credit的实际得分分布与理论分布对比 (39)
List of Tables
1评分卡数据介绍 (3)
2评分卡刻度表 (35)
3评分卡表 (36)
4平衡数据集和非平衡数据集的效果对比 (41)
1前言
信用评分卡是一种常用的信用风险量化工具。主要分为申请评分卡和行为评分卡,前者用于新贷款、授信申请的风险量化,后者主要用于贷后管理,两者具有相似的开发过程。随着中国银行业内部竞争加剧和经营水平的提高,信用评分工具也受到了越来越多的重视。本文以R语言实战的形式简要介绍信用评分卡的开发过程,实际上在开发的各个环节,都有大量值得深入挖掘的优化方法,而某些方法的实施,很可能要花项目10%的时间却只带来1%的效果提升。本文浅尝辄止,望能抛砖引玉。
2评分卡开发流程
评分卡的简要开发思路就是使用有监督机器学习中的分类算法,利用已知分类的数据训练模型来预测未知数据的分类。如Figure 1所示,主要分为以下步骤:数据获取,探索性数据分析,数据准备,变量选取,模型开发,模型评价,评分卡创建,评分卡实施,监测等。
Figure1:评分卡开发流程图
3数据获取
目的:使后面所有工作能够开展
工具:任何你熟悉的工具,Excel,R,SQL……
收集数据是评分卡建模的第一步。收集数据包含两个方面的问题:数据采样范围和维度(即指标)选择。
3.1采样范围选择
数据收集的时候有两个窗口:观察窗口和表现窗口。比如我们将目标变量定义为:有超过90天的逾期为坏客户,否则为好客户,而预测指标中有“近60天的平均余额”,那么在计算这个指标前,就需要对数据窗口进行对齐,比如将违约起始日期作为表现窗口的
开始,按照窗口进行对齐,再计算出所需指标。再比如将坏客户定义为未来半年内有逾期可能的客户,表现窗口就会长达半年。所以数
据获取,通常并不是按照自然日历获取,而是要按照窗口的定义获取。
对于申请评分卡,我们抽样一些申请通过客户并根据其后期行为标记为好、坏,然而这些客户不包括前期被拒绝的客户,这时,抽
样是有偏的。将被拒客户的数据加入模型,被称为“拒绝推论”,这本质上是一个纠偏的问题。
3.2收集整理数据
根据信用评分卡不同的应用,需要有经验的业务人员和数据分析人员一起确定相应的指标选取范围。指标一般可分为以下两类:
1.原始指标:是指存在于数据库中的原始数据;
2.衍生指标:是指分析人员对原始数据进行转换、加工、计算后得到的新指标。
通常,会在条件允许的情况下收集尽量多的指标,并根据业务先验知识,计算衍生指标。在指标严重缺乏的情况下,除了设计有业
务含义的衍生指标,还可以考虑加入原始指标的幂。
3.3German Credit数据集
本文描述了评分卡的开发过程。使用了UC Irvine的German Credit Data1作为样例。German Credit数据集有20个
变量,1000个样本。(R的caret包中内置了这些数据,并且经过了One-Hot Encoding)
使用German Credit Data数据集省去了收集整理数据的麻烦。数据集提供了20个特征(Attribute),这些特征中,很多
也已经不是原始变量,而是统计量或已经经过分箱,这些操作和方法将在数据准备里详细介绍。一个目标变量:Class。如下表。
Table1:评分卡数据介绍
特征类型含义取值CheckingAccountStatus Norm.支票账户状态
•A11:…<0DM(马
克)
•A12:0<=…<200
DM
•A13:…>=200
DM或有一年以上的工
资收入
•A14:没有支票账户Duration Num.账龄(月)
1著名的数据挖掘数据集,/ml/datasets/Statlog+(German+Credit+Data)