关注微信,查看更多精彩文章:
在系列篇第一章,我们已经提到这个机器学习算法原理系列采用的是倒叙的手法。那么在上一章中,我们提到了怎么去评价一个模型的结果,那么今天,我们开始来了解具体有哪些建模的技术手段。从大的分类而言,在注重分类模型的应用领域,比如金融风控领域,常用的有评分卡建模和更广泛的机器学习建模两种。
评分卡建模比较传统,应用广泛。技术特点上,它主要处理离散型变量,如果有连续变量,需要把连续变量离散化,同时评分卡关注的变量个数通常不会太多。因此,评分卡模型的主要优点在于好的可解释性和稳定性。同评分卡模型相比,机器学习建模更加灵活,对变量个数和变量类型都没有硬性要求。因为算法种类繁多,机器学习建模能处理的问题深度和广度都有了很大的提高。
传统的评分卡模型应用范围相对机器学习建模较小,通常可以具体分为几个常用的应用场景,比如人们常提到的A卡(Application score card)即申请评分卡, B卡(Behavior score card)即行为评分卡, 和C卡(Collection score card)催收评分卡。顾名思义,这三种评分卡模型的主要区别有两点:
在弄清楚评分卡的数学原理之前,首先要理解几个非常相关的统计变量,其中一个是WOE,或者Weight of Evidence. 另一个是IV score,或者information value。WOE是在风险预测领域一种常用的衡量自变量分组对于好坏样本分离程度的指标,而IV通过WOE加权求和得到,用来衡量自变量对目标变量的预测能力。在评分卡模型的应用中,WOE自动把连续变量和枚举变量编码为离散种类,并且为每一个种类赋予唯一的WOE值(数值型)。
首先对于某一变量而言,可以用变量的取值对整个历史数据(客户群)进行分层,分组或者分箱。离散型的变量比较好理解,比如颜色,每一个颜色自然的把数据分成了多个组。连续型变量,需要对取值范围预先规定。比如年龄,小于18岁的可能是一个组,大于50岁的可能是另一个组。可以理解,如何分组和具体业务也有密切关系。另外我们也可以通过量化的方法对某一变量自动的分组以达到最佳效果。具体的量化方法我们在后面可以专门讨论。
计算WOE的数学公式如下:
如果我们定义风险预测中的坏客户出现为一个事件(event),其中 Nattribute non-event表达的是非事件(好客户)在某一分层中的数量,Ntotal non-event表达的是所有非事件(好客户)的数量,Nattribute event表达的是事件(坏客户)在某一分层中的数量,Ntotal event表达的是所有事件(坏客户)的数量。 那么上式表达的就是好客户在某一分层中的比例除以坏客户在同一分层中的比例,再取自然对数,即为该变量在某一分层中的WOE值。
我们以一个具体的变量比如年龄(Age)来举例说明具体的计算方式。如下表所示,假设总共有1000名好客户,和200名坏客户,按照下表所示四个年龄段分层,根据历史数据和表现结果,可以得到好坏客户在每一年龄层中具体数量。WOE值的具体计算则在最后一列中得以展现。可以看出,WOE的计算方式,把年龄这个连续的变量,统一的转化为WOE值,而且WOE的取值只有四种可能的值,分别对应了不同的年龄层。
Age |
好客户(good) |
坏客户(bad) |
good% |
bad% |
WOE=ln(good%/bad%) |
<=18 |
250 |
100 |
0.25 |
0.5 |
ln(0.25/0.5) |
18-35 |
250 |
50 |
0.25 |
0.25 |
ln(0.25/0.25) |
35-50 |
250 |
30 |
0.25 |
0.15 |
ln(0.25/0.15) |
>50 |
250 |
20 |
0.25 |
0.10 |
ln(0.25/0.10) |
总计 |
1000 |
200 |
|
|
|
考虑到当历史数据量较少时候,某些分层中好客户或者坏客户的数量可能为零,从而导致WOE计算出现异常值,处理方法为:可以预先增加平滑因子x,确保WOE的计算成功。修正过的WOE计算公式为:
其中x可以取0到1之间的数字,比如0.5。
在WOE的意义和计算方式清楚以后,IV的计算方式是和WOE紧密相关的,其具体计算公式为:
其中,m为该研究变量具体的分层数量。 从公式可以看出IV其实是每一层WOE值的一个加权平均。IV值越大,代表研究的变量对目标变量的预测效果可能越明显。IV值通常用来进一步筛选变量,对于低于某一阈值的变量,可以视为不理想变量,在评分卡具体计算中不参与模型。通常的评断方法如下,但是用户应该根据自己的实际效果谨慎决断:
评分卡通常和逻辑回归算法搭配使用。逻辑回归算法和其他很多机器学习算法一样需要的输入值必须是数值类型。
在评分卡具体使用建立中,首先我们通过上述的方法得到各个变量的输入值即为相应的WOE值,然后把各个变量的WOE值代入逻辑回归算法,即得到了评分卡的输出值。
逻辑回归算法的原理和推导在后面的章节中会有讨论,这里我们直接给出逻辑回归的结果:
上式中, p/1-p 被称为比值比或者优势比,可以看出逻辑回归其实是在用线性方程来估计优势比的自然对数值。逻辑回归的优化过程就是在寻找最佳的参数(β0,…, βn)的过程。
在风险预测的场景中, p可以定义好客户的概率,1-p则为坏客户概率。逻辑回归算法的最终输出值是优势比的自然对数,因此可以看出,当被预测客户为好客户的概率越大(或者为坏客户的概率越小),ln(p/1-p)对应的值越大。基于预测对象好坏概率和逻辑回归预测值的单调对应关系,评分卡模型进一步通过下面的公式把逻辑回归结果以线性转化的方式变为分数:
上式中,factor 和 offset 为待指定的参数。根据评分卡不同的需要可以调节factor 和 offset从而得到理想的分数范围。比如,如果我们需要优势比为50的时候,其对应的分数为600;并且每当优势比变为之前的2倍时候,其对应的分数增加20。基于上面两个限制,我们可以得到两个方程:
从而得到下面的系数答案: