大家好今天来介绍评分卡建模标准化流程,以下是小编对风控建模流程包括的归纳整理,来看看吧。
风控建模流程
以下以申请评分卡(A卡)建模为例,描述模型开发的基本流程:
1.数据准备:定义目标变量,整合样本特征;划分数据集:训练集、验证集与测试集,由于金融业务中的样本的积累周期比较长,因此测试集有必要划分为两种,一种为训练集时间跨度内,一种为训练集时间跨度之外,用时间外的斗歼测试集验证模型特征的稳定性。
2.探索性数据分析:统计每个特征取值的分布;统计每个特征的覆盖率,去掉覆盖率较低的特征;处理样本的异常值和缺失值。
3.数据预处理:根据经验对特征作预筛选,筛除于目标变量无关的特征;特征分箱;WOE转换。
4.特征选择:计算IV值,特征选择。
5.模型开发:常用逻辑回归模型进行拟合。
6.模型评估:模型常见的评估指标有AUC,ROC,KS,Gani-chat,Lift-chat,特征稳定性的评估指标psi。
7.生成评分卡。
流程示意图如下所示:
不同的评分模型需要的数据是不同的,在建模之前需要对对要解决的问题建立明确的数学定义。
1.排除一些特定的建模用户
用于建模的用户必须是日常审批中接触到的用户,不能是异常情况,比如欺诈等。
2.明确用户的属性
用户的基本属性,比如学历、年龄、收入情况等;征信机构的数据和其他外部数据,比如芝麻分。
3.目标变量的确立
评分模型是利用历史的数据预测未来的行为,需要明确定义正负样本的标签。不能出现歧义,重叠等。
4.划分数据集
通常训练模型需要划分训练集、验证集与测试集。信贷业务中样本成熟的经历的时间比较长,因此测试集需要时间内和时间外的数据,时间内外是相对训练集的时间跨度而言,避免经过一段时间后特征波动或失效的发生。
EDA的实施主要包括:
1.描述性统计
描述性统计是用一些统计量来对变量分析,如:平均值,标准差,最小值,最大值等。
2.统计每个变量值的分布、特征覆盖率及检验正态分布
通常使用直方图绘制变量不同取值的样本分布,以及变量在样本中的覆盖率,筛除样本中有值特别少的变量。
3.极值的识别与处理
每个变量需要设定一个正常的取值范围。对数量较少的超出正常范围的极端值作替换处理,若极端值的数量超过10%,则说明数据的生成机制不止一个。
4.缺失值的处理
4.1缺失值机制
1.特征初筛
根据业务经验预先筛除掉与目标变量无关的变量。
2.特征分箱
1)对于连续变量可以使用等频分箱、等距分箱、卡方分箱与最优分箱;
2)对于离散变量,可以卡方分箱,对离散变量取值合并分箱。
3.特征编码
1)特征分箱离散化后可计算每个bin的woe值,形成每个bin的woe编码
2)one-hot编码
3)dummy编码,与one-hot编码类似
1.计算IV值与psi值
IV(Information Value):信息价值。IV可以用来衡量自变携薯量的预测能力;WOE(Weight of Evidence,证据权重)和IV使用来衡量变量的预测能力,值越大,表示此变量的预测能力越强。PSI可以用来衡量特征的稳定性。
在训练模型时,挑选特征是一个比较复杂的过程,要考虑的因素有很多,比如,变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务中的可解释性。其中变量的预测能力可以通过IV值衡量。IV的计算是以WOE为基础的。
要对一个变量进行WOE编码,必须对变量离散化(分箱),分箱后,第i组的woe值得计算公式为:
其中, 为这个组中响应客户(风险模型中为违约客户,正样本)的,占总体正样本的比例, 为负样本所占比例, 为该分组中正样本数量, 为该组负样本数量, 代表总体样本中的正负样本数量,WOE实际代表该分组中的正负样本比例的差异,值越大,差异越大,该分组越能区分正负样本。第i组的IV 值为:
整个变量的IV值为(n个分组 值得嘉和):
2.特征筛选
选择IV值高,PSI值低,覆盖率高辩销者的特征入模。
1.模型拟合
常用lr逻辑回归模型进行分类。
2.step-wise模型优化
根据p值筛选模型变量,原假设(变量不重要,与目标变量无光),在此假设基础上计算chi-square,若chi-square值大,则p值小,p值<0.01说明变量很重要。
模型拟合之后,需要评估模型的好坏。好的模型一般要有以下三个基本要求:
1.精确性。模型在预测时,要有一定的精确性;2.稳健性。模型必须对从总体样本中抽取的所有样本都有效;3.有意义
以下介绍几个常用的评价指标:
1.混淆矩阵
2.KS曲线
3.AUC曲线
4.ROC指标
5.Gini系数
6.Lift-chart提升图
一个事件发生的几率(Odds),是指该事件发生的概率与该事件不发生概率的比值。若一个客户违约概率为p,则其正常的概率为1-p,由此可得:
此时,客户违约的概率p可以表示为:
评分卡表达式为:
其中A、B为常数。由于log函数在(0→+∞)单调递增,所以当用户违约几率Odds越大时,Score评分越低。通过给定 :
(1)某特定Odds时的Score值S0;
(2)该特定Odds值翻倍时Score增加值PD0;
通过给定值S0与PD0带入评分卡表达式,可求得A、B。
(未完待续。。。)
风控评分卡模型
评分卡是基于客户全方位的数据,用统计学习的方法建立的量化客户风险的工具,可以应用于多种金融风控场景进行风险管控。
一般传统评分卡的呈现方式为(示例):
通过评分卡,客户可以有一个分数代表客户的信用风险水平,一般情况下分数越高信用资质越好。芝麻信用分,微信支付分都是一种评分卡。
评分卡最常用的场景是信贷业务,比如信用卡、消费分期、小额现金贷等。在信贷业务流程的不同阶段,评分卡所起的作用不同,因此也对应不同种类的评分卡。通常情况下,评分卡有三种:申请评分卡(Application Scorecard), 行为评分卡(Behavior Scorecard)和催收评分卡(Collection Scorecard), 即A卡、B卡和C卡,在信贷的不同阶段具有不同的用途。
1、申请评分卡
申请评分卡面向的客群是所有来申请贷款的客户,在申请时点评估客户的信用风险,辅助金融机构做出决策,通过、拒绝还是进一步审核。比如,评分650分以上的客户表示信用极好,可以直接通过申请,并给予较高的额度和较低的优惠利率;评分400分以下客户表示信用较差,可以直接拒绝;评分400-650之间的中间客群是最关键的,如何经营这部分客群最能体现金融机构的风控能力,因为头部客群是所有金融机构抢夺的对象,即使对他们授信通过,也可能因为额度和利率达不到他们的预期而投奔其它机构。
中间客群虽然具有一定的风险,但是经营的好也会带来较大的利润。从风险防控角度,可以进一步人工介入审核、让客户提供更多的数据或者提供一定的抵质押物做风险缓释。同时,需要根据评分卡量化评分,适当降低额度和提高利率。
2、行为评分卡
行为评分卡面向的客群是已经通过授信申请或者已经支用但是还没有结清贷款的客户,目的是评估客户未来一段时间潜在的逾期风险,金融机构可以提前采取一定的措施来防范风险的发生。
与申请评分卡相比,除了客群不唤纤同之外,行为评分卡有客户历史支用还款情况和额度使用情况等数据的支撑,所以对客户的风险评估更加精准。
行为评分卡可以在客户每次提款支用的时候进行评分,也可以定期每月(季)进行批量评分,取决于业务种类和金融机构的策略。如果行为评分较低,机构可以对额度降低或者冻结额度,提前结清款项等。
3、催收评分卡
催收评分卡面向的是已经出现逾期的客群,评估客户未来一定时间内可以回款的概率。催收评分卡的主要目的是通过优化催收流程来降低催收成本,同时提高逾期客户的回款率。例如,对于催收评分较高的客户回款概率较高,可以采取短信提醒或者机器人语音提醒的方式,相反对于催收评分较低的客户可以直接采取人工催收。
催收评分卡又可以根据催收阶段的不同有不同的类别,比如预催收、早期催收、晚期催收,可以在不同的阶段基于不同的客群开发单独的催收评分卡。预催收评分卡是对还没有发生逾期但是即将到期的客群评估逾期风险,对于逾期风险较高的客群可以提前发出预警或者提前催收;早期催收主要是提醒式催收,对于评分较低的客户可以介入人工催收;晚期催收整体催回概率不高,对于评分明悉低的客群可以提前做委外催收或者走法律程序,评分高的客户可以机构自己催收,从整体上达到尽可能高的提高回款率并降低催收成本。
不同信贷产品具有不同的业务风险点,评分卡只是基于数据学习出的量化模型,对数据质量要求较高。对于质量比较低的数据,并不适合作为评分卡的变量,但是不代表这部分数据是不重要的。因此,光靠评分卡做信贷风险管控是远远不够的,必须结合风险策略做全面的风险管理,相反,评分卡仅仅是策略中很小的一部分。对于信贷和槐仿策略,则是各个层面的全方位管控风险的规则集合,包括政策和制度层面的、专家经验层面的、数据层面的以及评分卡的规则集,并且需要快速迭代,而评分卡迭代频率要求并不高。关于策略方面后续我会慢慢讲解。
本文作为评分卡系列的开篇,可以让我们从宏观上对评分卡有个认识,后续文章我会从技术层面来讲解评分卡的开发构建流程,使我们对评分卡和风控有进一步更加深刻的认识。
评分卡自动生成sql
创建评分卡的基本过程可以总结为以下几个步骤。
确定最终评分卡将被纳入模型的变量
使用WOE值和模型参数,为不同变量的每一类或每一段相应的分配分值。模型的截距项用于计算评分卡的基准点。
每个变量类别或分段分配的分值都根据对应的变量取值范围制成表格。
为了便于实施,经常要将评分卡表现为某种程序的形式。流行的实施语言是sas,sql和c。
sas实施过程中面临的挑战是模型参数及其对应的变量类别和分段woe的转化。以下消亮谈为生成评分卡的流程步骤。
用模型的迭代变量选择法收集变量,这些变量可以用简单列表的形式存储在一个宏变量中。
建模变量有两种主要类型:名义变量和连续变量,名义变量可能包含字符串或者数字值。这些变量的一部分需要进行转化,主要是为了分类或降低名义变量的基数性,所有连续变量都要分段。分段后的变量名可以为原始变量名称加上后缀_b,分段或降基的映射数据集可以命名为原始变量名加后缀_Map。
在拟合模型前,所有变量都要进行WOE转换。转化后的变量加后缀_woe,映射
最终的logistic回归模型包含的是原始变量的拿碰一个子集,模型在变量WOE形式的基础上计算相关系数。模型参数存储字啊一个模型数据集中。
因此,生成评分卡的最终格式的过程基本上可以追溯到最终logistic回归模型中出现不同变量的分段值和类别。为了方便该过程的实施,变量和数据集命名要遵循一定的系统性规则。
因此,生成评分卡需要的要素是刻度参数以及下列数据集:
最终模型参数数据集
WOE映射数据集(带有后缀_woe)键磨
分段及降低基数的映射数据集(带有后缀_map)
对于字符型和数值型变量,可以分别用宏%DummyGrps和%DummyGrpn进行虚拟变量降基。
宏%GenSCDS将生成一个包含评分卡得分的中间数据集。该数据集将以SAS、C和SQL的形式生成不同的评分卡代码。该宏的输入项是包含模型参数估计、评分卡刻度参数的数据集。
最终模型中原始变量的名称。
连续变量每段或名义变量每个类别的上限和下限及其等价的分值。
可以用上述的结果,重新生成几种形式的评分卡。便于样本内测试集及样本外测试集直接使用。
或者也可以生成csv和sql,客户可以直接使用。
相关阅读:
氢气在常温下压缩
建模准备一定要做的这几件事
建模准备一定要做的这几件事
今天我们来说建模中容易忽视,但是独立完成模型时一定要自己分析的一个步骤--建模准备。
建模准备这里我想跟大家分享五个点,就是在建模准备中需要做的五个方面。
1
业务目的
模型都是建立在业务目的上的,我们要根据不同的业务目的建立不同的模型,那么业务目的会从以下三个方面出发:
1、客户。客户可以分为:有钱还的,没钱还但是心里想还的,没钱但是心里不想还的,以及有钱但是我就是不还的。后面两种不还钱的人,我们定义他们为欺诈客户,就是来借钱之前想着不还的,对于前两种以及后面两种客户,我们的有不同的方式区别,
2、产品。不同的客户的客户特征是不同基闭的,譬如贷款产品中会分出商人以及上班族的不同贷款,那么这时,我们假设客户的一个变量,工资流水,对于商人来说可能有淡季旺季,所以流水可能波动大,但是上班族,除了年终的时候会波动一下,其实时候毫无波澜。
3、行为。客户行为,是申请进件客户,还是还款中客户还是逾期需要催收的客户。
2
好坏客户定义
请看图,c-m1的意思就是正常客户变成逾期一期的占比,15年12月份有10000人来申请,那么在1月份有504个人逾期了,那么这504个人在2月份就是逾期一期的,跟着2月份来了,这504个人里面有77%还了钱就变成正常客户了,但是有23%的人还是不还,所以在2月份里面有大概116个人是2016年1月逾期了2期的人,接着3月份,这些有些还了一期的钱变成逾期两期的人,有些人全还了变成正常的人了,但是还有41.82%的人还是不还,那么3月是是2016年1月逾期了3期的人里面有大概49个人。到了4月份,之前3月份逾期了3期的那些人有些还钱了,但是还是有82.70%的人继续逾期,大概是40个人逾期4期了。五月份了,这40个人有那么4.33%的人选择了还钱,但是还有38个人继续不还钱,这38个人在五月份就是逾期了5期了,六月份了,这38个人有97.62%的还是继续不还,大概算一个人还了,可以看大随着逾期的期数越多,会还钱的人越来越少,可以根据转化率看到,最后的38个人与刚开始的49人,占比是77%,可以确定是的一旦客户逾期3期以上的时候就有很大的概率变成坏账客户。
定义逾期多少期我们可以定义为逾期客户之后,还需要确定还多少期之后的逾期三期的客户算坏客户,我们这里提一点是,我们本次的评分卡是围绕申请评分卡展开的,那么申请评分卡的定位客户是:想要还但是没钱还的,即会出现短期或者长期资金紧缺的情况,那么这里就需要提到“账龄”,在图中可以发现在9个月之后,坏账率趋于平缓,即在还了9个月到12个月期间的客户我们可以判定其是因为资金的不足才坏账的。即可以在9-12之间选择一个账龄,确定坏客户的标准。然而在一般是实战建模中与新巴塞尔资本协议中针对内部风险规范,也是建议12个月为单位较为合适。
3
准备建模样本数据
A卡一般可做贷款0-1年的信用分析,B卡则是在申请人有了一定行为后,有了较大数据进行的分析,一般为3-5年,C卡则对数据要求更大,需加入催收后客户反应等属性数据。
评分卡数据需要累积到一段时间达到数据量的时候才能见面,图中的横轴是一条时间轴,左边的为客户的观察期,右边为客户的展现期,那么刚才我们已经有了好坏定义,这时候就要用这个规则取数,假设我们刚才去的是12期逾期90+,那么此州这时候观察期就是12期+90天,展现期中逾期30天的客户就是坏客户,展现期没有逾期的客户就是好客户,那么这时候你会问还了12期的逾期30天的客户算什么,算不到展现期的客户,因为这时候你不能确定他是不是会在第31天就还上了。
如果你们是数学专业或者有上过多元统计分析这类的都知道,建模数据都会分训练集以及测试集,测试集的作用是测试训练集出来的模型可不可以对训练集之外的数据用,那么在实际建模中还会加一个验证集,测试集以及训练集的好坏比例是跟建模样本的比例是一样的,验证样本是取建模数据往后退大概一两个月的数据作为验证样本,这部分数据不仅测试模型森锋蔽能不能训练集之外客户可不可以用,还有验证模型是不是会随着时间的迁移而出现了效果偏差,但是模型效果出现偏差是肯定的,但是是否效果大幅度下降。
4
排除不可建模样本数据
排除不要的样本,以免影响变量效果,在风控系统中,被拒绝规则婉拒的客户我们不加入建模样本中,但是后期需要拒绝演绎还是需要这部分样本,为什么这部分数据不要呢,因为本身我们不能确定他是不是真的是坏的,这里要说明一点是,拒绝规则是拒绝掉那些可能性很大是坏客户的人,但是并不在公司的贷款中逾期,所以不能定义他就是坏的。
不到展现期客户,即在观察期的客户,就是刚开借钱,但是还了几期,还没逾期,不能判定是不是坏人也不能进入模型样本,至于还了多少期还没逾期的算好客户的,命中黑名单的客户也同样的道理。
5
讨论是否进行样本分群
刚才说的不同的产品会有不同的客户特征,但是即使同样的产品,同样的客户行为,那么样本还会有不同的特征,譬如男女的逾期表现在某种程度上来讲,女性逾期了会比男性低,所以如果在数据足够的前提下,可以考虑通过不同的方式对客户分群,分群的方式可以根据变量的分类的逾期率的不同,例如刚才讲的是男女分群,男女前提是这两种类型的人逾期率有一个差别,对于其他变量也一样。
关于机器学习应用不得不思考哪些问题
机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种方法。
让我们具体看一个例子。
图4房价的例子
拿国民话题的房子来说。现在我手里有一栋房子需要售卖,我应该给它标上多大的价格?房子的面积是100平方米,价格是100万,120万,还是140万?
很显然,我希望获得房价与面积的某种规律。那么我该如何获得这个规律?用报纸上的房价平均数据配肆么?还是参考别人面积相似的?无论哪种,似乎都并不是太靠谱。
我现在希望获得一个合理的,并且能够最大程度的反映面积与房价关系的规律。于是我调查了周边与我房型类似的一些房子,获得一组数据。这组数据中包含了大大小小房子的面积与价格,如果我能从这组数据中找出面积与价格的规律,那么我就可以得出房子的价格。
对规律的寻找很简单,拟合出一条直线,让它“穿过”所有的点,并且与各个点的距离尽可能的小。
通过这条直线,我获得了一个能够最佳反映房价与面积规律的规律。这条直线同时也是一个下式所表明的函数:房价=面积*a+b
上述中的a、b都培谈轿是直线的参数。获得这些参数以后,我就可以计算出房子的价格。
假设a=0.75,b=50,则房价=100*0.75+50=125万。这个结果与我前面所列的100万,120万,140万都不一样。由于这条直线综合考虑了大部分的情况,因此从“统计”意义上来说,这是一个最合理侍搏的预测。
在求解过程中透露出了两个信息:
1.房价模型是根据拟合的函数类型决定的。如果是直线,那么拟合出的就是直线方程。如果是其他类型的线,例如抛物线,那么拟合出的就是抛物线方程。机器学习有众多算法,一些强力算法可以拟合出复杂的非线性模型,用来反映一些不是直线所能表达的情况。
2.如果我的数据越多,我的模型就越能够考虑到越多的情况,由此对于新情况的预测效果可能就越好。这是机器学习界“数据为王”思想的一个体现。一般来说(不是绝对),数据越多,最后机器学习生成的模型预测的效果越好。
通过我拟合直线的过程,我们可以对机器学习过程做一个完整的回顾。首先,我们需要在计算机中存储历史的数据。接着,我们将这些数据通过机器学习算法进行处理,这个过程在机器学习中叫做“训练”,处理的结果可以被我们用来对新的数据进行预测,这个结果一般称之为“模型”。对新数据的预测过程在机器学习中叫做“预测”。“训练”与“预测”是机器学习的两个过程,“模型”则是过程的中间输出结果,“训练”产生“模型”,“模型”指导“预测”。
以上就是小编对于评分卡建模标准化流程 风控建模流程包括问题和相关问题的解答了,希望对你有用