数理统计之卡方检验
简介
卡方分布是与正态分布紧密联系的分布,它能做的事情很多,本文介绍了以下三方面:
- 单个正态总体的方差检验
- 样本总体的分布拟合检验
- 两个总体之间的相关性(独立性)检验
一、卡方分布
【定义】 设随机变量 ξ1,ξ2,⋯,ξn ξ 1 , ξ 2 , ⋯ , ξ n 独立同分布,且 ξi∼N(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π−−√x−−√exp(−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)xn2−1e−x2 p ( χ 2 = x ) = 1 2 n 2 Γ ( n 2 ) x n 2 − 1 e − x 2
其中
Γ(n)=∫∞0xn−1e−xdx=(n−1)! Γ ( n ) = ∫ 0 ∞ x n − 1 e − x d x = ( n − 1 ) !
下图是用matlab的chi2pdf函数绘制的
χ2 χ 2 分布在不同自由度下的概率密度曲线。
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. 单个正态分布总体的方差检验
现在讨论单个正态总体 X∼N(μ,σ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(一致最小方差无偏估计)是
1n∑i=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=1n∑ni=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({γn⩽k1|H0}+{γn⩾k2|H0})=α P ( { γ n ⩽ k 1 | H 0 } + { γ n ⩾ k 2 | H 0 } ) = α
P({∑ni=1(xi−μ)2σ20⩽n⋅k1|H0}+{∑ni=1(xi−μ)2σ20⩾n⋅k2|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σ20⩽n⋅k1|H0)=P(∑ni=1(xi−μ)2σ20⩾n⋅k2|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 ¯ ,然后用样本的修正方差做检验统计量。
S∗2=1n−1∑i=1n(xi−x¯¯¯)2 S ∗ 2 = 1 n − 1 ∑ i = 1 n ( x i − x ¯ ) 2
相似地,构造
χ2 χ 2 分布:
η=∑ni=1(xi−x¯¯¯)2σ20=(n−1)S∗2σ20=χ2∼χ2(n−1) η = ∑ i = 1 n ( x i − x ¯ ) 2 σ 0 2 = ( n − 1 ) S ∗ 2 σ 0 2 = χ 2 ∼ χ 2 ( n − 1 )
接下来就是相似地找到拒绝域:
χ2⩽χ2α/2(n−1) χ 2 ⩽ χ α / 2 2 ( n − 1 ) 或者
χ2⩾χ21−α/2(n−1) χ 2 ⩾ χ 1 − α / 2 2 ( n − 1 ) 。
1.3 方差检验总结
下面给出表格汇总,全都是在显著水平 α α 下的拒绝域,即如果满足则拒绝原假设。
γ=∑ni=1(xi−μ)2σ20 γ = ∑ i = 1 n ( x i − μ ) 2 σ 0 2
η=∑ni=1(xi−x¯¯¯)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(n−1)或η⩾χ21−α/2(n−1) η ⩽ χ α / 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−α(n−1) η ⩾ χ 1 − α 2 ( n − 1 ) |
σ2⩾σ20 σ 2 ⩾ σ 0 2 |
σ2<σ20 σ 2 < σ 0 2 |
γ⩽χ2α(n) γ ⩽ χ α 2 ( n ) |
η⩽χ2α(n−1) η ⩽ χ α 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),⋯,[ak−1,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(ai−1⩽X<ai)=F0(ai)−F0(ai−1) 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 足够大,就可以用频率代替概率。
limn→∞P{∣∣vin−pi∣∣<ϵ}=1 lim n → ∞ P { | v i n − p i | < ϵ } = 1
所以,
vi/n v i / n 和
pi p i 的均方误差
∑i(vi/n−pi)2 ∑ i ( v i / n − p i ) 2 应该很小才对,如果它很大,那么原假设就不应该成立,正是基于这种思想,有了
Pearson统计量:
χ2=∑i=1k(vin−pi)2⋅npi=∑i=1k(vi−npi)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(vi−npi)2npi⩾χ21−α(k−r−1) χ 2 = ∑ i = 1 k ( v i − n p i ) 2 n p i ⩾ χ 1 − α 2 ( k − r − 1 )
卡方拟合检验步骤
- 求待测分布的参数的极大似然估计,确定好假设的分布 F0(X) F 0 ( X )
- 计算每一个区间的概率 pi=F0(ai)−F0(ai−1) p i = F 0 ( a i ) − F 0 ( a i − 1 )
- 验证
∑i=1k(vi−npi)2npi⩾χ21−α(k−r−1) ∑ 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=1S∑j=1T(vij−vi⋅vjn)2vi⋅vjn χ 2 = ∑ i = 1 S ∑ j = 1 T ( v i j − v i ⋅ v j n ) 2 v i ⋅ v j n
拒绝域(若满足则拒绝原假设,认为两个特征没有关系)
χ2=∑i=1S∑j=1T(vij−vi⋅vjn)2vi⋅vjn⩾χ21−α((S−1)(T−1)) χ 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=1S∑j=1T(vij−vi⋅vjn)2vi⋅vjn=(442−956×480/1000)2956×480/1000+(514−956×520/1000)2956×520/1000+(38−44×480/1000)244×480/1000+(6−44×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
查表
X21−0.01((S−1)(T−1))=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 卡方检验如何用于特征选择
个人觉得有以下两方面的用法
- 对于一个新提出的特征,与已有的所有特征做独立性检验,如果新特征与某些特征相关性很强,可能说明这个特征是比较冗余的。
- 对于一个新提出的特征,与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%。
3.4 卡方检验中发现的问题
在做卡方检验做特征选择的时候发现了一些小问题,原本想要通过计算A和B两个特征分别与label的P值,来衡量哪个特征与label的相关性更强,结果发现两个特征之间不可比,目前还不知道如何解决。
3.4.1 分bin数不同,卡方值不同
3.4.2 统计值量级不同,卡方值不同
参考文献
- 《数理统计基础第三版本》-庄楚强 何春雄
- 如何用matlab绘制出卡方分布曲线
- 卡方检验(Chi-square test)及其MATLAB实现
- 卡方分布有关计算器
- 卡方分布