数理统计之卡方检验

数理统计之卡方检验

简介

卡方分布是与正态分布紧密联系的分布,它能做的事情很多,本文介绍了以下三方面:

  1. 单个正态总体的方差检验
  2. 样本总体的分布拟合检验
  3. 两个总体之间的相关性(独立性)检验

一、卡方分布

【定义】 设随机变量 ξ1,ξ2,,ξn ξ 1 , ξ 2 , ⋯ , ξ n 独立同分布,且 ξiN(0,1) ξ i ∼ N ( 0 , 1 ) ,则称随机变量

χ2=i=1nξ2i χ 2 = ∑ i = 1 n ξ i 2

服从的分布称为自由度为 n n 的卡方分布,该随时变量称为 χ2 χ 2 ,简记 χ2χ2(n) χ 2 ∼ χ 2 ( n )

【记忆】 χ2 χ 2 就是标准正态分布随机变量的平方和。

【分位数】 χ2α(n)=λ χ α 2 ( n ) = λ ,其意义是:自由度 n n χ2 χ 2 分布取值小于 λ λ 的概率 P(χ2(n)λ)=α P ( χ 2 ( n ) ⩽ λ ) = α ,另有性质 P(χ2α/2<x<χ21α/2)=1α P ( χ α / 2 2 < x < χ 1 − α / 2 2 ) = 1 − α

【性质】
1. 概率密度分布
n=1 n = 1

p(χ2=x)=12πxexp(x2) p ( χ 2 = x ) = 1 2 π x exp ⁡ ( − x 2 )

n=2 n = 2 时,等价于参数0.5的指数分布
p(χ2=x)=12exp(x2) p ( χ 2 = x ) = 1 2 exp ⁡ ( − x 2 )

一般情况下
p(χ2=x)=12n2Γ(n2)xn21ex2 p ( χ 2 = x ) = 1 2 n 2 Γ ( n 2 ) x n 2 − 1 e − x 2

其中
Γ(n)=0xn1exdx=(n1)! Γ ( n ) = ∫ 0 ∞ x n − 1 e − x d x = ( n − 1 ) !

下图是用matlab的chi2pdf函数绘制的 χ2 χ 2 分布在不同自由度下的概率密度曲线。
数理统计之卡方检验_第1张图片
2. 期望和方差
E[χ2(n)]=n E [ χ 2 ( n ) ] = n

Var[χ2(n)]=2n V a r [ χ 2 ( n ) ] = 2 n

3. 叠加性
多个 χ2 χ 2 分布叠加,还是 χ2 χ 2 分布,自由度相加即可
i=1mχ2(ni)=χ2(i=1mni) ∑ i = 1 m χ 2 ( n i ) = χ 2 ( ∑ i = 1 m n i )

二、卡方检验

1. 单个正态分布总体的方差检验

现在讨论单个正态总体 XN(μ,σ2) X ∼ N ( μ , σ 2 ) ,样本为 (x1,x2,,xn) ( x 1 , x 2 , ⋯ , x n ) 。要对该总体的方差进行估计,即给定给一个显著性水平 α α 下,要在下面三种假设检验(双侧检验、右侧检验、左侧检验)中选做一个。

H0:σ2=σ20H1:σ2σ20 H 0 : σ 2 = σ 0 2 H 1 : σ 2 ≠ σ 0 2

H0:σ2σ20H1:σ2>σ20 H 0 : σ 2 ⩽ σ 0 2 H 1 : σ 2 > σ 0 2

H0:σ2σ20H1:σ2<σ20 H 0 : σ 2 ⩾ σ 0 2 H 1 : σ 2 < σ 0 2

根据正态总体的均值 μ μ 是否已知,需要分类讨论。

1.1 μ μ 已知

下面以双侧检验为例

H0:σ2=σ20H1:σ2σ20 H 0 : σ 2 = σ 0 2 H 1 : σ 2 ≠ σ 0 2

