假设检验的基本原理是小概率原理,即我们认为小概率事件不可能在一个实验中实际发生。当在同一研究问题下进行多重假设检验时,就不再符合小概率原理所说的“一次检验”。如果在这个研究问题上只要任何一个测试都是肯定的就得出肯定的结论,那么在这个问题的测试中出现一种错误的概率就会增加。如果同一个问题测试n次,每次的测试水平为α(每次误报的概率为α),n次测试中至少有一次误报的概率会大于α。假设每个测试都是独立的,概率可以增加到
常见的多重比较场景包括:
反映多重比较问题的漫画;
解决方案是避免多次比较或减少比较次数,例如:
有些具体问题有相应的具体方法。例如,在使用方差分析比较组间均值时有一个特殊的成对比较方法,在临床试验中也有一个特殊的α消耗函数来确定每个期中分析中使用的检验水平。这里我们介绍临床研究中更一般情况下多重比较的常用方法。邦费罗尼方法与本雅明I &;Hochberg法(BH法)可以对每次测试的p值进行修正,用修正后的p值和建立的α进行统计推断,保证I类错误的总概率不大于α。(其实原来的方法是调整每次测试的α值,这里介绍的是修正P值的等价方法。)
随它去吧假设第一类的总错误概率为α,比较次数为n..
通过Bonferroni方法获得的校正p值=P×n
Bonferroni方法非常简单,缺点是非常保守(可能是所有方法中最保守的),特别是当n较大时,Bonferroni方法修正的误差总类可能远小于既定的α。
简称BH法。首先将p值从小到大排序,生成序数。
秩k的修正p值=P×n/k
此外,还需要保证校正后每次测试的P值顺序不变。
可以使用r附带的基本包中的p.adjust()进行多个测试的p值校正。
p.adjust(p,method = p.adjust.methods,n =长度(p))
示例:
Round()指定结果输出的小数位数。
输出结果是
根据上面介绍的BH方法,我们可以手工验证校正结果:
0.08,0.06,0.325,0.510
注意,原一级测试结果修正后为0.08,大于二级测试结果的修正P值,因此原一级测试的修正P值调整为0.06。
另外,如果调整后的p值大于1,p.adjust()会将结果调整为1。
更多关于p . adjust():http://web . MIT . edu/people/jha as/MAC data/AFS/SIPB/project/r-project/arch/sun 4x _ 59/lib/r/library/stats/html/p . adjust . html