分享

【原创干货】R语言实战,汽车贷款行业的风控模型建立

 andyandygo 2016-10-06


| 看得越多 想看更多 |

| 中国最专业的信贷风控与大数据公众号 


原创风控精选文章


   文/中国最大的汽车融资租赁公司 

 风控建模工程师    小手乱抖 


16年,随着越来越多的资本进入车贷行业,汽车融资租赁取得空前的发展。然而,市场的火热却给后端的风控部门带来了越来越大的压力,为了提高申请客户的体验度从而吸引更多的客户提报申请,风控部门不得不提高审核效率,减免一些所需资料,提高判断难度。在这样的大背景下,利用数据挖掘的方法对申请件进行安全性区分就变成了必要的风控手段。把不同的申请分类,按照风险系数进行标识,简化优质申请的流程,严加审核危险系数高的申请,甚至达到一部分申请自动审批,将大大提升申请效率。

     哪些模型比较适合汽车贷款行业呢?常用的机器学习分类器都是不错的选择,经典模型,便于解释的逻辑回归(logistics regression)、决策树(decision tree),或是对空值,异常值处理比较平滑的bootstrap、支持向量机(svm)等分类器都可以作为核心分类算法。
每种模型都有自己的优劣,根据自身的经营需要,模型的准确程度等等,选择适合的模型就好。

废话不多,下面楼主就上点干货,用R语言制作一个简单的决策树模型,仅供大家参考。

步骤1:对数据进行预处理

####读取数据####

a<-read.csv('d:>风控项目/建模数据.csv')

a[is.na(a)]<>

####应变量赋值,这里以逾期30+为不良######

a$y[a$最高逾期天数>30]<>

a$y[a$最高逾期天数<><>

######调整比例

set.seed(7)

good<>

bad<>

good1<>

a1<>

a1<>工作所在城市,户籍所在城市,融资期限,首付比例,融资额))

View(a1)

我们选择几个车贷申请时通常可以采集到的基础变量,都是基础的客观性变量。现实中存在更多的主观性变量,比如客户自己填报的职业分类,年收入,公司职位,甚至喜欢浏览的页面,手机使用的时长等等。在申请材料精简的大背景下,通常我们无法验证信息的准确性,从而会出现大量的失真,空值等等问题。对接可靠的三方数据,是提高主观数据维度很好的办法。

 步骤2:对数连续行数据进行切割

a1<>

  融资额1<>

  首付比例1<>

  融资额1[融资额<><>

  融资额1[融资额>30000&融资额<><>

  融资额1[融资额>60000&融资额<><>

  融资额1[融资额>90000&融资额<><>

  融资额1[融资额>120000&融资额<><>

  首付比例1[首付比例<><>

  首付比例1[首付比例>30&首付比例<><>

  首付比例1[首付比例>40&首付比例<><>

View(a1)

将连续数据切割成为分类型数据来配合后面的WOE算法可以有很多好处,比如处理与不良率非单调性的维度。减少空值,噪点,异常值对模型的影响等等。

 步骤3:分类型数据转换,这里我们采用信贷行业传统的WOE方法转换

a2<>

a3<>

#####融资额#####

融资额<>融资额1)/nrow(a2))/(table(a3$融资额1)/nrow(a3))))

colnames(融资额)<>融资额1','融资额2')

融资额[融资额==-Inf]<>

融资额[融资额==Inf]<>

View(融资额)

其他的维度均可使用此方法进行数据处理。

         WOE通常在配合逻辑回归模型(logistics
regression
)制作打分卡时使用。在使用决策树模型时也可以将过于冗长的分类型数据(比如城市,车辆品牌)量化,方便模型展示。

 步骤4:将处理值匹配进总表

b<>融资额,by='融资额1',all.x=TRUE)

其他匹配方法相同

Viewb

 步骤5:去除相关性较低或共线性较强的维度

b1<>融资额2,融资期限2,首付比例2,工作所在城市2,y))

cor1<>

View(cor1)

相关性都算比较高,融资期限相对低一些,如果需要降维,可以考虑进行处理

cor2<>

View(cor2)


融资期限和融资额有些许的相关性,不过低于0.75,可以接受

步骤6:建立模型

library(party)

m1<>

plot(m1,type='simple')

稍微调整一下

control<>
= 0.99)

m2<>
= b1,controls = control)

plot(m2,type='simple')

关于融资期限的分叉因提高相关性较低被移除掉,使得整个模型更加简洁

 

我们来看看测试效果

library(pROC)

b1$yhat<>

roc<>

plot(roc,col='blue',print.auc=TRUE,print.thres=TRUE,main='test')

AUCarea under curve)是一个比较常用的衡量模型的方法,通常情况下AUC越接近1,模型效果越好。例子中的模型AUC=0.744,效果一般,勉强可以用于预测。当然我们仅使用了4个变量,车辆信息,客户标签,手机信息等等维度加入后,AUC基本可以达到0.8以上。

 

上述只是一个简单的实例,真正建模时还要考虑许多的问题,更多技术上的细节大家可以在网上搜索或者查阅相关书籍。由于篇幅有限,这里楼主就不再深入。下面楼主想从汽车租赁行业的特点出发谈谈车贷风控和其他贷款的区别。


1.消费场景固定所带来的金融维度的固定


与小额贷款,信用卡相比,由于消费场景的相对固定,汽车租赁的融资额是锁死的。银行在第一次给申请人发放信用卡的时候可以根据客户特点选择授信额度,而车贷客户往往已经确定车型。举个简单的例子,一个人申请5000人民币额度的信用卡,银行可以说:您的资质不符,我们建议您可以先申请2000的额度。但是一个人如果想申请车贷买辆宝马,租赁公司不能说:您的资质不符,别买宝马了,先买个桑塔纳吧。正式因为相对固定,金融维度也通常称为模型中相关性最高也最为准确的变量。


2.贷后维度失效


对于信用卡,小额贷的客户,我们可以根据他第一个还款周期的表现适当的增加或减少贷款额度,换句话说,我们可以从客户身上拿到大量的贷后维度进行建模。而车贷风控对客户的判断是一次性的,是一锤子买卖,一旦预测失败,就无法挽回。一旦一次申请被拒绝,基本不会被有二次申请的机会,即使成功放款的客户短时间内再来做贷款的几率小之又小。毕竟三两年内连续贷款换车的客户在中国并不是非常大的一个群体。


3.客户的网络标签相关性变弱


之前跟多家三方数据公司谈项目的时候,很多同行都会推荐很多网络数据标签,比如喜欢浏览的网页,消费金额等等。此类维度对于P2P贷款效果甚好,但是对汽车贷款,就目前我们做的相关性检测看来,效果只能说一般,如果查询费用过高,性价比是个值得商榷的问题。其实这个问题不难理解,对于大多数中国人来讲,买车不比买化妆品,或者手机,毕竟汽车的高额售价不是其他产品比拟的。正是由于价格高昂,很多客户会以个人为单位申请,家庭为单位还月供。配偶,家长,兄弟甚至表亲戚都会成为潜在的还款对象。当还款单位变为一个群体时,申请人个人的特征的相关性自然而然会有所降低。

 

总结:

在车贷行业,由于客户标签信息的相关性变低,贷后数据缺失等原因,车辆自身信息、租赁产品自身的变量、地域(比如购车人的工作地与购车地的距离差)等变量都变得尤为重要。另外车贷的先验性误导非常严重,如果有机会,我们可以在以后的文章中讨论一些处解决的方法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多