拍拍贷风控预测模型

拍拍贷“魔镜风控系统”从平均400个数据维度评估用户当前的信用状态,给每个借款人打出当前状态的信用分,在此基础上,再结合新发标的信息,打出对于每个标的6个月内逾期率的预测,为投资人提供了关键的决策依据,促进健康高效的互联网金融。拍拍贷首次开放丰富而真实的历史数据,通过机器学习技术,你能设计出更具预测准确率和计算性能的违约预测算法吗?

简介

同样作为数据的学习者,这个作品尝试为数据预测提供一条通用的入门路径。面对大量的数据科学需求,达到较高精度的数据预测方法并非为高大上的专业人士所垄断,所以这里尝试为类似的数据预测问题搭建通用的框架,使得我们作为初学者能够熟悉大数据特征、并合宜地处置数据、模型上手时遇到的各类困难,从而较短时间内突破预测初期的精度瓶颈。

在进行大数据预测时,我们首先要考虑我们的样本量(9万行)、预测变量Y(二分类问题:贷款是否逾期)和优化目标(0-1之间概率预测:AUC得分)。在处理GB以内量级的数据问题时,单机 + Python是足够用的。

在大数据预测的过程中,很重要的一点是由于变量数量极多和种类复杂,我们需要避免一个个整理变量,而是尽量批量处理 + 自己编制函数(前人和我们自己造的各种轮子),自动归纳变量特征并解决大部分通用问题,然后把少数特殊变量单独处理。最简单的一个思维挑战:把样本量和变量数都扩大十倍,我们人工的工作量有没有变化。在最理(tōu)想(lǎn)的流程设计下,我们甚至几乎不用改动代码。

对于熟悉数据特征来说,单变量是最基础的,而单变量的核心就是分布,也就是哪些种类或数值露脸得比较多(频数),对于连续的数值变量,均值方差等统计量在描述分布方面更有代表性。

在我们人熟悉数据之后,我们就想怎么把数据交给模型了,模型智商(算数能力)比人好,但是情商(怎么理解不是数的东西,以及数不好的时候如何调整心态)不如我们。所以我们还得帮模型翻译一遍,把数据中所有不是好数的东西都变成好的数。只要我们牢记做好变量数今后随时扩大10倍的心理准备,充分运用批量处理函数,并合理设计流程,工作量并不很大。

统计模型的选择长期看似乎是风水轮流转,逻辑回归是最经典的线性分类模型,XGBoost是目前在机器学习竞赛表现普遍很好的集成决策树类模型,神经网络现在如此热门,但是今后也说不定有更强大的模型,况且大家都是对现实的规律进行某种形态的假设和拟合,不同模型的优势点不一样。除了单纯的精度之外,其实我们重要的是了解各个模型的原理,如何利用它们的特点和优势,为我们的数据预测工具箱服务。

不论什么模型,交叉验证在增加稳健性、减少过拟合方面是模型训练中少不了的经典之作。与其跟着不同模型包和语言学习调用不同的交叉验证函数,我们不妨在模型训练前就为模型搭建统一的交叉验证拆分数据和训练方法。

如果说之前的数据清洗还是针对各变量自身的特征的话,模型的变量评估则把变量的价值与整体预测的效果联系起来。也就是对于预测效果的重要变量,我们可以进一步通过取统计量、交叉项等方式进一步展开,让模型更充分地汲取其中的有效信息。

模型优化是一个让电脑最苦逼的活,如果和我一样有强迫症总在训练的时候盯着屏幕看,那么人也跟着变得苦逼了。所以为了双方都能够少苦逼一点(相煎何太急),我们先充分用脑理解模型和参数的意义,然后粗略的部分用手调参,精细搜索的部分仍然搭建函数交给电脑(电脑:说到最后还是都扔给我了不是?……人机合作的小船说翻就翻啊)。为了节省千百次训练的总时间,我们可以对精度和稳健性稍作保留,找到最优参数后再正式训练一遍。

在最后,我们用加权平均的方法组合模型,虽然是以非常有限的统计和机器学习知识,利用不同模型的一部分独立性在同一层次下进行线性互补,但是至少作为一个省时省力地改进单模型结果和避免增加过拟合风险的方法还是比较稳健的。

