中国统计网Python实战:信用评分模型开发「Part 1」( 二 )
这种情况在现实问题中非常普遍 , 这会导致一些不能处理缺失值的分析方法无法应用 , 因此 , 在信用风险评级模型开发的第一步我们就要进行缺失值处理 。
缺失值处理的方法 , 包括如下几种:
- 直接删除含有缺失值的样本
- 根据样本之间的相似性填补缺失值
- 根据变量之间的相关关系填补缺失值
NumberOfDependents变量缺失值比较少 , 直接删除 , 对总体模型不会造成太大影响 。 对缺失值处理完之后 , 删除重复项 。
2.异常值处理
缺失值处理完毕后 , 我们还需要进行异常值处理 。 异常值是指明显偏离大多数抽样数据的数值 。
比如个人客户的年龄为0时 , 通常认为该值为异常值 。 找出样本总体中的异常值 , 通常采用离群值检测的方法 。
首先 , 我们发现变量age中存在0 , 显然是异常值 , 直接剔除:
对于以下三个变量:
NumberOfTime30-59DaysPastDueNotWorse
NumberOfTimes90DaysLate
NumberOfTime60-89DaysPastDueNotWorse
这三个变量 , 由下面的箱线图可以看出 , 均存在异常值 , 且由unique函数可以得知均存在96、98两个异常值 , 因此予以剔除 。 同时会发现剔除其中一个变量的96、98值 , 其他变量的96、98两个值也会相应被剔除 。
本文插图
箱形图
剔除变量这三个变量的异常值:
NumberOfTime30-59DaysPastDueNotWorse ,
NumberOfTimes90DaysLate ,
NumberOfTime60-89DaysPastDueNotWorse
另外 , 数据集中好客户为0 , 违约客户为1 , 考虑到正常的理解 , 能正常履约并支付利息的客户为1 , 所以我们将其取反 。
3.数据切分
为了验证模型的拟合效果 , 我们需要对数据集进行切分 , 分成训练集和测试集 。
4
探索性分析
在建立模型之前 , 我们一般会对现有的数据进行探索性数据分析(Exploratory Data Analysis) 。
EDA是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索 。 常用的探索性数据分析方法有:直方图、散点图和箱线图等 。
本文插图
客户年龄分布如上图所示 , 可以看到年龄变量大致呈正态分布 , 符合统计分析的假设 。
本文插图
客户年收入分布如上图所示 , 月收入也大致呈正态分布 , 符合统计分析的需要 。
5
变量选择
特征变量选择(排序)对于数据分析、机器学习从业者来说非常重要 。 好的特征选择能够提升模型的性能 , 更能帮助我们理解数据的特点、底层结构 , 这对进一步改善模型、算法都有着重要作用 。 在本文中 , 我们采用信用评分模型的变量选择方法 , 通过WOE分析方法 , 即是通过比较指标分箱和对应分箱的违约概率来确定指标是否符合经济意义 。 首先我们对变量进行离散化(分箱)处理 。
1.分箱处理
变量分箱(binning)是对连续变量离散化(discretization)的一种称呼 。
信用评分卡开发中一般有常用的等距分段、等深分段、最优分段 。
- 等距分段(Equval length intervals):分段的区间是一致的 , 比如年龄以十年作为一个分段;
- 等深分段(Equal frequency intervals):先确定分段数量 , 然后令每个分段中数据数量大致相等;
推荐阅读
- 印度|中印边境一声巨响,印军试射导弹直指中国,解放军高原霸气亮剑
- 中国青年网|男子放手一搏再买6400元!结局令人震惊,买彩票输光15000元
- 中国网推荐|店家:她有脑子,1次刮痧5万!妈妈哭诉女儿理发店被骗十几万贷款
- 印度|印媒: 中国被我们冷落了!
- 窘境|窘境中求助惨遭拒绝!中国此次也选择置之不理,俄国:早该如此
- 人民日报海外版|人民日报海外版:中国经济复苏走在全球前列
- 中国新闻网|尼泊尔交通部部长感染新冠病毒 政府决定加紧增设高依赖病床
- 下个10年,Go能取代Python成为开发者的首选语言吗?
- 图表视界|印度GDP将反超日本!仅次于中国、美国?,柳叶刀最新预测!30年后
- 海峡军志号|否则以后卖给印度,继煤炭后棉花被禁?澳农业部要求中国“澄清”
