从异常数据观察看小额个贷业务的利润认知盲区

转载 盈灿咨询  2017-11-19 19:12  阅读 1,260 次

iForest(Isolation Forest)孤立森林算法是无监督学习下的一种重要的异常数据检测算法,在网站流量异常分析、信用卡盗刷行为识别等多个场景下,都有其独特的作用。本文基于iForest算法对某着力于小额个贷业务的P2P网贷平台近期借款数据进行了深入的挖掘。

在了解iForest算法之前,我们先理解两个概念:无监督学习和异常数据。

(1)无监督学习:

无监督学习区别于监督学习,主要指没有标签的数据样本的学习。例如,百度新闻每天会搜集到大量的新闻,但每条新闻并未给定类型,因此需要通过一些算法,结合新闻来源、新闻内容等已知的样本数据对新闻聚类。这一过程就是无监督学习的过程。

(2)异常数据:

异常数据通常具有两个特征:一方面,异常数据与样本中大多数数据在各个维度上差异较大;另一方面,异常数据在整体数据样本中的占比较小。上述特征导致异常数据在作图时较为稀疏,且与大多数正常数据相隔较远,因此我们也将异常数据称为“离群点”。

一、浅谈iForest算法

1、基础思想

先用一个简单的例子来解释iForest算法的基础思想。假设有一组一维数据样本,即每个样本都只有一个特征,例如借款金额。为了更好地说明,我们把所有的数据画在直线坐标轴上(如图1所示)。其中,绿色点A为正常值,橙色点B属于异常值。首先,在借款金额的最小值与最大值之间随机取一个数X1,按照<=X1和>X1将样本分为两组。由于点B所在组仅有一个数据,不需再分,而对于点A所在组,我们从该组数据的最小值与最大值之间随机取一个数X2,同样按<=X2和>X2分成两组。此时点A所在组为<=X1且>X2,其中含有不只一个样本,需要继续细分。可以看到,当随机取到X4以后,点A所在组>X2且<=X4仅含有点A一个样本,划分结束。为了找到点A和点B,我们分别用了4次和1次划分。显然,由于异常值点B离群现象明显,往往能通过更少次数划分就找到。因此,可以利用划分次数作为数据异常程度的重要判断标准。

从异常数据观察看小额个贷业务的利润认知盲区

同理,对于二维数据,我们可以这样划分:假设现有一组二维的借款数据样本,两个维度分别为借款金额和借款利率。其在坐标系上的分布如图2所示。同样,我们需要通过不断的切分来分割出正常点A和离群点B。从图中可以看到,X、Y分别代表从借款金额、借款利率两个维度来切割,数字代表切割顺序。每次切割都从X、Y两种维度中随机选择,切割位置在目标样本点所在组的最大最小值之间随机选择。最终,正常点A通过X1、X2、Y2、X3、X4、Y3共6次切分找到,而异常点B仅通过X1、Y1两次即找到。

从异常数据观察看小额个贷业务的利润认知盲区

对于高维数据,上述方法依然通用,唯一的区别在于对数据的分割不再只是线条、曲面的形式,而是一些无法可视化的超平面。

2、二叉树和森林

在实际应用中,我们常以二叉树的形式来模拟上述分割过程。假设有一组包含m个维度特征、n个样本点的样本数据。随机选择一个维度,并在该维度下的最大值与最小值之间随机取值,将大于该值的样本点划入右分支,其余点纳入左分支。然后在左右两个分支继续重复上述步骤,直到样本中所有值不同的点不可再分,或者二叉树达到限定的最大深度。此时,某个样本点在二叉树中的路径长度越短,越异常。

由于在维度选择和分割值的选择上具有随机性,因此存在异常点在某棵二叉树中深度过深的可能。为了将这种小概率事件对异常值计算结果的影响最小化,我们可以通过多次取样,构建二叉树森林,以平均路径长度作为样本点异常程度的衡量标准。

从异常数据观察看小额个贷业务的利润认知盲区

二、iForest算法在异常借款数据检测中的应用

笔者收集了2507个借款人的14259条借款记录。下文所有计算和论述均基于上述数据完成。

1、数据预处理

上述样本数据已经剔除了所有有缺失数据的样本点。从剩余数据的数据维度看,包括借款人信息(ID、年龄、性别、注册时间)、借款标的数据(金额、期限、利率)、借款情况(成功借款次数、历史累计借款金额、成功借款时间)、还款情况(正常还款次数、逾期还款次数、当前待还金额、历史最大待还)。

由于部分数据难以被算法理解,需要经过一个特征抽象化的过程。其中,男女性别以0-1变量代替;注册时间与成功借款时间换算为注册到成功借款时间间隔。进一步地,我们把注册到成功借款时间间隔和成功借款次数转化为借款频率。

因为不同维度特征变量的范围差异较大,量纲不一,例如借款金额从300元到超过30000元,而借款利率仅在9.5%~22%之间变动,所以需要对所有特征变量进行标准化处理。

