新闻中心

什么样的分箱是好的分箱

作者:澳门赌场  来源:澳门真人正规官网  时间:2020-11-13 14:42  点击:

  在银行评分卡的项目中,通常都会需要把数据分箱,分箱后并不是对数据进行哑变量处理,而是用WOE值去替换,再放入模型中。

  学习的过程中会对这些操作有些疑问,比如,数据分箱有什么意义,WOE和IV值是干什么的?这里对这些数据处理的意义进行一个说明。

  数据分箱是把连续型数据分为几组,或者把离散数据中类别较多的,进行重新划分,划分为类别数较少的特征。

  这里可以看到,原来的特征只有x1,哑变量处理后变成xa和xb(类比多项式回归),增强了逻辑回归处理非线性的能力

  注:连续值的分箱不一定是要分成离散数据,而是一种数据平滑的处理,可以几个数据分在一起,然后取其平均值或中位数,降低数据的噪声。

  将数据离散化后,要想放入逻辑回归模型中,需要对数据进行处理,因为数据中的123是类别不是大小,这个数量关系仅仅表示顺序,他们之间实质性的数值间隔你是不知道的(WOE可以解决这个问题)。而我们一般用的方法是哑变量,或独热编码,将特征中的类别提取出来,设为单独的一个特征。那什么是WOE?

  woe全称是Weight of Evidence,即证据权重。是对原始自变量的一种编码形式。

  2.每个箱中的坏人好人之间的比值 与整个特征中坏人好人之间的比值 的差异。

  WOE越大,以上这两种差异就越大。原始数据中好人,坏人都混在一起,是无法分清的。我们通过分箱的操作,可以把好人坏人尽可能的分割开,而WOE就是衡量分箱后,好人坏人的分割程度的。

  其中,我们可以发现左边的式子跟WOE很像,但WOE是(Badi/BadT)/(Goodi/GoodT),给定样本后,BadT和GoodT是确定的(样本中的好坏数是一定的),所以影响WOE大小的,只有每组的Badi和Goodi。

  把右边的xWOE化(原来是数字123),其实是为了对应左边的公式,让左右两边成一个正比关系。

  这样特征中各个组之间的关系由之前的数字123(单个组内的类别),转变为WOE(该特征和标签值结合的一个结果,之前只是一个单纯的组内分组,没有跟标签值扯上关系)能够看出特征中各个类别对标签值的影响大小。

  而WOE的公式长成这个样子,也是为了跟逻辑回归相互照应。参照之前的线性回归,系数代表了特征的贡献量。而逻辑回归为了也跟线性回归起到一样的效果,更好地解释特征对模型的贡献度,特别是对离散变量,因此有了WOE。

  dummy变量是比较顺其自然的操作,例如某个自变量m有3种取值分别为m1,m2,m3,那么可以构造两个dummy变量M1、M2:当m取m1时,M1取1而M2取0;当m取m2时,M1取0而M2取1;当m取m3时,M1取0且M2取0。这样,M1和M2的取值就确定了m的取值。之所以不构造M3变量,是基于信息冗余和多重共线性之类的考虑。(构造M3就是独热编码,而非哑变量)

  x1中坏样本比例高,w110,那么w120(好样本比例高)。根据上面截图中的公式,可以得到w11与a1之间有关系,因为w110,所以a10.同理可得到a2.

  根据公式,由于x11与xa同号,所以系数必然0.若是负值,则需要重新分箱。

  权重w为常数:个人理解是因为左右两边的ln(),因为有对应关系(x^2 = ax ^2,a=1,为常量),上面也说了,成正比,因此w为常量。

  w为常量,所以分子,分母的变化一致,WOE递增时,分子也递增(分子可以理解为判定该样本为坏的概率)。注:这里让WOE的值单调是为了让woe(x)与y之间具备线性的关系,更有助于人们的理解,而不是最开始x和y之间的非线性。

  注:若非单调,即转换为WOE后,x与y之间还是非线性关系,则可重新分箱(等频有益于分箱),或手动调整。

  2.WOE值的正负,描述了当前这个分组对判断个体(该组内的数据)是否属于坏样本起到了影响方向和大小的作用。

  3.WOE编码之后,自变量其实具备了某种标准化的性质,也就是说,自变量内部的各个取值之间都可以直接进行比较(WOE之间的比较)

  注:WOE没有考虑分组中样本占整体样本的比例,如果一个分组的WOE值很高,但是样本数占整体样本数很低,则对变量整体预测的能力会下降。因此,我们还需要计算IV。

  背后的支撑理论是相对熵。IV把预期分布和实际分布具体化为好人分布和坏人分布。IV指标是在从信息熵上比较好人分布和坏人分布之间的差异性。

  对于每一个分组i,能计算出WOEi。对于分组i,也会有一个对应的IV值。

  变量各分组的WOE和IV都隐含着这个分组对目标变量的预测能力这样的意义。那我们为什么不直接用WOE相加或者绝对值相加作为衡量一个变量整体预测能力的指标呢?

  当变量A取值1时,其响应比例达到了90%,但是我们不能说变量A的预测能力非常强,因为A取1时,响应比例虽然很高,但这个分组的客户数太少了,占的比例太低了。虽然,如果一个客户在A这个变量上取1,那他有90%的响应可能性,但是一个客户变量A取1的可能性本身就非常的低(可以看到取0的样本量非常多,因此客户在A上取1的概率就很小,而这一切都是因为这个分组的样本量太少了,所以,对于样本整体来说,变量的预测能力并没有那么强)

  从这个表我们可以看到,变量取1时,响应比达到90%,对应的WOE很高,但对应的IV却很低,原因就在于IV在WOE的前面乘以了一个系数(pi-pn),而这个系数很好的考虑了这个分组中样本占整体样本的比例,比例越低,这个分组对变量整体预测能力的贡献越低。相反,如果直接用WOE的绝对值加和,会得到一个很高的指标,这是不合理的。

  IV依赖WOE,并且IV是一个很好的衡量自变量对目标变量影响程度的指标。但是,使用过程中应该注意一个问题:变量的任何分组中,不应该出现响应数=0或非响应数=0的情况。(每个分箱中,都必须有正负样本)

  由上述问题我们可以看到,使用IV其实有一个缺点,就是不能自动处理变量的分组中出现响应比例为0或100%的情况。那么,遇到响应比例为0或者100%的情况,我们应该怎么做呢?建议如下:

  在建模中,需要对连续变量离散化,特征离散化后,模型会更稳定,降低了模型过拟合的风险。

  它依赖于卡方检验:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。

  对于精确的离散化,相对类频率在一个区间内应当完全一致。因此,如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则,它们应当保持分开。而低卡方值表明它们具有相似的类分布。

  自由度比类别数量小1。例如:有3类,自由度为2,则90%置信度(10%显著性水平)下,卡方的值为4.6。

  类别和属性独立时,有90%的可能性,计算得到的卡方值会小于4.6。 大于阈值4.6的卡方值就说明属性和类不是相互独立的,不能合并。如果阈值选的大,区间合并就会进行很多次,离散后的区间数量少、区间大。

  2,也可以不考虑卡方阈值,此时可以考虑最小区间数或者最大区间数。指定区间数量的上限和下限,最多几个区间,最少几个区间。

  从最小值到最大值之间,均分为 N 等份, 这样, 如果 A,B 为最小最大值, 则每个区间的长度为 W=(B−A)/N , 则区间边界值为A+W,A+2W,….A+(N−1)W 。这里只考虑边界,每个等份里面的实例数量可能不等。

  区间的边界值要经过选择,使得每个区间包含大致相等的实例数量。比如说 N=10 ,每个区间应该包含大约10%的实例。

  比如,等宽区间划分,划分为5区间,最高工资为50000,则所有工资低于10000的人都被划分到同一区间。等频区间可能正好相反,所有工资高于50000的人都会被划分到50000这一区间中。这两种算法都忽略了实例所属的类型,落在正确区间里的偶然性很大。

  我们对特征进行分箱后,需要对分箱后的每组(箱)进行woe编码,然后才能放进模型训练。

  建立分类模型,需要对连续变量离散化,特征离散化之后模型会更加稳定,降低了过拟合的风险,例如,申请评分卡模型用logisitic作为基模型就需要对连续变量进行离散化,离散化通常采用分箱法:

  离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;

  逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;

  离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;

  特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;

  特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。

  它依赖于卡方检验:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。

  对于精确的离散化,相对类频率在一个区间内应当完全一致。因此,如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则,它们应当保持分开。而低卡方值表明它们具有相似的类分布。

  自由度比类别数量小1。例如:有3类,自由度为2,则90%置信度(10%显著性水平)下,卡方的值为4.6。

  类别和属性独立时,有90%的可能性,计算得到的卡方值会小于4.6。 大于阈值4.6的卡方值就说明属性和类不是相互独立的,不能合并。如果阈值选的大,区间合并就会进行很多次,离散后的区间数量少、区间大。

  2、也可以不考虑卡方阈值,此时可以考虑最小区间数或者最大区间数。指定区间数量的上限和下限,最多几个区间,最少几个区间。

  (1) 假设因变量为分类变量,可取值1,… ,J。令pijpij表示第i个分箱内因变量取值为j的观测的比例,i=1,…,k,j=1,…,J;那么第i个分箱的熵值为∑Jj=0−pij×logpij∑j=0J−pij×logpij。如果第i个分箱内因变量各类别的比例相等,即p11=p12=p1J=1/Jp11=p12=p1J=1/J,那么第i个分箱的熵值达到最大值;如果第i个分箱内因变量只有一种取值,即某个pijpij等于1而其他类别的比例等于0,那么第i个分箱的熵值达到最小值。

  (2) 令riri表示第i个分箱的观测数占所有观测数的比例;那么总熵值为∑ki=0∑Jj=0(−pij×logpij)∑i=0k∑j=0J(−pij×logpij)。需要使总熵值达到最小,也就是使分箱能够最大限度地区分因变量的各类别。

  从最小值到最大值之间,均分为 N 等份, 这样, 如果 A,B 为最小最大值, 则每个区间的长度为 W=(B−A)/N , 则区间边界值为A+W,A+2W,….A+(N−1)W 。这里只考虑边界,每个等份里面的实例数量可能不等。

  区间的边界值要经过选择,使得每个区间包含大致相等的实例数量。比如说 N=10 ,每个区间应该包含大约10%的实例。

  比如,等宽区间划分,划分为5区间,最高工资为50000,则所有工资低于10000的人都被划分到同一区间。等频区间可能正好相反,所有工资高于50000的人都会被划分到50000这一区间中。这两种算法都忽略了实例所属的类型,落在正确区间里的偶然性很大。

  基于k均值聚类的分箱:k均值聚类法将观测值聚为k类,但在聚类过程中需要保证分箱的有序性:第一个分箱中所有观测值都要小于第二个分箱中的观测值,第二个分箱中所有观测值都要小于第三个分箱中的观测值,等等。

  我们对特征进行分箱后,需要对分箱后的每组(箱)进行woe编码和IV值的计算,通过IV值进行变量筛选后,然后才能放进模型训练。

  • WOE(weight of evidence),证据权重。WOE是对原始自变量的一种有监督的编码形式。

  要对一个变量进行WOE编码,首先把这个变量进行分箱处理,分箱后,对于第i组,WOE的计算公式如下:

  其中,pyi是第i组中响应客户占所有样本中所有响应客户的比例,pni是第i组中未响应客户占样本中所有未响应客户的比例。

  当前这个组中响应的客户和未响应客户的比值,和所有样本中这个比值的差异。这个差异是用这两个比值的比值,再取对数来表示的。

  • IV值体现出当前分组中个体的数量占整体数量的比例,对变量预测能力的影响。

  • 检查最大箱,如果最大箱里面数据数量占总数据的90%以上,那么弃用这个变量;

  • 当有两个变量相关性高并且只能保留一个时,选择IV值高的或者分箱均衡的变量;

  • 如果遇到响应比例为0或者100%时:将这个分组做成一个规则,作为模型的前置条件或者补充条件;重新对变量进行分组;人工调整。

  里面还放着一些陈年老代码,都是机器学习和数据分析相关的。(没怎么整理,都在里面,看到隐私别慌~)

  R的阶段性复习小结–决策树 1、决策树知识点 算法特点: 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可处理不相关的特征变量,适合探索性的数据发现 缺点:可能产生过拟合问题 ...

  MetaWRAP——灵活的单基因组精度宏基因组分析流程关于宏基因组Binning,有无数的软件和数据库,大家分析费时费力,结果也差别很大。现在有了MetaWRAP,一个软件就够了,整合3...

  在广大粉丝的期待下,《生信宝典》联合《宏基因组》在2019年11月1-3日,北京鼓楼推出《宏基因组分析》专题培训第六期,为大家提供一条走进生信大门的捷径、为同行提供一个宏基因组分析学习和...

  不试试宏基因组Binning呢?一次测序,“宏基因组”+“Binning”两种分析,微生太帮您一站式处理宏基因组难题。现在,微生太免费向所有人分享Binning的整套分析流程,包含:生信分析代码和R语言绘图代码。我们...

  的影响呢,让我们一同进行实验,来探索那暗中作祟的标签噪声!作者&编辑 郭冰洋 1 简介在数据集制作过程中,由于主观...

  的效果? 题主机器学习大白一个。。最近刚接触CTR预估,发现CTR预估一般都是用LR,而且特征都是离散的。为

  转自datawhale这是一篇关于如何成为一名AI算法工程师的长文~经常有朋友私信问,如何学python呀,如何敲代码呀,如何进入AI行业呀?正好回头看看自己这一年走过的...

  pandas数据处理+大数据读取+删除重复元素+映射+异常值检测+排序+数据聚合+时间序列+重采样+离散化和

  文章目录pandas数据处理1、删除重复元素使用duplicated()函数检测重复的行,返回元素为布尔类型的Series对象,每个元素对应一行,如果该行不是第一次出现,则元素为Truedf.duplicated() 返回bool型的值,如果不重复...

  文章目录MetaWRAP—a flexible pipeline for genome-resolved metagenomic data analysis热心肠日报导读摘要背景结果结论主要结果点评参考文献猜你喜欢写在后面 MetaWRAP—a flexible pipeline for genome-resolved ...

  ikeke 金科应用研院 这是FAL的第220篇原创 1 开篇 在魔蝎被警方带走调查后,目前还没有对该案件公开的法律定性定罪。但是爬虫市场好像早已离去,也许它是高利贷的推波助澜,也许它是使用数据的过分泛滥。...

  点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”作者:Pushkar Mandot编译:ronghuaiyang前戏前几天分享了几篇梯度提升算法,随机森林相关的...

  经常有朋友私信问,如何学python呀,如何敲代码呀,如何进入AI行业呀? ...正好回头看看自己这一年走过的路,...我是因为

  开始接触敲代码 人工智能/机器学习/深度学习 自学如何寻找学习资料 如何选择编...

澳门赌场

上一篇:一种分箱与共箱gis的连接装置制造方法

下一篇:涉嫌制售假酒被查老板抄起酒瓶狠砸自己脑袋