特征选择-卡方检验用于特征选择

卡方分布

若n个相互独立的随机变量 X1 X2 Xn ,均服从标准正态分布(也称独立同分布于标准正态分布),则这n个随机变量的平方和 Q=ni=1X2i 构成一个新的随机变量,其分布规律称为卡方分布或 χ2 分布(chi-square distribution),其中参数n为自由度,记为 Qχ2

特征选择-卡方检验用于特征选择_第1张图片

图片引自百度百科

卡方分布是由正态分布构造而成的一个新的分布,当自由度n很大时, χ2 分布近似为正态分布。

均值:

E(χ2)=n

方差:
D(χ2)=2n

性质:

  1. χ2 分布在第一象限内,卡方值都是正值,呈正偏态(右偏态),随着参数 n 的增大, χ2 分布趋近于正态分布;卡方分布密度曲线下的面积都是1。
  2. χ2 分布的均值与方差可以看出,随着自由度n的增大, χ2 分布向正无穷方向延伸(因为均值n越来越大),分布曲线也越来越低阔(因为方差2n越来越大)。
  3. 不同的自由度决定不同的卡方分布,自由度越小,分布越偏斜。
  4. χ2(n1) χ2(n2) 互相独立,则: χ2(n1)+χ2(n2) 服从自由度为 n1+n2 χ2 分布。

    卡方分布临界值表:
    特征选择-卡方检验用于特征选择_第2张图片

以上内容和图片均引自百度百科:卡方分布

后续在用卡方检验做特征选择的时候,会利用到自由度为1、 α=0.05 的临界值3.84,后续再详述。

假设检验

卡方检验属于假设检验,我们先对假设检验的一些概念做些定义。以下内容均来自《概率论与数理统计(陈希孺)》第五章-假设检验。

功效函数:

设总体分布包含若干个未知参数 θ1 θ2 θk H0 是关于这些参数的一个原假设,设有样本 X1 X2 Xn ,而 Φ 是基于这些样本而对 H0 所作的一个检验。则称检验 Φ 的功效函数为:

βΦ(θ1,,θk)=Pθ1,,θk(Φ,H0)
它是未知参数 θ1,,θk 的函数。

两类错误

