Fisher精确检验

检验两个二进制变量是否是独立的。该检验可以分析 2x2 列联表,并产生精确的 p 值,以检验以下假设:

·     H0:行变量和列变量是独立的

·     H1:行变量和列变量是相关的

Fisher 精确检验中的 p 值对于所有样本数量都是准确的,而当单元格计数较小时,用于检查相同假设的卡方检验的结果可能不准确。

例如,可以使用 Fisher 精确检验来分析下面的竞选结果列联表,以确定投票是否独立于投票人的性别。


对于该表,Fisher 精确检验产生的 p 值为 0.263。由于该 p 值大于常用的 a 水平,因此数据与原假设一致。因而,没有证据表明在竞选中投票人的性别会影响其选择。

您还可以使用 Fisher 精确检验来确定两个总体比率是否相等。对于此应用,原假设假定两个总体比率是相等的 (H0:p1 = p2);备择假设可以是左尾 (p1 < p2)、右尾 (p1 > p2),或双尾 (p1 ≠ p2)。Fisher 精确检验作为两个比率的检验十分有用,因为它对于所有样本数量都是准确的,而当事件数小于 5 时,以及试验数减去事件数的结果小于 5 时,基于正态近似的 2 个比率的检验可能不准确。

Fisher 精确检验基于超几何分布。因此,p 值在表的边际合计中是有条件的。


举个栗子:

表10.9  死亡原因与高盐摄入量之间可能有关的数据
饮食类型
                                        -----------------------------                         
死亡原因     高盐                      低盐
非CVD        2                           23
CVD           7                           53
===================================================
a=2; b=23; c=7; d=53
问:死亡原因是否与饮食类型有联系?
四格表中2有期望数小于5,故不适合用卡方检验,因此我们用Fisher精确检验

Fisher精确检验的一般方法及p-值计算
要件验假设H0:p1=p2 对 H1:p1!=p2,此四格表应至少有一个格子的期望数<5。检验法为:
(1)计算所有可能的与观察表有相同边界的四个表;
(2)计算步骤(1)中的每个表的精确概率;
(3)设原观察表是a,而最后的计数表是k,则
     (a)要检验假设H0:p1=p2 对 H1:p1!=p2, 则
            p-值=2*min[Pr(0) + Pr(1) + ... + Pr(a), Pr(a) + Pr(a+1) + ... + Pr(k), 0.5]
     (b)要检验假设H0:p1=p2 对 H1:p1<p2, 则
            p-值=Pr(0) + Pr(1) + ... + Pr(a)
     (c)要检验假设H0:p1=p2 对 H1:p1>p2, 则
对于上述的每一个备择假设, 该p-值都可以解析为出现比末端观察表更末端的观察表的概率。

左边单侧检验p-值:
       P_left_tail=Pr(0) + Pr(1) + Pr(2)
右边单侧检验p-值:
       P_right_tail=Pr(2) + Pr(3) + ...+ Pr(7)
(注:该例子来自【美】伯纳德.罗斯纳 著  孙尚拱 译  《生物统计学基础》第五版) P355.
软件计算:
N1=a+b
N2=c+d
M1=a+c
M2=b+d
N=a+b+c+d
>>>from scipy import stats
>>>P_left_tail=stats.hypergeom.cdf(a, N, N1, M1)
>>>P_right_tail=stats.hypergeom.cdf(k, N, N1, M1) - stats.hypergeom.cdf(a-1, N, N1, M1)

a*为观察表中b,c,d有一个为0时第一个格子的观测值。

P_left_tail=0.375
P_right_tail=0.878
双侧P-值:
P=2*min[P_left_tail, P_right_tail, 0.05]=0.749
这说明高盐摄入量与死亡原因之间没有什么显著联系。

统计软件SAS[1]和R语言计算双侧检验的P-值如下:
P-值=所有出现概率小于等于观察表的概率之和。



  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值