正态分布方差 σ2 σ 2 的UMVUE(一致最小方差无偏估计)是
1ni=1n(xiμ)2 1 n ∑ i = 1 n ( x i − μ ) 2

所以当原假设 H0:σ2=σ20 H 0 : σ 2 = σ 0 2 为真,下面这个比值应该很接近1才对,如果接近0或者比1大的多,说明在假定 H0 H 0 为真的前提下出现了极小概率事件,就有理由拒绝原假设。
γn=1nni=1(xiμ)2σ20 γ n = 1 n ∑ i = 1 n ( x i − μ ) 2 σ 0 2

回想 α α 和分位数的意义,在假定 H0 H 0 为真的前提下,发现异常的概率应该是 α α (下面 k1 k 1 是一个接近0的数, k2 k 2 是一个大于1的数)
P({γnk1|H0}+{γnk2|H0})=α P ( { γ n ⩽ k 1 | H 0 } + { γ n ⩾ k 2 | H 0 } ) = α

P({ni=1(xiμ)2σ20nk1|H0}+{ni=1(xiμ)2σ20nk2|H0})=α P ( { ∑ i = 1 n ( x i − μ ) 2 σ 0 2 ⩽ n ⋅ k 1 | H 0 } + { ∑ i = 1 n ( x i − μ ) 2 σ 0 2 ⩾ n ⋅ k 2 | H 0 } ) = α

简单地让两部分(两种异常的概率)相等
P(ni=1(xiμ)2σ20nk1|H0)=P(ni=1(xiμ)2σ20nk2|H0)=α2 P ( ∑ i = 1 n ( x i − μ ) 2 σ 0 2 ⩽ n ⋅ k 1 | H 0 ) = P ( ∑ i = 1 n ( x i − μ ) 2 σ 0 2 ⩾ n ⋅ k 2 | H 0 ) = α 2

观察一下分式,在 H0 H 0 为真时,它正是 n n 个标准正态随机变量的平方和,所以服从 χ2 χ 2 分布
γ=ni=1(xiμ)2σ20=i=1n(xiμσ0)2=χ2χ2(n) γ = ∑ i = 1 n ( x i − μ ) 2 σ 0 2 = ∑ i = 1 n ( x i − μ σ 0 ) 2 = χ 2 ∼ χ 2 ( n )

进一步由 χ2 χ 2 分布的分位数 χ2α=λ χ α 2 = λ 定义 P(χ2(n)λ)=α P ( χ 2 ( n ) ⩽ λ ) = α 迁移上面的概率
P(ni=1(xiμ)2σ20χ2α/2(n))=P(ni=1(xiμ)2σ20χ21α/2(n))=α2 P ( ∑ i = 1 n ( x i − μ ) 2 σ 0 2 ⩽ χ α / 2 2 ( n ) ) = P ( ∑ i = 1 n ( x i − μ ) 2 σ 0 2 ⩾ χ 1 − α / 2 2 ( n ) ) = α 2

注意,即使化成了这个样子,它的意义仍然是“原假设成立时出错的概率”,所以当 χ2χ2α/2(n) χ 2 ⩽ χ α / 2 2 ( n ) 或者 χ2χ21α/2(n) χ 2 ⩾ χ 1 − α / 2 2 ( n ) ,我们应该拒绝原假设 H0 H 0 ,而当 χ2α/2(n)<χ2<χ21α/2(n) χ α / 2 2 ( n ) < χ 2 < χ 1 − α / 2 2 ( n ) 时,我们可以接受原假设。

左侧检验和右侧检验的推导与双侧检验的推导类似,主要区别在于,只需要考虑一侧的异常,所以分位数应该是 χ2α(n) χ α 2 ( n ) χ21α(n) χ 1 − α 2 ( n )

1.2 μ μ 未知

μ μ 未知,就不能用 γ γ 做检验统计量了,但正态总体方差 σ2 σ 2 的UMVUE还有下面这个形式,也就是说可以先算样本均值 x¯¯¯ x ¯ ,然后用样本的修正方差做检验统计量。

