当前位置: 观测器 >> 观测器前景 >> 踩坑风控评分卡模型的缺失值问题长文
“在任何数据分析、数据建模的工作中都会遇到缺失值的问题,思考问题的方向基本可以分为算法原理本身和工程实践两个方向。并没有一劳永逸的解决方案,本文将分享作者自己踩坑的惨痛经历,供各位参考。”
01
—
缺失值的来源
一、数据采集环节
在传统线下贷款业务中,客户数据的录入常常由客户经理现场面见客户采集填写,有些银行的调查表内容虽然多达十几页的内容,但会考虑到客户经理在实际工作中的复杂度,并不要求所有内容必填或所填内容一定要通过硬检验,比如婚姻状态、年龄、学历、家庭人口等基础信息。当录入信息缺失率或准确率较低时,对数据分析或数据建模工作就会造成一定的偏离误差。
那么,纯线上的互联网贷款,客户信息的录入没有人为因素的干扰,数据质量就一定好吗?答案是否定的。当客户在手机上填写贷款信息时,为了尽快获取客户关键信息,比如电话号码、姓名、身份证号等,也会把一些不是很紧急重要的信息放到电话核实环节或干脆设置为非必填项。
第三种业务就是由银行和第三方金融公司(例如白某条、蚂某蚁等)合作的助贷或联合贷,通常都由第三方金融公司来完成引流环节,而后跳转到银行的网页上进行身份识别或是关键信息填写,在这个过程中由于跳转失败或传数丢失等问题造成的字段缺失也是不可避免的问题。另外还有一部分数据可能是在合作协议中约定的由第三方金融公司按义务提供的客户画像信息或查询的征信信息,有时也会因为合作协议的变更、合作协议的不完备、对方业务结构发生变化或双方系统对接问题导致相应字段的缺失。
还有一种情况会造成数据源的缺失,例如A系统负责前端引流和埋点数据的采集,所收集的数据会通过文件或json串传输给B系统,B系统使用全部或部分数据支持相应的业务或数据分析工作,由于B系统的在设计时第一优先级是保证它所支撑的业务的正常运行第二优先级才是与A系统的对接,因此在存储A系统传过来的数据时可能会对其进行裁剪、截断等处理,如果我们想分析完整的埋点数据就会拿不到有效数据。
图1来自网络的贷款调查表样例
二、数据清洗环节
当我们要做数据分析或评分卡模型的时候,通常都需要从多个不同的系统获取相应的客户基础信息、客户申请、征信数据、三方数据、或支用还款表现数据等,通常的做法是先分别针对每一个库表加工基础特征,再将多个库表关联起来衍生特征长清单,此时也会遇到因为每个库表或每个基础特征集所覆盖的客户范围不能完全重合而导致的缺失值问题。
02
—
缺失值的影响
上面我们讨论了缺失值可能的来源,那么这些缺失值是否一定会对我们的评分卡模型造成实质的影响呢?答案也是否定的。任何数据分析、数据建模的工作中都会遇到缺失值的问题,思考问题的方向基本可以分为算法原理本身和工程实践两个方向。评分卡的本质就是一个二分类模型,首先预测某个人是“坏客户”的概率,再通过某个阈值来切分,大于阈值的就是“好客户”,小于等于阈值的是“坏客户”。在设计二分类模型时可以使用多种算法,比如经典的逻辑回归和XGBoost,有些算法在原理层上已经设计了对缺失值的处理,而有些算法则对缺失值相当敏感。工程上,评分卡经常使用逻辑回归来构建,当特征中有较多缺失值时,将会拉偏样本分布从而影响系数的计算(硬广:针对这个问题,后面会专门出一篇理论层面的详解~~记得
转载请注明:http://www.aideyishus.com/lkcf/255.html