评分卡开发流程全解析---python版

一、背景从去年暑假到今年2月份曾在两家互金公司实习,接触了很多金融信贷场景下的知识,其中最基础的当属评分卡的开发了。接下来将结合我在实习中的工作讲一下评分卡的开发全流程,有兴趣的童鞋可以看一下,有任何不对的地方希望大家批评指正。二、正文首先评分卡的开发流程大致包含下面这些步骤:(一)定义问题确定两类重要的问题:观察期和表现期、好坏客户的定义。观察期相当于X变量,即搜集用...
摘要由CSDN通过智能技术生成

一、背景

从去年暑假到今年2月份曾在两家互金公司实习,接触了很多金融信贷场景下的知识,其中最基础的当属评分卡的开发了。接下来将结合我在实习中的工作讲一下评分卡的开发全流程,有兴趣的童鞋可以看一下,有任何不对的地方希望大家批评指正。

二、正文

首先评分卡的开发流程大致包含下面这些步骤:

(一)定义问题

确定两类重要的问题:观察期和表现期、好坏客户的定义。

观察期相当于X变量,即搜集用户的行为;表现期相当于Y变量,即用户的表现,在评分卡中通常就是好坏两类。观察期从观察时点起向前回溯的最远时长,表现期从观察时点起根据账龄分析来决定。

从图中可看出,在9个月以后的坏账率趋于稳定,说明坏客户重复暴露的时间为9个月,那么就定义表现期为9个月。

好坏客户通过滚动率和迁移率来分析。滚动率分析就是从某个观察点之前的一段时间(称为观察期)的最坏的状态向观察点之后的一段时间(称为表现期)的最坏状态的发展变化情况,如下所示:

从上看出,在观察期正常还款的在表现期还正常还款的概率为96%,在观察期逾期3个月的客户在表现期逾期4个月的概率为61%,说明M3的用户有很大概率会更坏变为M4,故定义M3为坏客户,即逾期60-90的人。

(二)数据准备和预处理

贯穿全文的包---scorecardpy

根据定义的观察期和表现期拉取数据,预处理主要是对异常值、缺失值,有些情况还需要特征缩放即归一化和标准化处理,比如时间和金额等等和其他字段的取值相差很大时,可以利用已有的方法也可以自定义,如下所示:

#相当于数据预处理, 设定要删除的规则,主要是指缺失率,iv<0.02等等
dt_s = sc.var_filter(data, y="flagy")
print("变量预处理前后变化:",data.shape[1],"->",dt_s.shape[1])

(三)特征工程

可以从数据来源、业务类型、时间范围和统计单位4个维度来衍生,将4个维度作笛卡尔积交叉组合特征。

除此之外维度指标有频次(近3个月的f贷款申请次数)、总和、平均、占比、一致性(身份证和手机号所在的省份是否一致)、距离、波动、占比趋势和对比趋势等。还有一些可以结合具体的业务来,如在信用卡业务中对于还款有近1、3、6、12、24个月的还款次数、最大单笔还款距今时长、最后一次还款距今时长等等。

(四)变量筛选

在评分卡中由于需要业务具有很强的解释性,通常入模的变量为8~16个,需要筛选变量。变量筛选的方式有以下几种:

  1. 如果不使用预测模型,有监督的可以使用信息值、卡方统计量和gini系数;无监督的可以使用相关性、聚类和PCA等
  2. 若使用预测模型
  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值