S2=1n1i=1n(xix¯¯¯)2 S ∗ 2 = 1 n − 1 ∑ i = 1 n ( x i − x ¯ ) 2

相似地,构造 χ2 χ 2 分布:
η=ni=1(xix¯¯¯)2σ20=(n1)S2σ20=χ2χ2(n1) η = ∑ i = 1 n ( x i − x ¯ ) 2 σ 0 2 = ( n − 1 ) S ∗ 2 σ 0 2 = χ 2 ∼ χ 2 ( n − 1 )

接下来就是相似地找到拒绝域: χ2χ2α/2(n1) χ 2 ⩽ χ α / 2 2 ( n − 1 ) 或者 χ2χ21α/2(n1) χ 2 ⩾ χ 1 − α / 2 2 ( n − 1 )

1.3 方差检验总结

下面给出表格汇总,全都是在显著水平 α α 下的拒绝域,即如果满足则拒绝原假设。

γ=ni=1(xiμ)2σ20 γ = ∑ i = 1 n ( x i − μ ) 2 σ 0 2

η=ni=1(xix¯¯¯)2σ20 η = ∑ i = 1 n ( x i − x ¯ ) 2 σ 0 2

H0 H 0 H1 H 1 μ μ 已知 μ μ 未知
σ2=σ20 σ 2 = σ 0 2 σ2σ20 σ 2 ≠ σ 0 2 γχ2α/2(n)γχ21α/2(n) γ ⩽ χ α / 2 2 ( n ) 或 γ ⩾ χ 1 − α / 2 2 ( n ) ηχ2α/2(n1)ηχ21α/2(n1) η ⩽ χ α / 2 2 ( n − 1 ) 或 η ⩾ χ 1 − α / 2 2 ( n − 1 )
σ2σ20 σ 2 ⩽ σ 0 2 σ2>σ20 σ 2 > σ 0 2 γχ21α(n) γ ⩾ χ 1 − α 2 ( n ) ηχ21α(n1) η ⩾ χ 1 − α 2 ( n − 1 )
σ2σ20 σ 2 ⩾ σ 0 2 σ2<σ20 σ 2 < σ 0 2 γχ2α(n) γ ⩽ χ α 2 ( n ) ηχ2α(n1) η ⩽ χ α 2 ( n − 1 )

假设检验的原则总是:不轻易否认原假设。对原假设 H0 H 0 作出的判断,总是与显著性水平 α α 有关, α α 越小,原假设出错的概率就越小,我们就越不容易拒绝原假设。


2. 卡方拟合检验

卡方拟合检验属于分布拟合检验的一种。分布拟合检验,指的是不知道样本的总体概率分布 F(x) F ( x ) 是什么,根据采集的样本来判断总体是否服从某种指定的分布。一般的做法是,给定一个显著性水平 α α ,对下面这个假设做 显著性检验,原假设是 样本的分布 F(x) F ( x ) 就是 F0(x) F 0 ( x ) ,备择假设是 F(x) F ( x ) 不是 F0(x) F 0 ( x )

H0:F(x)=F0(x)H1:F(x)F0(x) H 0 : F ( x ) = F 0 ( x ) H 1 : F ( x ) ≠ F 0 ( x )

我们有样本 (x1,x2,,xn) ( x 1 , x 2 , ⋯ , x n ) 采集自总体 X X ,我们并不知道 X X 的分布 F(X=x) F ( X = x ) 是什么,但我们知道 X X 有值域 [a0,ak) [ a 0 , a k ) ,而 n n 个样本可以把 [a0,ak) [ a 0 , a k ) 分成 k k 个区间。
[a0,ak)[a0,a1),[a1,a2),,[ak1,ak) [ a 0 , a k ) → [ a 0 , a 1 ) , [ a 1 , a 2 ) , ⋯ , [ a k − 1 , a k )

