【未来可能用到】关于模型的100个问答-part1
一.我的因变量怎么定义?
答:因变量具体如何定义,链接在这里建模准备一定要做的这几件事,这里链接包括取数怎么取都说的很清楚,请参考。其实申请卡的因变量已经被说烂了,主要是大部分问的是反欺诈模型的因变量怎么定义,我不会在这里明确跟你讲什么样的欺诈客户,我只是提供你一个思路,首先欺诈客户的性质是什么:没有还款意愿。那么没有还款意愿的客户会还几期就不还,就需要你去看你们公司的账龄分析表,你们对欺诈客户的容忍度,这里再说一件事,一般欺诈都不是只骗你这家就跑的,为了能多骗几家,一般都会还一段时间,等多借几家的时候再跑,那么具体几期,具体看你们公司的贷款业务是多长周期的,大概是周期的1/9-1/12,为因变量的账龄,个人经验建议值!!!!
2.缺失值怎么处理?
有些朋友可能是刚转行,或者刚毕业的同学,可能缺失值停留在用中间值,均值,众数填补这种方法,但其实在建模中,不能说这些方法不好,而是毕竟还是要尊重数据的原始性,所以这些填补的动作可以在特定的时候才用,首先缺失值并不是无缘无故缺失的,那么缺失的原因怎么产生的,这时候怎么检查?
缺失原因检查方法:
不同产品造成的缺失:因为不同的产品有不同的产品准入规则,那么意味着不同的产品客户提供的资料会有所不同,例如,一个产品是商人贷,一个是白领贷,那么白领贷就需要填写薪资,或者提供工资卡流水,那么商人贷本身面对的客群就不是固定收入,属于经商的,那么薪资这项就很经常会缺失。那么这点的检查就需要你熟悉产品的准入准则,从申请资料寻找缺失的原因,这种确实大部分发生在客户的属性资料这一部分的数据。
不同时间造成的缺失:同个产品,会因为不同时间造成数据的缺失,例如某个时间,这个产品是接入一个第三方评分的,但是后面这家公司取消这个产品,那么这时候意味这个产品以后就没有了,这时候,你这个变量就意味着不能用了,还有另外一种,就是那种短时间的系统更新或者迭代造成的缺失,例如你们的风控引擎或者风控系统在某个时间段更新了,或者换了系统,那么时候在更新、更换的过程中,可能因为有些疏忽,某些数据没有过来,那么这时候这部分数据是少量的缺失。以上两种情况,可以通过变量不同时间的一个返回量来检查是否存在是在某个特定时间的缺失。
客户本来就没有的缺失:举个例子,征信报告中,可能这个客户本来就是没有贷款记录,那么假设你们it不是考虑周全可能返回给你个空的数据,那么这时候,你就要搞清楚客户到底是没有征信报告还是有征信报告没有贷款记录。
It失误的数据缺失:这类数据可能是第三方有提供,但是对接的人疏忽没有顾虑到,我之前有个运营商的数据的情况就是这样子,返回的时间变量是有小时分秒的,但是it对接的人不知道为了省事还是怎么样,直接就给了我一个日期,当时就及时提了需求,更改了这个数据,也有时候,例如客户在填写申请的时候,有一个选项是月收入,那么你希望月收入成为必填项,那么就可以提需求要求it列为必填项,我这里只是举个例子,不要跟我说什么,我们这边没有得提需求什么的,各家公司不一样,我提供个思路而已。
就是缺失:那这种缺失就是上面几种缺失都不是的时候,这种就是纯缺失。
填补的方法:
针对不同产品造成的缺失:那么我建议在数据足够多的情况下,可以分开建模。
时间造成的缺失:如果这个缺失是在时间历史上某些结点的较少的数据,那么建议可以去掉。那么假设这个数据是在未来也会缺失的情况下,那么不要这个变量,你以后都没有这个变量,你还拿他建模干嘛。
客户本来就没有的缺失:那么这种,例如没有贷款,那就贷款笔数这种变量就应该置0。
It失误的数据缺失,找it是否可以修复补充之前的数据,如果修复不了,转最后一点。
就是缺失:
1.在分组的时候将缺失分为一组(缺失比例大概在5%以上,假设你的建模样本5000+)
2.再多衍生一个变量,区分缺失和非缺失的特征。就是例如你有个变量叫在网时长,那么这个数据有一部分缺失了,那么你可以再衍生一个变量叫是否有在网上时长数据(缺失比例大概在5%以上,假设你的建模样本5000+)
3.删掉(几个缺失的话),变量的缺失超过70,我就直接舍弃这个变量了,前提是缺失值做衍生变量也没啥用了。
4.按照万能大法(补众数,平均值,中位数.....)补充,虽然我不喜欢,但是现实就是喜欢强迫你。
三.建模样本好坏比多少合适?
这个问题在群里说的次数不少于十次,这个问题有没有准确的答案,你现在的数据要是坏客户的特征很明显,那么你98:2都可以,但是你本身你的坏客户的特征在拥有的变量中的特征都很离散的话,那么你怎么调,效果都差不了多少。建议经验值是10%-20%的一个坏客户占比,我个人认为不用调整到1:1的程度,这里提及一点就是,模型拟合的时候,还需要验证原样本的效果,效果可取才可以认为模型效果可取。
四.变量分几组?
我先说我建议几组,我的建议是2-8组,我觉得8组都算多了,我能容忍是6组,太多组,首先是分到一组的数据太少,得出的结论担心会有偶然性,其次就是过拟合的问题。这里提及一点就是我建议分组的时候最少一组的数量至少要占到总体样本的5%。
五.怎么筛选变量?
首先说下,好的变量的中心思想是:变量对于因变量有一定的区分度。
筛选变量的方法有以下几种:
1.iv值,建议小于0.02以上的取。
2.基尼系数,这个是衡量贫富差距那个,不是决策树那个,虽然我经常搞混。
3.随机森林变量重要性,我还蛮喜欢这个方法的,因为不用分组,避免了我分组之后影响了变量的效果
4.Psi,稳定性指标,这个指标,可以当参考。
5.Person卡方统计量。
通过变量的以上5个统计量,对比大小,舍弃一部分没有明显特征的变量。
六.我要转化woe吗?
woe以及哑变量其实本质上是一样的,woe并不能增加模型的效果,只是让变量最终生成标准的评分卡方便快捷些。
七.woe为0或者为空怎么办?
首先,我们看woe的公式是什么那么该层的woe的值为0的情况是这一层没有坏客户,都是好人,那么这时候,假设你这组有5%的数据,那么这个变量直接就可以做策略啦,做啥模型啊。同样的道理,要是该层的woe为空,那么就是这一层没有好客户,全是坏人。这种woe产生的一般是很少见的,会产生这样子的情况,应该检查是不是你这组的客户数量特别少,要是不是特别少的话,那你就这时候报告领导了,你发现了一个可以做策略的变量,分到这组的客户极好(极坏)。
八.拟合的模型参数估计用那个?
拟合模型的时候有三个数据,训练数据,测试数据,验证数据。这三个数据用同一批变量会产生三组不同的参数估计。建议一下三种选取方式:
1.将这三个数据集的参数估计取出来的之后,取平均值。
2.把这三个数据合成一个之后,分成十份,分别算出参数估计之后再取平均值,第一种的升级版
3.取验证集的参数估计,因为验证集是最接近现在的时间的客户数据,可以认为这样子比较接近现阶段客户的总体特征
4.取训练数据集的参数估计,因为一般情况下,训练数据集的数据的数量是最多的,在一定程度上可以认为,数据的覆盖面比较大,可以全面提取客户的数据特征。
总结
以上是生活随笔为你收集整理的【未来可能用到】关于模型的100个问答-part1的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【未来可能用到】关于模型的100个问答-
- 下一篇: 你知道你的模型可以为公司赚多少钱吗