美文网首页
Python统计分析-卡方校验

Python统计分析-卡方校验

作者: 5cb608806559 | 来源:发表于2020-11-10 00:03 被阅读0次

    卡方校验

    卡方检验属于非参数检验的范畴,用于统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小。如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时,卡方值就为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统计分析-卡方校验

          本文链接:https://www.haomeiwen.com/subject/iecdbktx.html