当原假设 H0:F(x)=F0(x) H 0 : F ( x ) = F 0 ( x ) 为真时
X X 的取值落在第 i i 个区间的概率是:
pi=P(ai1X<ai)=F0(ai)F0(ai1) p i = P ( a i − 1 ⩽ X < a i ) = F 0 ( a i ) − F 0 ( a i − 1 )

落在第 i i 个区间的样本个数是 vi v i ,把它称为事件 Ai A i ,并把 (x1,x2,,xn) ( x 1 , x 2 , ⋯ , x n ) 看成 n n 次独立重复实验的结果,那么 Ai A i 发生的频率是 vi/n v i / n ,根据大数定律,如果试验次数(样本量) n n 足够大,就可以用频率代替概率。
limnP{vinpi<ϵ}=1 lim n → ∞ P { | v i n − p i | < ϵ } = 1

所以, vi/n v i / n pi p i 的均方误差 i(vi/npi)2 ∑ i ( v i / n − p i ) 2 应该很小才对,如果它很大,那么原假设就不应该成立,正是基于这种思想,有了 Pearson统计量
χ2=i=1k(vinpi)2npi=i=1k(vinpi)2npi χ 2 = ∑ i = 1 k ( v i n − p i ) 2 ⋅ n p i = ∑ i = 1 k ( v i − n p i ) 2 n p i

在给定样本 (x1,x2,,xn) ( x 1 , x 2 , ⋯ , x n ) 的情况下,计算 χ2 χ 2 ,如果 χ2 χ 2 较大就拒绝原假设 H0 H 0

具体地,给定显著性水平 α α ,假设将值域分割为 k k 个区间,要验证的分布含有 r r 个未知参数(比如正态分布有 μ μ σ σ 这两个待定参数,则 r=2 r = 2 ),则原假设的拒绝域是:

χ2=i=1k(vinpi)2npiχ21α(kr1) χ 2 = ∑ i = 1 k ( v i − n p i ) 2 n p i ⩾ χ 1 − α 2 ( k − r − 1 )

卡方拟合检验步骤

  1. 求待测分布的参数的极大似然估计,确定好假设的分布 F0(X) F 0 ( X )
  2. 计算每一个区间的概率 pi=F0(ai)F0(ai1) p i = F 0 ( a i ) − F 0 ( a i − 1 )
  3. 验证
    i=1k(vinpi)2npiχ21α(kr1) ∑ i = 1 k ( v i − n p i ) 2 n p i ⩾ χ 1 − α 2 ( k − r − 1 )

    如果成立,则拒绝 H0 H 0 ,否则接受 H0 H 0

3. 卡方独立性检验

卡方独立性检验,用来验证两个随机变量总体 ξ ξ η η 之间是否独立,或者说一个特征是否对另一个特征由显著作用。一般的做法是,给定一个显著性水平 α α ,对下面这个假设做 显著性检验,原假设是 ξ ξ η η 独立,备择假设是 ξ ξ η η 不独立

H0:ξηH1:ξη H 0 : ξ 和 η 独 立 H 1 : ξ 和 η 不 独 立

样本集 (x1,x2,,xn) ( x 1 , x 2 , ⋯ , x n ) 的每个样本同时具有 ξ ξ η η 两个特征,分别按照两个特征的取值,可以分别把样本分为 S S 个区间和 T T 个区间。
推广 Peason统计量
χ2=i=1Sj=1T(vijvivjn)2vivjn χ 2 = ∑ i = 1 S ∑ j = 1 T ( v i j − v i ⋅ v j n ) 2 v i ⋅ v j n

拒绝域(若满足则拒绝原假设,认为两个特征没有关系)
χ2=i=1Sj=1T(vijvivjn)2vivjnχ21α((S1)(T1)) χ 2 = ∑ i = 1 S ∑ j = 1 T ( v i j − v i ⋅ v j n ) 2 v i ⋅ v j n ⩾ χ 1 − α 2 ( ( S − 1 ) ( T − 1 ) )

