数理统计之卡方检验

数理统计之卡方检验

简介

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

  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(n) χ 2 ∼ χ 2 ( n )

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

【分位数】 χ2α(n)=λ χ α 2 ( n ) = λ ,其意义是:自由度 n n χ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 分布在不同自由度下的概率密度曲线。
这里写图片描述
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分布
γ=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的分布 F(X=x) F ( X = x ) 是什么,但我们知道 X X 有值域 [a0,ak),而 n n 个样本可以把 [a0,ak) 分成 k k 个区间。
[a0,ak)[a0,a1),[a1,a2),,[ak1,ak)

当原假设 H0:F(x)=F0(x) H 0 : F ( x ) = F 0 ( x ) 为真时
X X 的取值落在第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,把它称为事件 Ai A i ,并把 (x1,x2,,xn) ( x 1 , x 2 , ⋯ , x n ) 看成 n n 次独立重复实验的结果,那么Ai发生的频率是 vi/n v i / n ,根据大数定律,如果试验次数(样本量) n n 足够大,就可以用频率代替概率。
limnP{|vinpi|<ϵ}=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=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 个区间。
推广 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 表示特征 η η 取值为 j j 的样本量,n 是总样本量。

3.1 独立性检验举例

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

-合计
正常442514956
色盲38644
合计4805201000

提出假设:

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下,自由度10的卡方分布分位数是18.3,我们计算出的15比它小,说明如果还是应该接受原假设的,出错概率只有5%。
这里写图片描述

3.4 卡方检验中发现的问题

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

3.4.1 分bin数不同,卡方值不同
3.4.2 统计值量级不同,卡方值不同

参考文献

  1. 《数理统计基础第三版本》-庄楚强 何春雄
  2. 如何用matlab绘制出卡方分布曲线
  3. 卡方检验(Chi-square test)及其MATLAB实现
  4. 卡方分布有关计算器
  5. 卡方分布
  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 概率论与数理统计是数学中的两个重要分支,用于研究随机现象的概率及其规律。而Scipy是一个基于Python的科学计算库,其中包含了许多数学、科学和工程领域的计算工具,包括概率论与数理统计的应用。 Scipy库中的stats模块提供了许多概率分布的概率密度函数、累积分布函数、生成随机样本的方法等。通过使用这些函数,我们可以计算和分析各种概率分布下的随机变量的特征。例如可以计算正态分布、泊松分布或者二项分布的概率密度函数和累积分布函数,进而得到一些统计量如均值、方差、标准差等。这些统计量对于我们理解和描述随机现象的特征是非常重要的。 同时,Scipy中的stats模块还提供了统计检验的功能,可以通过对样本数据进行假设检验来判断某一假设是否成立。例如可以进行t检验、卡方检验或者ANOVA分析等,来判断两个样本的均值是否存在差异、不同类别间的分布是否独立等。这些检验方法对于从样本中获得的数据进行统计推断和决策具有重要的意义。 总而言之,Scipy库中的概率论与数理统计的应用功能,可以帮助我们对随机现象进行建模、分析和预测。通过Scipy库中的各种函数和方法,我们可以更好地理解和研究概率论与数理统计的相关问题,从而为实际问题的解决提供有力的数学工具和方法。 ### 回答2: 概率论与数理统计(scipy)是一种用于分析和解释随机现象的工具和方法。概率论是一门研究随机事件概率及其性质的学科,而数理统计则是通过收集、汇总、分析和解释数据来推断总体特征的学科。scipy是Python编程语言中常用的科学计算库之一,它提供了许多用于概率论和数理统计的函数和方法。 使用scipy进行概率论和数理统计分析可以帮助我们解决许多实际问题。例如,通过利用概率论和数理统计的方法,我们可以估计总体参数,比如平均值和方差,从而对总体进行推断。此外,我们也可以使用概率论和数理统计的方法来构建和评估模型,用于解释和预测随机现象。 scipy库中的一些常用函数和方法包括: 1. 概率分布函数:scipy提供了许多概率分布函数的实现,如正态分布、二项分布、泊松分布等。这些函数可以用于计算概率密度函数、累积分布函数和随机变量的抽样。 2. 统计函数:scipy提供了一些常用的统计函数,如均值、方差、标准差等。这些函数可以用于计算样本数据的统计量。 3. 假设检验:scipy提供了许多常用的假设检验方法,如t检验、卡方检验和方差分析等。这些方法可以用于判断样本数据是否与某个假设相符。 4. 回归分析:scipy中的线性回归函数可以用于拟合数据,并估计回归系数的值。这可以帮助我们建立数据和变量之间的关系模型。 总之,概率论与数理统计(scipy)是一个强大的工具,它为我们提供了许多用于分析和解释随机现象的函数和方法。通过利用这些函数和方法,我们可以进行各种概率论和数理统计分析,从而帮助我们理解和解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值