📜  python fdr 更正 - Python (1)

📅  最后修改于: 2023-12-03 14:45:57.905000             🧑  作者: Mango

Python FDR (False Discovery Rate) Correction

在科学研究中,我们经常需要进行多重比较,如检验多个假设,确定关键变量,等等。然而,多重比较会增加出现假阳性(Type I 错误)的风险。FDR (False Discovery Rate) 更正方法就是为了解决这个问题而出现的。

什么是 FDR?

FDR (False Discovery Rate) 是指在进行多重比较时,被错误拒绝的假设占总假设数量的比例。FDR 更正方法是一种通过控制错误发现率的方法,它可以帮助我们在多重比较中找到真正的关键变量。

如何进行 FDR 更正?

在 Python 中,可以使用 Statsmodels 库的 fdr_correction 函数来进行 FDR 更正。该函数接受一组 p 值和一个 alpha 值,并返回 FDR 更正过的 p 值和拒绝原假设的布尔值。

from statsmodels.stats.multitest import fdrcorrection

pvalues = [0.01, 0.05, 0.10, 0.20, 0.50]
rejects, fdr_pvalues = fdrcorrection(pvalues, alpha=0.05)

代码解释:

  • pvalues:一组 p 值;
  • alpha:显著性水平,通常为 0.05;
  • rejects:拒绝原假设的布尔值,如果为 True,则表示拒绝原假设;
  • fdr_pvalues:FDR 更正后的 p 值。

返回值为:

[True, False, False, False, False], [0.025, 0.05, 0.1, 0.2, 0.5]

表示拒绝了第一个假设,没拒绝其它假设。FDR 更正后的 p 值为 [0.025, 0.05, 0.1, 0.2, 0.5]。

结语

通过 FDR 更正方法,我们可以减少多重比较中出现假阳性的风险,从而找到真正的关键变量。在 Python 中,可以使用 Statsmodels 库的 fdr_correction 函数来进行 FDR 更正。