Weiguo's Station

  • 博客首页

  • 文章归档

  • 分类专栏

  • 各种标签

  • 站点搜索

卡方检验

发表于 2018-03-21 更新于 2021-03-22 分类于 基础知识

卡方检验 - Chi-Squared Test

目录

  • 定义
  • 统计机器学习中的应用
  • 举例
  • 特点

1. 定义

卡方检验(Chi-Squared Test)是一种统计量的分布在零假设成立时近似服从卡方分布($\chi^2$分布)的假设检验。在没有其他的限定条件或说明时,卡方检验一般指代的是皮尔森卡方检验。在卡方检验的一般运用中,研究人员将观察量的值划分成若干互斥的分类,并且使用一套理论(或零假设)尝试去说明观察量的值落入不同分类的概率分布的模型。而卡方检验的目的就在于去衡量这个假设对观察结果所反映的程度。


2. 统计机器学习中的应用

卡方检验最基本的思想就是通过观察实际值与理论值的偏差来确定理论的正确与否。 具体做的时候常常先假设两个变量确实是独立的(“原假设”),然后观察实际值(观察值)与理论值(指“如果两者确实独立”的情况下应该有的值)的偏差程度, 如果偏差足够小,我们就认为误差是很自然的样本误差,是测量手段不够精确导致或者偶然发生的,两者确确实实是独立的,此时就接受原假设; 如果偏差大到一定程度,使得这样的误差不太可能是偶然产生或者测量不精确所致,我们就认为两者实际上是相关的,即否定原假设,而接受备择假设。

那么用什么来衡量偏差程度呢?假设理论值为$E$(数学期望),实际值为$x$,如果仅仅使用所有样本的观察值与理论值的差值$x-E$之和

来衡量,单个的观察值还好说,当有多个观察值$x_1,x_2,x_3$的时候,很可能$x_1-E,x_2-E,x_3-E$的值有正有负,因而互相抵消,使得最终的结果看上好像偏差为0,但实际上每个都有偏差,而且都还不小! 此时很直接的想法便是使用方差代替均值,这样就解决了正负抵消的问题,即使用

这时又引来了新的问题,对于$500$的均值来说,相差5其实是很小的(相差1%),而对20的均值来说,5相当于25%的差异,这是使用方差也无法体现的。 因此应该考虑改进上面的式子,让均值的大小不影响我们对差异程度的判断。改进的式子如下:

上面这个式子已经相当好了。实际上这个式子就是卡方检验使用的差值衡量公式。 当提供了数个样本的观察值$x_1, x_2, …, x_i, …, x_n$之后,代入到$式(3)$中就可以求得卡方值,用这个值与事先设定的阈值比较,如果大于阈值(即偏差很大),就认为原假设不成立,反之则认为原假设成立。

3. 举例

在文本分类问题的特征选择阶段,我们主要关心一个词word(一个随机变量)与一个类别Ci(另一个随机变量)之间是否相互独立? 如果独立,就可以说词word对类别Ci完全没有表征作用,即我们根本无法根据word出现与否来判断一篇文档是否属于Ci这个分类。 但与最普通的卡方检验不同,我们不需要设定阈值,因为很难说词word和类别Ci关联到什么程度才算是有表征作用,我们只想借用这个方法来选出一些最相关的即可。

我们越倾向于认为原假设的反面情况是正确的,一般都使用”词word与类别Ci不相关“来做原假设。选择的过程也变成了为每个词计算它与类别Ci的卡方值,从大到小排个序(此时开方值越大越相关),取前k个就可以。

比如说现在有N篇文档,其中有M篇是关于体育的,我们想考察一个词“篮球”与类别“体育”之间的相关性。我们有四个观察值可以使用:

  1. 包含“篮球”且属于“体育”类别的文档数,命名为A
  2. 包含“篮球”但不属于“体育”类别的文档数,命名为B
  3. 不包含“篮球”但却属于“体育”类别的文档数,命名为C
  4. 既不包含“篮球”也不属于“体育”类别的文档数,命名为D

table

下面我们需要根据上面数据估算上面的ABCD四个值,根据估算值计算卡方值

对于A的估计值(上文说的是理论值):

A+C的意思其实就是说“属于体育类的文章数量”,因此,它就等于M,同时,B+D就等于N-M。

好,那么理论值是什么呢?以包含“篮球”且属于“体育”类别的文档数为例。如果原假设是成立的,即“篮球”和体育类文章没什么关联性,那么在所有的文章中,“篮球”这个词都应该是等概率出现,而不管文章是不是体育类的。 这个概率具体是多少,我们并不知道,但他应该体现在观察结果中(就好比抛硬币的概率是二分之一,可以通过观察多次抛的结果来大致确定),因此我们可以说这个概率接近

(因为A+B是包含“篮球”的文章数,除以总文档数就是“篮球”出现的概率,当然,这里认为在一篇文章中出现即可,而不管出现了几次)而属于体育类的文章数为A+C,在这些个文档中, 应该有$E_{11} = (A+C)\frac{A+B}{N}$篇包含“篮球”这个词(数量乘以概率),实际上是“体育类”中有A篇包含篮球这个词。

此时使用$ 式(3) $对这种情况的差值就可以计算出来:

同样,我们还可以计算剩下三种情况的差值$D_{12},D_{21},D_{22}$。有了所有观察值的差值,就可以计算“篮球”与“体育”类文章的卡方值

因此,计算卡方值的一般公式的形式为:

接下来我们就可以计算其他词如“排球”,“产品”,“银行”等等与体育类别的卡方值,然后根据大小来排序,选择我们需要的最大的数个词汇作为特征项就可以了。


4. 特点

针对英文纯文本的实验结果表明: 作为特征选择方法时,卡方检验和信息增益的效果最佳(相同的分类算法,使用不同的特征选择算法来得到比较结果); 文档频率方法的性能同前两者大体相当,术语强度方法性能一般; 互信息方法的性能最差。

但卡方检验也并非就十全十美了。回头想想A和B的值是怎么得出来的,它统计文档中是否出现词word,却不管word在该文档中出现了几次,这会使得他对低频词有所偏袒(因为它夸大了低频词的作用)。 甚至会出现有些情况,一个词在一类文章的每篇文档中都只出现了一次,其开方值却大过了在该类文章99%的文档中出现了10次的词,其实后面的词才是更具代表性的,但只因为它出现的文档数比前面的词少了“1”,特征选择的时候就可能筛掉后面的词而保留了前者。 这就是开方检验著名的“低频词缺陷“。因此开方检验也经常同其他因素如词频综合考虑来扬长避短。


参考

卡方检验

特征选择之Chi卡方检验

# 特征选择
泰勒级数
机器学习中的正则化
  • 文章目录
  • 站点概览
WeiguoZHAO

WeiguoZHAO

Welcome to my blog~
87 日志
13 分类
49 标签
GitHub E-Mail
大牛们
  • colah's blog
  • 王喆的Github
  • 刘建平的Github
  • 美团技术团队
  1. 卡方检验 - Chi-Squared Test
    1. 1. 定义
    2. 2. 统计机器学习中的应用
    3. 3. 举例
    4. 4. 特点
    5. 参考
© 2021 WeiguoZHAO
0%