在整个数据预测的流程中,尽管我们不可避免地需要人的大量劳作,但是我们劳作的目的是让每一步都可以越来越自动化,也就是随着我们流程和编程技术的成熟,我们在摘要、清洗、拆分、训练、优化等各个环节都只需要越来越少的人力解决类似的问题,而把目光更加集中在需要我们的关注和投入思考的环节和工作上。

在我们的流程框架内,达到比赛的实际精度,我们的代码在笔记本电脑上从头到尾运行一遍大约需要2~3个小时(只是机器执行的时间,暂不考虑参数优化和人工的函数设计搭建等工作,后者是重头),因此如果有更强的需要和资源,我们可以更加投入人力物力来尝试进一步改进预测的效果。但是如果不是对预测流程有结构性的改进,那么框架内的这些改进方法预测最终会遇到瓶颈,或者可能耗时太多,或者存在过拟合风险。相比在瓶颈之上争取1%或0.1%的改进,很多时候我们有必要暂时跳出无限的改进循环,考虑我们真正关注的问题是什么。

首先要承认我们的模型预测能力是有助益的,但也是有限的。机器数学模型相比与人类,有着其特质的某种中立性、冷静与洞察力,帮助我们作出决策,同时也有作为机器和数学模型的局限、冷漠和短视,比如在有反馈效应的数据体系中(比如金融市场),预测长期趋势的无能为力,而模型决策趋同所产生的正反馈却可能在危机时造成踩踏风险,反而是要人的加倍照管才能够帮助一堆自助决策的模型脱离危机。所以,机器学习界AlphaGo的出现,可能并不会减少对人工作的需求,而是把人的角色从机器的竞争者转移到机器的评估与监管者上。

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2016-06-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量子位

如何给非专业人士讲解什么是深度学习?

本文转载自王咏刚微信:半轻人,点击左下角阅读原文,可直达原文链接。 去年开始,工作中需要做许多有关 AI 科普的事情。很长时间里一直在想,该如何给一个没有 CS...

3258
来自专栏灯塔大数据

塔秘 | 宅男的福音:用GAN自动生成二次元萌妹子

导读:相信每个人都会被卡哇伊的二次元妹子萌到,我们很多人也可能梦想自己创作二次元人物,但奈何技艺不精、功力不足,得到的结果往往无法达到我们的期望。现在人工智能来...

4967
来自专栏AI研习社

视频 | 10行代码,用大脑重量预测体重!硅谷AI网红亲身示范

Siraj Raval 作为深度学习领域的自媒体人在欧美可以说是无人不知、无人不晓。 凭借在 Youtube 上的指导视频,Siraj Raval 在全世界吸...

4176
来自专栏机器学习算法全栈工程师

阿里资深 AI 工程师教你逐个击破机器学习核心算法

近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个 IT 界。

1133
来自专栏专知

瑟瑟发抖……神经网络可能在欺骗你!

【导读】你对神经网络的信任度有多高?它总能学习到你想让他学习的东西吗?你真的敢坐在一辆自动驾驶的汽车上吗?我曾经也对神经网络充满了“崇拜”和信任,直到我亲眼看见...

1133
来自专栏AI研习社

Arxiv Insights | 克服稀疏奖励的束缚,让智能体在学习中成长

在强化学习的设置中,为了执行一个我们想学习的任务,智能体会应用一些特征提取方案来从原始数据中提取有用信息,然后会有一个策略网络用于提取特征。

1091
来自专栏AI研习社

李开复让非专业人士也能完全理解深度学习

去年开始,工作中需要做许多有关 AI 科普的事情。很长时间里一直在想,该如何给一个没有 CS 背景的人讲解什么是深度学习,以便让一个非技术的投资人、企业管理者、...

4157
来自专栏机器之心

专访乔治亚理工终身教授蓝光辉: 开创随机加速梯度法助力深度学习

机器之心原创 作者:李泽南 蓝光辉教授,博士毕业于乔治亚理工学院,目前任教于乔治亚理工 H. Milton Stewart 工业和系统工程学院,他还担任着《Co...

2868
来自专栏机器之心

前沿 | 利用遗传算法优化神经网络:Uber提出深度学习训练新方式

3256
来自专栏CDA数据分析师

统计︱P值-0.05就发表,不然就去死!

寄语:需要多少个统计学家,才能保证对于p值有至少50%的不满呢?根据曼荷莲学院统计学家George Cobb半开玩笑的估计,答案是两个...或者一个。 一、P值...

1696

扫码关注云+社区