关于卡方分箱,网上有很多文章,但几乎没有文章介绍分箱时相邻区间卡方值计算的方法,而本文在介绍卡方分箱的同时,重点介绍了相邻区间卡方值的计算方法。通过本文,希望大家能对卡方分箱有清楚透彻的认识。
分箱是什么
分箱是将连续的变量离散化,将多状态的离散变量合并成少状态。这里要注意的是,不仅仅是连续变量要分箱,状态多的离散变量也需要分箱,之前接触过公司内特征工程的项目,里边就将超过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,类别的分布是相似的。
卡方分箱
卡方分箱是基于卡方检验的,将具有最小卡方值的相邻区间合并在一起,直到满足确定的停止条件。卡方分箱是自底向上的数据离散化方法。
卡方分箱的实现步骤:
- 预先设定一个卡方阈值
- 根据要离散的属性对实例进行排序,每个实例属于一个区间
- 合并区间
a. 计算每一对相邻区间的卡方值
b. 将卡方值最小的一对区间合并 - 判断是否满足停止条件,不满足则继续进行步骤3,反之停止。
这里的停止条件有两个:
- 分箱的个数达到限制条件
- 最小的相邻分箱的卡方值大于阈值
总结
本文介绍了什么是分箱以及卡方分箱的算法,并着重介绍了卡方分箱中相邻区间卡方值的计算方法。
以下是参考资料:
统计检验之——卡方检验(Chi-Square Tests): https://education.ti.com/sites/CHINA/downloads/pdf/chi_square_tests_xudeqian.pdf
</div>
</div>