其中 vi v i 表示 特征 ξ ξ 取值为 i i 的样本量, vj v j 表示特征 η η 取值为 j j 的样本量, n n 是总样本量。

3.1 独立性检验举例

有1000个样本,特征包含“性别”“是否色盲”,性别特征可以分为两个区间:{男,女},是否色盲特征也可以分为两个区间:{正常,色盲},假设统计表格如下,问显著水平 α=0.01 α = 0.01 下色盲与性别是否独立?

- 合计
正常 442 514 956
色盲 38 6 44
合计 480 520 1000

提出假设:

H0 H 0 : 色 盲 和 性 别 是 相 互 独 立 的

计算Pearson统计量:
χ2=i=1Sj=1T(vijvivjn)2vivjn=(442956×480/1000)2956×480/1000+(514956×520/1000)2956×520/1000+(3844×480/1000)244×480/1000+(644×520/1000)244×520/1000=27.14 χ 2 = ∑ i = 1 S ∑ j = 1 T ( v i j − v i ⋅ v j n ) 2 v i ⋅ v j n = ( 442 − 956 × 480 / 1000 ) 2 956 × 480 / 1000 + ( 514 − 956 × 520 / 1000 ) 2 956 × 520 / 1000 + ( 38 − 44 × 480 / 1000 ) 2 44 × 480 / 1000 + ( 6 − 44 × 520 / 1000 ) 2 44 × 520 / 1000 = 27.14

查表
X210.01((S1)(T1))=X20.99(1)=6.64 X 1 − 0.01 2 ( ( S − 1 ) ( T − 1 ) ) = X 0.99 2 ( 1 ) = 6.64

因为
χ2>X20.99(1) χ 2 > X 0.99 2 ( 1 )

按照分位数的定义,如果原假设成立,那么 χ2 χ 2 取值小于 6.64 的概率应该是99%以上,而现在算出来大于6.64,所以应该拒绝原假设,性别和色盲的关系非常密切。

3.2 卡方检验如何用于特征选择

个人觉得有以下两方面的用法

  1. 对于一个新提出的特征,与已有的所有特征做独立性检验,如果新特征与某些特征相关性很强,可能说明这个特征是比较冗余的。
  2. 对于一个新提出的特征,与label做独立性检验,如果发现两者相关性很强,可能说明这个是一个强特征。

3.3 P值是什么

    在一些文献中常常会看到卡方检验的P值,其实P值是针对Pearson统计量而言的,对于计算出来的Pearson统计量,P值表示卡方值取值大于该Pearson统计量的概率,也就是原假设出错的概率,这就是为什么P值越小越应该拒绝原假设,P值越小等价于Pearson统计量大于某个置信水平下的分位数的程度越大。
    详情见下图,假设我们计算出来的Pearson统计量 χ2=15 χ 2 = 15 ,自由度为10,那么卡方分布曲线在15右边的部分积分值就是 P P 值,其物理意义正是概率。
    实际上我们查表可得在 α=0.05 α = 0.05 下,自由度10的卡方分布分位数是18.3,我们计算出的15比它小,说明如果还是应该接受原假设的,出错概率只有5%。
数理统计之卡方检验_第2张图片

3.4 卡方检验中发现的问题

    在做卡方检验做特征选择的时候发现了一些小问题,原本想要通过计算A和B两个特征分别与label的P值,来衡量哪个特征与label的相关性更强,结果发现两个特征之间不可比,目前还不知道如何解决。

3.4.1 分bin数不同,卡方值不同

3.4.2 统计值量级不同,卡方值不同


参考文献

  1. 《数理统计基础第三版本》-庄楚强 何春雄
  2. 如何用matlab绘制出卡方分布曲线
  3. 卡方检验(Chi-square test)及其MATLAB实现
  4. 卡方分布有关计算器
  5. 卡方分布

你可能感兴趣的:(机器学习,数理统计)