Tag Info

An expected fraction of rejected null hypotheses that are falsely rejected, i.e. the fraction of significant findings that are actually not true. One method to control FDR in multiple testing is Benjamini-Hochberg procedure.

False Discovery Rate (abbreviated as FDR) is an expected fraction of rejected null hypotheses that are falsely rejected, i.e. the fraction of "significant" findings that are actually not true. These are called "false discoveries". Given $V$ false discoveries and $R$ total rejected hypotheses, FDR can more formally be defined as

$$FDR = E[\frac{V}{R}]$$

Controlling the false discovery rate has become a popular method for dealing with the multiple comparisons problem, and has seen wide acceptance in a variety of fields.

Benjamini and Hochberg were the first to introduce this method in 1995 [1]. Their method works as follows:

For a given $\alpha$, find the largest $k$ such that $P_k \leq \frac{k}{m}\alpha$ and subsequently reject all hypothesis $H_i$ for $i = 1 ... k$.

It was later shown by Benjamini and Yekutieli that the above mentioned method is robust to several dependency conditions, and specifically to a subset known as positive regression dependency. They also extended the method to include different kinds of dependency [2].

There have been several modifications and extensions to the FDR method proposed by Benjamini and Hochberg, including notably:

1. The $q$-value extension by John D. Storey implemented in the qvalue R package available on Bioconductor and Github [3,4]. See also this web Shiny implementation of the qvalue R package [10].
2. Local false discovery rates, implemented in the R package fdrtools on CRAN [5,6].
3. Stratified FDR (sFDR) as implemented in Lei Sun's Perl script SFDR [7,8].

The original procedure (sometimes known as the BH procedure) is available as a default method in many software packages, and is an option in the p.adjust(p, method = "BH") function in R. The extended work of Benjamini, Hochberg, and Yekutieli is available through p.adjust(p, method = "BY") [9].