P<0.05就够了?还要校正!校正!3个方法献上

P<0.05就够了?还要校正!校正!3个方法献上

P<0.05就够了?还要校正!校正!3个方法献上 (2017-01-03 17:55:12)

  分类: 数理统计
(转  医生科研助手 解螺旋 微信公众号)
 
当有多组数据要比较时,不管是ANOVA,还是非参的Kruskal-Wallis检验等等,都只能看出整体的几组之间有没有差异。要是有,那么差异在哪里呢?还要做个两两比较才知道。OK,两两比较又要怎么做?有的小伙伴自然而然地会想到,每两组之间做一个T检验不就好了。To naive!这是个吃力不讨好的活,用这样的方式打开T检验会增加I型错误的风险。
 
I型错误,又称拒真错误,因为光看到P<0.05我就以为两组有差别,但这个P值是有bug的,这两组实际上没差别。你问这P值怎么了?!这就遇到了多重检验问题(multiple comparison problem)。
 
1. 什么是多重检验问题?
我们选择P值以0.05为界,来鉴定两组是否有差异,但那是两组!两组!当组数比较多时,这里就有了一个坑,叫族错误率(Family-wise Error Rate, FWER,又称Experiment-wise significant level),即一族(多重)检验做下来,犯I型错误的概率。每个检验中犯I型错误的概率用α表示,也就是显著性水平,就是我们紧盯着的0.05——每个检验里,我们只允许自己有5%的机会犯I型错误。
 
但要是做了k次检验,整个实验出现I型错误的概率就会积累:一个检验犯错误的概率是α,不犯错误的概率就是1-α;于是2个检验都不犯错误的概率就是(1-α)×(1-α),k个检验都不犯错误的概率就是(1-α)^k,最后k个检验会犯错误的概率就是1-(1-α)^k。即:
P<0.05就够了?还要校正!校正!3个方法献上
比如我们的实验有4个组,那么两两比较就要做的次数就是:C(4, 2)=4×3/2×1=6次。把k=6代入公式FWER=1-(1-0.05)^6≈0.26,也就是说,这一溜检验下来,如果每个检验都给5%的机会去犯I型错误,那最后整个实验犯I型错误的概率就积累到了26%!
 
所以为了控制好最后整个实验犯I型错误的概率,就要对每个两两比较的P值做校正,我们不能再纵容自己有5%的概率犯I型错误,这个容忍度要更小。
 
2. 多重检验怎么校正?
事后检验(post-hoc test)就是得知各组间有差异之后,用来寻找具体差异在哪的一系列方法,其中就有一些校正P值的方法。常用的有Bonferroni法和Dunn- Sidák法。
 
2.1 Bonferroni法
这是最常用也是简单粗暴的方法。做了k个比较,那就直接用0.05/k来生成一个新的P值(记作P’)。4组数据做6次两两检验,用则P’=0.05/6≈0.0083。就是说,如果A组和B组比较的P值为0.032>P’,应该认为这两组之间没有统计学差异;B组和C组比较的P值为0.006
 
2.2 Dunn-Sidák法
比Bonferroni精致一些。做了k个两两比较,那么:
P<0.05就够了?还要校正!校正!3个方法献上
咦,是不是和FWER那个有点像?其实就是从它倒推过来的啊~.~4组数据做6次比较,那么P’值应该设在1-(1-0.05)^1/6≈0.0087。
 
所以如果你非要选择T检验(正态、方差齐)或Mann-Whitney U检验(非参)等来做两两比较,那么还要选用以上两种方法之一去校正P值,来判断组间是否有差异。
 
2.3 Fisher最小显著差异法(Fisher LSD)
不过,也并不是所有的事后检验法都要对多重比较做校正,比如Fisher最小显著差异法(Fisher least significant difference test,Fisher LSD)。它可以说是T检验的延伸,不同的是,T检验时用到的标准差只考虑正在比较的两个组,而Fisher LSD要考虑所有样本的标准差,所以它才敢这么任性,比直接用T检验稍微准确一些。但由于不作校正,它又比较宽松。
 
在SPSS里面,“分析→比较均值→单因素方差分析→事后比较”的对话框里就有LSD,它下面赫然便是Bonferroni和Sidak。
P<0.05就够了?还要校正!校正!3个方法献上
如果在这里选择Bonferroni或Sidak,下边的显著性水平填0.05是没问题的,可以用它来做判断。因为此处是用相应的方法校正过的,不信你用T检验比较一下其中2组数据,再跟Bonferroni或Sidak计算结果中相应的2组对比一下就知道了。
 
3. 三种方法如何选择?
显然,前两种方法都相对较保守,因为要求的P值太小太严格,当我判断一个检验结果没有差异的时候,实际上它可能是有差异的,这就是II型错误,又称受伪错误。但像LSD这样任性的,的确比较敏感,更容易发现差异,可是又容易犯I型错误。到底要闹哪样?
 
其实如何选择是没有金标准,看具体实验中,犯哪种错误后果比较严重。当然也得看杂志和审稿人的要求,听说有小伙伴不做校正会被打回来要求做个Bonferroni,这时如果校正过后导致数据解读方向扭转,怕是文章得重写。有一种观点认为,当比较次数在10次(即5组数据)以内时,用Bonferroni比较好比较次数较多时,对I型错误也可以稍稍宽容。
上一篇:Makefile学习(二)[第二版]


下一篇:使用SQL Server作业设置定时任务