zoukankan      html  css  js  c++  java
  • sas信用评分之第二步变量筛选

    sas信用评分之第二步变量筛选

    今天介绍变量初步选择。这部分的内容我就只介绍information –value,我这次做的模型用的逻辑回归,后面会更新以基尼系数或者信息熵基础的筛选变量,期待我把。

    Iv值的介绍你们已经很熟悉了,我这次就简单粗暴的说下变量iv值到那个数就可以用的啦。

    (1):在很多书上说要达到0.1-0.3才是中等相关,达到0.3是强相关,但是这里必须提及,变量的iv值本来就是变量多个分段的iv值的相加。所以我们做这部分工作的时候就发现,一个变量我要是变态一点,分成1000分,他可以达到1.5,iv值是很高啊,这个变量你一旦用下聚类或者是决策树分下类,就发现iv值其实是很低的,所以这个iv值的计算我们需要大概的给个分多少段。

    (2):在第一点中提到分几份,但是分几份是针对连续变量,对于字符变量的。我建议可以先使用最优分段分下组再进行计算iv值。但是如果字符变量的分类在4-10类的话还是可以直接计算iv值的。

    (3):对于在日常的建模中,其实并不是iv值大于0.1才会被筛选出来,我就在建模中碰见一个问题,就是iv值大于0.1都是同类变量,相关性极高,这些变量虽然iv值很高,但是丢进逻辑回归中是不会被全部选中的,因为我们都知道共线性强的变量对于我们模型其实是不好的。讲了这么多就是为了说,变量初步选择的时候我一般是大于iv值0.02我会筛选出来,不为什么,宁可错杀一千,不可放过一个,我对变量就是这么残暴。在这里我考虑到一点,就是可能一个变量单独对因变量的预测力不是很强,但是跟其他变量结合的时候,可能会产生不一样的结果哈。

    例如哈,我举一个很不恰当的例子哈,不恰当的例子哈,不要喷我。譬如婚姻状况和年纪,可能这两个变量单独对因变量没什么明显的体现,但是结合在一起呢,譬如25岁下离婚的人是不是会比25岁以上离婚不一样呢。你们顺着这个思路想下去就可以啦,我再说下去25岁以下离婚怎么怎么样,我就要被喷了。毕竟我还是怕键盘侠。

    这篇文章的代码我之前是发过的。路径在这里:sas输出变量的基尼系数以及iv值。在这篇文章中我介绍下结果:

    代码的使用在上面路径中有介绍,点下去就可以看了。介绍下结果,score2是分组后的变量就是譬如说年龄中52岁分组后是第3组,那么他观测的值就是3。score3输出基尼系数,这部分的内容之后用到基尼系数再说哈。我们着重说下score4以及score5.

    Score4的表格是长这样子的:

    你看到的var_name这一列的变量是每个变量名价格前缀“p_”如果是字符变量就不加前缀“p_”,_freq_这一变量是分组数,我这边设定的是分成5组,你问我为什么上面写着6,因为我这批数据中有缺失,缺失不参与分组,就是第6组啦。最后一列就是iv值啦,我刚才说的同类变量iv值都很高啦,就是这个图,q_开头的都是同类的变量,iv值基本相近,假设说这些都进去模型的,模型也不会全都要了。

    score5的表格是长这样子的:

    这图可能在这里比较小,但是你单独点开还是可以看的。

    score5是score4的具体每段的iv值的分布,其中m就是观测缺失的组别。后面的start end这两个变量是这个组别的区间。这里的woe值其实我不建议使用,因为我这边的分区是全部都是等分的5份,但是某些变量有更好的分法,后面对于筛选出来的变量也会进行进一次的最优分段再计算woe值,这里的woe只是为计算iv,顺便显示在数据集中。

    其实到了这里,iv值的代码以及iv值运用,我也都讲完了。但是在业务上,还会做这样子一个步骤,就是对于iv值极高的变量会单独拿出来再分析。下面分享一个其中的一个的分析例子,这部分的工作可能不是全部公司都会做,因为很耗费时间。

    这是建模中我的一个次数变量至于代表是什么变量因为公司的保密性质,所以我就不说了。分区是计算iv值时分段出来的。假设这个是拨打贷款公司的电话的次数,当他打的次数是3次以下的时候,批核率以及逾期率是比较高的,但是当达到13次以上的时候,批核率不仅降了9%左右,而且逾期率也高了4%,那么这个变量就可以跟领导讨论一下,将这条规则做到前端,让审批审核人员多了一个可以参考的条件,当然这个变量的体现可能相对于其他变量来说是很明显的。但是真正做成规则或者说人工审批的决策还可能不能。具体的情况还是要看自己公司的数据,我这里也只是分享我工作中的一个小小的经验。 

  • 相关阅读:
    mysql之创建数据库,创建数据表
    mysql之group by,order by
    一个人选出2门以上不及格的课程sql语句
    GIt入门
    数据库索引工作原理
    题目:50个人围城一圈数到3和3的倍数时出圈,问剩下的人是谁?原来的位置是多少?
    约瑟夫环:递归算法
    K-means算法的java实现,聚类分析681个三国武将
    java用一个for循环输出99乘法表
    写一个基于UDP协议的聊天小程序
  • 原文地址:https://www.cnblogs.com/amengduo/p/9587037.html
Copyright © 2011-2022 走看看