zoukankan      html  css  js  c++  java
  • [转]卡方分箱中卡方值的计算

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

    分箱是什么

    分箱是将连续的变量离散化,将多状态的离散变量合并成少状态。这里要注意的是,不仅仅是连续变量要分箱,状态多的离散变量也需要分箱,之前接触过公司内特征工程的项目,里边就将超过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

  • 相关阅读:
    Solr4:加入中文分词IKAnalyzer2012 FF
    Solr4:Hello World级别示范
    Solr4:Tomcat7下面配置Solr
    Java:XML篇,使用DOM读取并解析XML
    Solr4:加入中文分词mmseg4j
    Java:XML篇,使用SAX读取并解析XML数据
    SSIS包如何动态指定文件路径
    如何定时执行SSIS包
    用户控件使用事件
    用户控件使用事件与调用页面交互
  • 原文地址:https://www.cnblogs.com/likedata/p/11401154.html
Copyright © 2011-2022 走看看