1
Fisher的精确检验给出了非均匀的p值
我正在尝试在模拟的遗传问题中应用费舍尔的精确检验,但是p值似乎偏向右侧。作为一名生物学家,我想我只是在漏掉每个统计学家显而易见的东西,因此,我将非常感谢您的帮助。 我的设置是这样的:(设置1,边际不固定) 在R中随机生成两个0和1的样本。每个样本n = 500,采样0和1的概率相等。然后,我将每个样本中0/1的比例与Fisher的精确测试进行比较(只是fisher.test;还尝试了具有类似结果的其他软件)。重复采样和测试3万次。产生的p值的分布如下: 所有p值的平均值约为0.55,在0.0577处为第5个百分点。即使分布在右侧看起来也不连续。 我一直在阅读所有内容,但我没有发现任何迹象表明这种行为是正常的-另一方面,这只是模拟数据,因此我看不到任何偏见的来源。我错过了任何调整吗?样本量太小?或者也许它不应该是均匀分布的,并且p值的解释不同? 还是我应该重复一百万次,找到0.05分位数,并在将其应用于实际数据时将其用作显着性临界值? 谢谢! 更新: Michael M建议固定边际值0和1。现在,p值给出了更好的分布-不幸的是,它不是统一的,也不是我认识的任何其他形状: 添加实际的R代码:(设置2,固定的边距) samples=c(rep(1,500),rep(2,500)) alleles=c(rep(0,500),rep(1,500)) p=NULL for(i in 1:30000){ alleles=sample(alleles) p[i]=fisher.test(samples,alleles)$p.value } hist(p,breaks=50,col="grey",xlab="p-values",main="") 最终编辑: 正如胡布在评论中指出的那样,由于分箱,这些区域看上去只是扭曲了。我将附加设置1(免费边距)和设置2(固定边距)的QQ图。在下面的Glen模拟中可以看到类似的图,并且所有这些结果实际上似乎相当统一。谢谢您的帮助!