拍拍贷风控预测模型

拍拍贷“魔镜风控系统”从平均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 条评论
登录 后参与评论

相关文章

来自专栏机器之心

学界 | 完善强化学习安全性:UC Berkeley提出约束型策略优化新算法(附代码)

选自BAIR Blog 作者:Joshua Achiam 机器之心编译 参与:Smith、黄小天、邱陆陆 强化学习作为深度学习的一个强大分支成就卓然,在电子游戏...

3536
来自专栏机器之心

入门 | 强化学习的基本概念与代码实现

2745
来自专栏机器之心

Jeff Dean与David Patterson:不思考体系结构的深度学习研究者不是好工程师

今年 1 月,谷歌人工智能负责人 Jeff Dean(当时还是谷歌大脑负责人)与 2017 年图灵奖得主、体系结构巨擘 David Patterson(当时获奖...

924
来自专栏新智元

DeepMind深度强化学习实践:教计算机玩超级马里奥(代码)

【新智元导读】AlphaGo 的主要设计人 David Silver 曾说过,游戏是人工智能绝好的测试台。让算法学会玩游戏,对创造能够与真实世界进行复杂互动的人...

4133
来自专栏Hadoop数据仓库

MADlib——基于SQL的数据挖掘解决方案(1)——数据挖掘入门

一、什么是数据挖掘         数据挖掘(Data Mining),也叫数据开采、数据采掘等,是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,...

2207
来自专栏专知

【KDD2018】UIUC韩家炜团队218页文本语料数据挖掘教程

【导读】由于互联网领域的蓬勃发展,人们获取信息的便捷性越来越高,但也面临着信息过载的问题,因此,对自然语言处理的技术需求逐渐增多。本周,我们为大家整理了韩家炜团...

1973
来自专栏王照彬的专栏

【 SPA大赛 】腾讯社交广告大赛初赛阶段小结

总结了腾讯高校算法大赛初赛的数据分析与处理心得, 主要包括了时序分析, 训练集选取与处理, 基于树关系的贝叶斯平滑方法等.

7820
来自专栏灯塔大数据

塔秘 | 应用 AI 之前,你必须了解的 10 项准备工作

导读 不是每一个问题都可以通过机器学习来解决,且不是每一个公司都准备应用人工智能。本文会告诉你,你的公司是否有利用人工智能的条件,以及在那之前如何才能实现它。 ...

3855
来自专栏PPV课数据科学社区

多模型融合推荐算法——从原理到实践

1 研发背景 互联网时代也是信息爆炸的时代,内容太多,而用户的时间太少,如何选择成了难题。电商平台里的商品、媒体网站里的新闻、小说网站里的作品、招聘网站里的职位...

3867
来自专栏机器之心

业界 | 谷歌推出神经网络可视化库Lucid,推进模型的可解释性工作(附GitHub)

2746

扫码关注云+社区