在检验一个假设 H0 时,有可能犯以下两类错误之一:

  • 第一类错误: H0 正确,但是被否定了
  • 第二类错误: H0 不正确,但是被接受了

    犯第一类错误的概率:

    α1Φ(θ1,,θk)={βΦ(θ1,,θk),(theta1,,θk)H00,                   (theta1,,θk)H1
    犯第二类错误的概率:
    α2Φ(θ1,,θk)={0,                        (theta1,,θk)H01βΦ(θ1,,θk),(theta1,,θk)H1

    通常先保证第一类错误的概率不超过某指定值 α α 通常很小,最常用的是 α=0.05 和0.01),再在此限制下,使第二类错误的概率尽可能的小。

检验水平

Φ 是原假设 H0 的一个检验, βΦ(θ1,,θk) 为其功效函数, α 为常数, 0α1 。如果

βΦ(θ1,,θk)α(θ1,,θk)H0
则称 Φ H0 的一个水平 α 的检验,或者说,检验 Φ 的水平为 α ,检验 Φ 有水平 α

这是“固定(或限制)第一类错误概率的原则”,是目前假设检验理论中一种流行的做法。这种做法并没有考虑第二类错误的情况。以参数检验为例,对于第二类错误,往往要选定一个在拒绝域里的参数值(与检验值有较小的距离),来使第二类错误尽量小,计算得到一个应有的样本量,而对于像选取的参数值这样离检验值接近的参数值,往往无需关心是否接受 H0 。如果想了解两种错误都考虑的情况可以看下《概率论与数理统计(陈希孺)》第五章-假设检验-5.2-重要参数检验。而下面讲到的卡方检验也是只基于这个原则,并没有考虑到第二类错误。

拟合优度检验和卡方检验法

我们这里不说假设检验的详细内容了,有兴趣的可以看下《概率论与数理统计(陈希孺)》,下面直接进入本章内容的主题方法:卡方检验( χ2 检验),从书中可以知道,拟合优度检验是为检验观察到的一批数据是否与某种理论分布符合,而采用的计算方法就是卡方检验法。

卡方检验基本方法

设一总体X服从分布:

H0:P(X=ai)=pi      (i=1,,k)
其中 ai,pi(i=1,,k) 都是已知的,且 a1,,ak 两两各不相同, pi>0(i=1,,k)
先设想总体X的数量n足够大,按大数定理,若以 vi X1,,Xn 中等于 ai 的个数,应有 vi/npi ,即 vinpi 。我们把 npi 称为 ai 这个“类”的理论值,而把 vi 称为其经验值或者观察值。如下表:

类别 a1 a2 ai ak
理论值 np1 np2 npi npk
经验值 v1 v2 vi vk

表中最后两行的差异越小,则 H0 越像是对的,我们也就越乐意接受它,为了反映这种差异,皮尔逊采用

Z==()2/i=1k(npivi)2/(npi)
对公式解释分三部分:

  1. 理论值−经验值:反映差异
  2. ()2 :排除1.中存在正负抵消的情况。
  3. ()2/ :针对不同“类”下值域差异过大,将差异转换到同种尺度内。

定理:如果原假设 H0 成立,则在样本大小 n 时,Z的分布趋向于自由度为k-1的 χ2 分布,即 χ2k1
此定理的证明在书中也没有给出,不过能看出来,Z并不是完全符合卡方分布,而是近似卡方分布,而且最好样本量足够大。

用这个定理就可以对 H0 做检验了,显然,当 Z>C 时否定 H0 ,在 ZC 时接受 H0 ,C的选取根据给定的水平 α 得到,下面我们来看计算过程(检验记为 Φ ,被检验的分布记为p):

根据前面介绍,我们需要先计算功效函数( H0 被否定的概率):

βΦ(p)P(ZC)P(ZC)===P(Z>C)α1P(ZC)α1αKk1(C)1α
Kk1 是自由度为k-1的卡方分布函数,是非减的(分布函数都是非减的),因此可以得到
Cχ2k1(α)
这里我们取临界值:
C=χ2k1(α)     Kk1(C)=1α
χ2k1(α) 这个值是怎么算出来的呢?看下图:
特征选择-卡方检验用于特征选择_第3张图片
由图可知: P(χ2k1>χ2k1(α))=α
所以 Kk1(χ2k1(α))=P(χ2k1χ2k1(α))=1α     (1)
结合 Kk1(C)=1α
我们就可以得到 C=χ2k1(α)
注意:由(公式1)可以得到下面的公式2,在后面拟合优化部分会用到
P(χ2k1>χ2k1(α))=1P(χ2k1χ2k1(α))=1Kk1(χ2k1(α))
(2)

C=χ2k1(α) 时,如果 H0 成立,它被否定的概率 α ,认为此时犯第一类错误的概率很低很低,也就是说此时假如 H0 成立,那么计算出的Z有很小很小的概率会 >χ2k1(α) ,但是如果此时计算出的 Z>χ2k1(α) ,就说明有很大的概率是因为 H0 并不成立,我们就有理由拒绝原假设,否则( Zχ2k1(α) )我们并没有充足的理由去拒绝原假设,从而我们就去接受它,此时,可能发生第二类错误的概率较高,也就是原假设本来应该被拒绝却被接受了。在这样的情况下,我们往往认为发生第一类错误的影响更大,而发生第二类错误的影响并没有那么大。因此,我们在做特征选择时,为了将无关的特征尽可能扔掉,所以我们选择特征和类别相关是备择假设,无关是原假设,第一类错误是无关的特征没有被丢弃,使这种错误发生的概率尽量小,这样保证保留下来的特征都是尽可能相关的,但是有可能发生第二类错误,导致相关的一些特征会被扔掉,不过扔掉的大多都是相关性较弱的,相关性强的大多数都被保留了。

关于只处理第一类错误的理解:
特征选择-卡方检验用于特征选择_第4张图片
书中有先处理第一类错误,然后处理第二类错误:
特征选择-卡方检验用于特征选择_第5张图片

拟合优度

上面是一种“非此即彼”的解决方式。下面我们介绍一种更有弹性的方法。
假定从一组具体数据中算出的Z值为 Z0 ,我们提出这样的问题:如果 H0 成立,在这个前提下,出现像 Z0 这么大或者更大的差异的可能性的概率有多大?按之前的定理,如果 H0 成立, Zχ2k1 ,我们记这个概率为 p(Z0) ,近似为

p(Z0)=P(ZZ0 | H0)1Kk1(Z0),  (2)
显然,这个概率越大,说明在 H0 成立时,出现 Z0 这么大或者更大的差异的可能性就越大,就越使我们相信 H0 的正确性,我们把 p(Z0) 解释为数据对原假设 H0 中的理论分布的“ 拟合优度”。拟合优度越大,就表示数据与理论之间的符合越好,该理论分布也就获得更充足的实验或者观察支持。在特征选择的实际使用中,我们可以根据需要利用拟合优度做筛选(逆序取Top或选阈值)。

列联表

在实际使用中经常用到列联表来处理。
下表显示了一个 a×b 的双向列联表。属性A有a个水平 12a ,属性B有b个水平 12b 。随机观察n个个体,其中属性A处在水平i,而属性B处在水平j的个体数为表中的 nij

B\A 1 2 i a
1 n11 n21 ni1 na1 n.1
2 n12 n22 ni2 na2 n.2
j n1j n2j nij naj n.j
b n1b n2b nib nab n.b
n1. n2. ni. na. n

ni.=bj=1nijnj.=ai=1nij 分别是属性A在i的个体数和属性B在j的个体数。记

pij=P(ABij)
问题是要检验A、B两属性独立的假设 H0 。如果 H0 为真,应有
pij=uivj     (i=1,,a; j=1,,b)      (3)
其中
ui=P(Ai),  vj=P(Bj)
因此, H0 成立,等价于存在{ ui }、{ vj },满足
ui>0,  i=1aui=1;  vj>0,  j=1bvj=1
使(公式3)成立。
在这个模型中, ui vj 充当了参数的作用,总的独立参数个数为
r=(a1)+(b1)=a+b2
为了估计 ui vj ,可以用最大似然估计法计算,这里不做详细计算,感兴趣的可以去书中查看。可以解得
û i=ni./n  (i=1,,a),    v̂ j=n.j/n  (j=1,,b)
这正是用频率估计的概率,由估计量得到 p̂ ij=û iv̂ j=ni.n.j/n2 ,因而得到第(i,j)格的理论值为 np̂ ij=ni.n.j/n ,因此统计量Z为
Z==(4)i=1aj=1b(nijni.n.j/n)2/(ni.n.j/n)i=1aj=1b(nnijni.n.j)2/(nni.n.j)
自由度为 k1r=ab1(a+b2)=(a1)(b1)
a=b=2 这个特例,上面的列联表也被称为“四格表”,自由度为1。
后续的计算就和上面的一样了。

卡方检验用于特征选择

例1:假设我们想从一堆特征中筛选出于教育支出(多、少)相关的特征,我们利用上面讲到的两种检验方法来处理(一个是“非此即彼”、一个是“拟合优度”),假如涉及的特征有收入水平、教育水平等等,下面我们以收入水平(高、中、低)为例,按照上面分析,要保证第一类错误影响最小的原则,也就是设定原假设H_0 H0 为:收入水平与教育支出不相关,设水平\alpha=0.05 α=0.05

教育支出\收入水平
63 37 60 160
16 17 8 41
79 54 68 201

按上面(公式4)计算统计量Z_0 Z0 =7.2078,自由度为(3-1)\times (2-1)=2 (31)×(21)=2

  1. 非此即彼
    查卡方表可知\chi_2^2(0.05)=5.99 χ22(0.05)=5.99 ,而Z_0>\chi_2^2(0.05) Z0>χ22(0.05) ,因此拒绝原假设H_0 H0 ,认为收入水平和教育支出相关。
  2. 拟合优度
    查卡方表可知拟合优度 p(Z0)=P(ZZ0 | H0)0.025 ,书中说查表得到结果为0.0207,不知道怎么查出来的。拟合优度值很低,说明可以拒绝原假设 H0 ,认为收入水平和教育支出相关。

例2:例1中的特征属性有多个值,而我们现实中经常会遇到只有0、1这种情况的属性,例如看“足球”和媒体类别是否相关,假设有三种媒体类别:体育、历史、社会。我们可以像下面两种方式构建列联表:

媒体类型\特征 足球 非足球
体育
历史
社会

或者:

媒体类型\特征 足球 非足球
体育
非体育

构建列联表的方式可以按照各位的需求构建,但计算方式都是按照上面的方法来的。

你可能感兴趣的:(特征选择)