Fisher 精确检验

作者: Thinkando | 来源:发表于2018-11-20 15:32 被阅读4次
    • Fisher精确检验是基于超几何分布计算的,它分为两种,分别是单边检验(等同于超几何检验)和双边检验。
    • 应用于将对象分成两组后的分类数据,以检查两组分类间是否有显著关系。

    举个例子:

    • 我想知道颜值高的人是不是数学成绩也好(数据瞎编的),于是我们随机抽出10个人,5个颜值高,5个颜值低,对应的考试成绩如下表(这个表叫做列联表,英文是contingency table):
    image

    零假设:颜值跟成绩无显著相关性。

    • 为了知道能否拒绝零假设,我们下面做个Fisher精确检验(单边检验)

    第一步:想知道零假设是否成立,就要看这组数据是不是随机偶然一抽就能抽到,因此我们计算零假设成立时,即颜值高与颜值低的人,高分低分的数量相同时,得到这样一组数据的超几何概率

    image.png

    第二步:做完上面这一步还不够。如果行总数与列总数(又叫边际总数)不变,零假设不成立时的极端情况应该是,颜值高的学习都好!那么我们可以得到新的列联表:

    image
    • 这时,可以计算这个表格的超几何概率,
    image.png
    • 那么Fisher精确检验的P value就是两者加和,即


      image.png
    • p值越小,我们越有信心拒绝零假设。如果我们以0.05为显著性水平判断值的话,我们可以认为,颜值高的人,数学学得好。

    python 实现

    import numpy as np
    import matplotlib.pyplot as plt
    import scipy.stats as stats
    
    obs2 = [[9,3], [1,7]]
    aa, bb=stats.fisher_exact(obs2, alternative='greater')
    print(aa,bb)
    
    21.0 0.009883305548940234
    

    参考文献

    https://www.zhihu.com/question/28637406

    相关文章

      网友评论

        本文标题:Fisher 精确检验

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