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值,第三个值为自由度,第四个为与原数据数组同维度的对应理论值

你可能感兴趣的:(Python统计分析-卡方校验)