[转]卡方分箱中卡方值的计算

关于卡方分箱,网上有很多文章,但几乎没有文章介绍分箱时相邻区间卡方值计算的方法,而本文在介绍卡方分箱的同时,重点介绍了相邻区间卡方值的计算方法。通过本文,希望大家能对卡方分箱有清楚透彻的认识。

分箱是什么

分箱是将连续的变量离散化,将多状态的离散变量合并成少状态。这里要注意的是,不仅仅是连续变量要分箱,状态多的离散变量也需要分箱,之前接触过公司内特征工程的项目,里边就将超过50个值的离散特征视为连续特征。

基本思想

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

卡方值的计算方法

对于下面的例子,相邻两个特征值的卡方值的计算方法是这样的:

feature y0 y1
x1 a b
x2 c d
... ... ...
xn ... ...

x1和x2的卡方值计算公式为:

卡方值计算公式

为什么低卡方值就表示x1和x2具有相似的类分布呢?可以这样想,当x1和x2具有相似的类分布的时候,卡方值是怎么样的。卡方值的一般计算公式是这样的:

卡方值的一般公式

其中,A为观测的值,T为理论的值。观测值就是表中样本的数据,那么理论值是什么?其实就是忽略x1和x2的影响计算出来的值,把x1和x2合并起来看待,总体看样本为y0的概率是 p =(a+c)/(a+b+c+d),那么特征为x1且类别为y0的理论值就是(a+b)*p。可以看出,如果x1和x2具有相似的类分布,那么它们对应类别的数量是逼近这个理论值的,而卡方值的计算公式的意义是衡量观测值与理论值的距离,如果卡方值小,说明观测值和理论值差距很小,也就说明特征无论取x1或x2,类别的分布是相似的。

卡方分箱

卡方分箱是基于卡方检验的,将具有最小卡方值的相邻区间合并在一起,直到满足确定的停止条件。卡方分箱是自底向上的数据离散化方法。

卡方分箱的实现步骤:

  1. 预先设定一个卡方阈值
  2. 根据要离散的属性对实例进行排序,每个实例属于一个区间
  3. 合并区间
    a. 计算每一对相邻区间的卡方值
    b. 将卡方值最小的一对区间合并
  4. 判断是否满足停止条件,不满足则继续进行步骤3,反之停止。

这里的停止条件有两个:

  1. 分箱的个数达到限制条件
  2. 最小的相邻分箱的卡方值大于阈值

总结

本文介绍了什么是分箱以及卡方分箱的算法,并着重介绍了卡方分箱中相邻区间卡方值的计算方法。

以下是参考资料:
统计检验之——卡方检验(Chi-Square Tests): https://education.ti.com/sites/CHINA/downloads/pdf/chi_square_tests_xudeqian.pdf

      </div>
    </div>

原文链接:https://www.jianshu.com/p/69228db7c5d7

posted @ 2019-08-24 17:53  likedata  阅读(1969)  评论(0编辑  收藏  举报