Python统计分析-卡方校验

卡方校验

卡方检验属于非参数检验的范畴,用于统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小。如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时,卡方值就为0,表明理论值完全符合。

特别注意:

  • 卡方检验仅针对分类变量。
  • 用于计算列联表的观察是独立的。
  • 列联表的每个单元格中至少有25个实例。
  • 检验原假设:观察频数与期望频数无显著差异

用Python实现卡方校验

  • 借助第三方库: scipy
    使用前需安装scipy(Anaconda 已默认安装):
    pip install numpy
    pip install scipy
    
  • 卡方校验的实现需要借助scipy中的chi2_contingency模块
    使用需前导入:
    from scipy.stats import chi2_contingency
    
    Python命令:chi2_contingency(data)

举例:三种药物的治疗数据

image.png

Python代码实现:

import numpy as np
from scipy.stats import chi2_contingency

data = np.array([[38, 49, 25], [150, 98, 57]])
kf = chi2_contingency(data)
print('chisq-statistic=%.4f, p-value=%.4f, df=%i expected_frep=%s'%kf)

输出结果:

chisq-statistic=7.9136, p-value=0.0191, df=2 expected_frep=[[ 50.4940048   39.48201439  22.02398082]
 [137.5059952  107.51798561  59.97601918]]

第一个值为卡方值,第二个值为P值,第三个值为自由度,第四个为与原数据数组同维度的对应理论值

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 常用函数库   scipy包中的stats模块和statsmodels包是python常用的数据分析工具,s...
    xieyan0811阅读 28,407评论 1 10
  •  描述性统计分析 频数表和列联表 相关系数和协方差 t检验 非参数统计 7.1描述性...
    白马少年说阅读 3,329评论 4 3
  • χ2检验主要有三个用途:单样本方差的同质性检验、独立性检验和适合性检验。适合性检验和独立性检验都是应用于离散型资料...
    尘世中一个迷途小书僮阅读 14,186评论 1 14
  • 简介卡方检验是一种用途非常广泛的假设检验方法,在统计推断中使用非常多,可以检测多个分类变量之间的相关性是否显著。 ...
    南朝容止阅读 10,577评论 1 4
  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 4,350评论 0 13