R 中经过 FDR 校正的 p 值是否保留显着性阈值?

问题描述 投票:0回答:1

运行一段代码后,我有一组未校正的 p 值,该代码输出未校正的 p 值。在科学论文中描述我的结果之前,我必须纠正它们。

我将未校正的p值作为R中的向量读取,然后使用R的多重比较校正方法和FDR作为首选:

p.adjust(unc_pvalues, method="fdr")

校正 R 中未校正的 p 值后,我获得了一个值列表,其中大约有 50 个 <0.0001 and then multiple are in the range 0.1-0.99.

我知道这些都已经经过 FDR 修正(0.05,因为这是 R 中的默认值)。让我困惑的是在哪里设置这些已经校正的 p 值的显着性阈值(我希望这是有道理的)。

我基本上有以下几点:

[48 个值 = 0.0000

然后:

0.0001

0.0005

....

0.6884

0.6967

0.6989

0.7761

0.7761

0.8741

0.8863

0.9305

0.9644

0.9644

0.9884

0.9989]

这些值中哪些具有统计显着性?是不是全部,甚至是那些 <0.05, given that they have already been FDR-corrected? And if I only include those values that are smaller than either .05 or .001, am I double-correcting for false positives?

希望这是有道理的 - 非常感谢大家提前提供的建议!

r regression p-value false-positive
1个回答
0
投票

校正多重性时,您可以通过两种方式执行此操作:通常的计算方式是为每个单独的比较调整 alpha(I 类断言率)。让我们使用 Bonferroni 作为示例,因为计算很简单,尽管这个想法适用于所有多重性校正。

对于 Bonferroni,每个单独测试的 alpha 是全局 alpha 除以测试数量。假设您有 P

0.12 0.06 0.03 0.01
并且想要以 0.05 的全局 alpha 进行测试,您会将每个值与
0.05/4 = 0.0125
进行比较,因此只有最小的一个才会“显着”。

p.adjust
所做的不是改变局部alpha(这可能取决于不太简单方法的所有测试的顺序和值),而是以一种非常具体的方式改变你的P值:对于每个测试,它会返回 global alpha,在该值下该测试可以被声明为显着。

p.adjust(c(.12, .06, .03, .01), method="bonferroni")
#> 0.48 0.24 0.12 0.04

正如之前最后一次测试低于(全局)alpha=0.05 一样,对于下一个最小的,我们看到我们必须接受 alpha=0.12(实际上是

0.12/4 = 0.03
),依此类推。同样,在 Bonferroni 的情况下,这一切都非常简单,但是对于
p.adjust
的任何输出都适用相同的想法:不是更改拒绝测试的(本地)alpha,而是更改其 P 值,以便您可以使用原来的alpha。

您的哪个 P 值很重要,因此仍然取决于您想要使用的 alpha,如果全局范围为 0.05 或 0.10,您会将调整后的 P 值与这些阈值进行比较,并且以下任何内容都很重要。

© www.soinside.com 2019 - 2024. All rights reserved.