从相关性看,历史累计借款金额与当前待还金额、历史最大待还的Pearson相关系数分别达到0.73、0.79,当前待还金额与历史最大待还的Pearson相关系数达到0.93。因此,可以将历史累计借款金额、历史最大待还从特征变量子集中删除。另外,性别与其他特征相关性很弱,而且借款人性别没有明显的取向,也可以删除。

从异常数据观察看小额个贷业务的利润认知盲区

观察剩余特征变量的分布情况,其中,借款期限和借款利率有明显的离散分布的特征。这主要是受到借款平台在实际产品设计上的影响,可能存在与借款人主观意愿相偏离的情况,不适合作为异常数据检测的观察特征。而从剩余特征变量的分布看,均具有明显的左偏特征。此外,在年龄分布上,峰度值仅仅为0.6183,有长尾现象。

从异常数据观察看小额个贷业务的利润认知盲区

2、模型实现及结果分析

设定每次从样本空间中随机抽取256个样本点构建二叉树,重复操作100次,利用iForest算法对上述设定下的剩余特征变量子集作异常检测,得到异常值结果,其分布情况如下图所示(数值越小,异常程度越高,虚线表示异常水平)。可以看到,异常值呈右偏分布,左侧为长尾数据。约10%的样本点异常值在0以下。

从异常数据观察看小额个贷业务的利润认知盲区

在5%的异常水平(即假设在样本数据中有5%的样本点是异常值)下,iForest算法识别出的异常样本点分布如下图所示。其中,x、y、z轴分别代表标准化后的借款频率、借款金额、累计待还金额。显而易见,算法较好地完成了离群点识别任务。

从异常数据观察看小额个贷业务的利润认知盲区

而从借款数据各个细分维度对比来看,两者在借款金额、历史累计成功借款次数、借款频率、历史累计借款金额、当前待还金额等维度上差异较大。其中,异常样本点在平均借款金额上较正常样本点高207.40%,在借款频率上较正常多7.56次/年。另外,正常借款数据的逾期频率明显高于异常数据。

从异常数据观察看小额个贷业务的利润认知盲区

显然,单纯从上述数据我们很难衡量异常借款数据对平台的效用是正是负。

不妨以上述借款行为为平台产生的收益来衡量其效用。从实际情况看,平台的收入主要来自于借款端的手续费、借款风险准备费用以及逾期的催收费用。根据借款人的信用评级情况,手续费率有所差异。由于无法得到明确的每笔借款标的实际手续费率,我们假设手续费率在平台公布的范围内随信用评级情况均匀分布,则A、B、C、D、E、F、G共7类借款的手续费率分别为1.50%、3.17%、4.83%、6.50%、8.17%、9.83%、11.50%。另外,7类借款的借款风险准备费用也有所区别,具体见下表(对于部分费率,我们以平均值代替范围)。在逾期的催收上,平台收取的费率为逾期金额的0.6%。

通过计算,我们可以得到平台通过上述两类借款获得的收入情况。而在成本上,鉴于平台特殊的业务模式,这里我们只需考虑支付风险准备费用的借款标借款人发生债务违约所产生的损失。假设平台本身不会带来风险,且对有风险准备标的无条件担保,则我们以这类有风险准备标的的平均利率为无风险利率。经计算,这一无风险利率水平为9.50%。因此,在平台风险定价正确的情况下,结合投资收益率,我们可以计算出每一笔借款标的的风险溢价,并将其作为该笔借款的违约概率。从而,我们依次计算出了正常借款、异常借款的违约风险分别达到8.64%、9.10%。相应的笔均损失分别为25.85元和11.15元。从最终结果看,平均每笔正常借款为平台带来的利润达到209.19元;而由于大额的单笔借款金额产生了高昂的直接手续费,异常借款每笔实际带来的利润高达535.49元。综合来看,因为基数大,正常借款行为依然是平台利润的主要来源,但从平均值角度分析,异常借款往往能给平台产生更高的实际效用。

从异常数据观察看小额个贷业务的利润认知盲区

总结

iForest算法一直以来都是异常数据识别的常用工具之一。本文利用iForest算法,有效地识别出了异常借款数据,并对相关借款行为的实际效用进行了详致的分析,对平台的产品设计具有参考意义。在数据量充足的情况下,我们还能根据时间等维度对异常数据做进一步的分组,考察其实际效用的波动性。此外,通过衡量风险溢价、流动性补偿等维度,投资者可以从中作出更为合理的标的配置。(本文来源:盈灿咨询)

本文地址:https://www.betax.cn/820.html
关注我们:请关注一下我们的微信公众号:扫描二维码贝它财经的公众号,公众号:betacj
温馨提示:文章内容系作者个人观点,不代表贝它财经对观点赞同或支持。
版权声明:本文为转载文章,来源于 盈灿咨询 ,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论


表情