χ2检验(chi-square test)

简介

x2检验(chi-square test)或称卡方检验,以χ2分布为基础的用途较广的假设检验方法,属于非参数检验范畴,主要比较两个及两个以上样本率以及两个分类变量的关联性分析。根本思想就是比较理论频数和实际频数的吻合程度和拟合优度问题。

基本思想

假设H0成立,计算出χ2值,它表示观察值与理论值之间的偏离程度。如果P值很小,说明观察值与理论值偏离程度较大,拒绝H0,表示比较资料间有显著差异;否则不能拒绝H0,尚不能认为样本所代表的实际情况和理论假设间有差别。

用途

考察某无序分类变量各水平在两组或多组间的分布是否一致,具体而言,适用场景,

  • 检验某一连续变量的分布是否与某种理论分布相一致,如是否符合正态分布、均匀分布等;
  • 检验某一分类变量各类的出现概率是否等于指定概率;
  • 检验某两个分类变量是否相互独立,如吸烟(二分类变量:是、否)是否与呼吸道疾病(二分类变量:是、否)有关,SNP位点是否与疾病有关;

举例

欲比较居室朝向与患病关系,现有资料归纳如下行x列检验。

检查结果/居室朝向 西南 东南 西北 合计
患病 180 14 120 65 379
健康 200 16 84 33 333
合计 380 30 204 98 712
患病率(%) 47.4 46.7 58.8 66.3 53.2

检验步骤:

  1. 检验假设,H0:四类朝向与居民患病率相同。H1:四类朝向与居民患病率不同。 α=0.05
  2. 计算x2值
  3. 确定P值和分析

本题χ2值为15.08,自由度v=(2-1)(4-1)=3,据此查表χ20.01(3)=11.34,本题x2=15.08,χ2>χ20.01(3),P<0.01,按α=0.05水准,拒绝H0,可以认为朝向不同的居民,患病率有差异。

python实现

scipy.stats.chisquare()
scipy.stats.chi2.cdf()

参考:
χ2检验(chi-square test)或称卡方检验

分享