Benjamini-Hochberg 法

False discovery rate (FDR) は、棄却した帰無仮説の中に含まれる正しい帰無仮説の割合の期待値を表している。例えば、FDR = 0.1 のもとで 100 個の帰無仮説に対して検定を行って、20 個の仮説を棄却したとする。このとき、この棄却された 20 個の仮説のうち、間違って棄却されたと思われる仮説が 20 × 0.1 = 2 個未満である。このように、FDR を制御することによって補正を方法には、様々に提唱されている。最初に提唱されているのは、Benjamini と Hochberg による補正方法である。この方法は次のような手順で、補正を行う。

  1. FDR を決める。ここでは α とする。
  2. m 個の帰無仮説それぞれに対して検定を行い、p 値を計算する。
  3. m 個の p 値を昇順に並べて p1 ≤ p2 ≤ ... ≤ pm とする。ここで、帰無仮説 i に対応する p 値を pi とする。
  4. j = m とおく。
  5. \( p_{j} \le \frac{\alpha j}{m} \) ならば、次に進む。そうでなければ、j = j - 1 として、この手順を繰り返す。ただし、j = 1 となったとき、どの帰無仮説も棄却せずに、終了する。
  6. 帰無仮説 1、帰無仮説 2、・・・、帰無仮説 j を棄却して、終了する。

R による q-value の計算

R の p.adjust 関数を使って、Benjamini-Hochberg 法による補正を行うことができる。この関数を使用すると、p 値から q 値が計算される。仮説の棄却は、q < α を満たす仮説を棄却する。

p.values <- runif(100)
q.values <- p.adjust(p.values, method = "BH")

is.significant <- (q.values < 0.1)

References

  • Benjamini Y and Hochberg Y. Controlling the false discovery rate: a practical and powerful approach to multiple testing. J. Roy. Statist. Soc. Ser. 1995, B57:289-300. JSTOR