FDR を制御することによって補正を方法には、Benjamini-Hochberg 法 のほかに、Benjamini-Yekutieli 法などが提唱されている。Benjamini-Yekutieli 法では、Benjamini-Hochberg 法とほぼ同じ手順で補正することができる。両者の違いについては、Benjamini-Yekutieli 法の方で、閾値判断のときに、以下のように閾値にウェイト w(検定回数に依存する定数)がかかっている。
- FDR を決める。ここでは α とする。
- m 個の帰無仮説それぞれに対して検定を行い、p 値を計算する。
- m 個の p 値を昇順に並べて p1 ≤ p2 ≤ ... ≤ pm とする。ここで、帰無仮説 i に対応する p 値を pi とする。
- \(w = \sum_{k=1}^{m}\frac{1}{k}\) とおく。
- j = m とおく。
- \( p_{j} \le \frac{\alpha j w}{m} \) ならば、次に進む。そうでなければ、j = j - 1 として、この手順を繰り返す。ただし、j = 1 となったとき、どの帰無仮説も棄却せずに、終了する。
- 帰無仮説 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 = "BY")
is.significant <- (q.values < 0.1)
References
- Controlling the false discovery rate: a practical and powerful approach to multiple testing. J. Roy. Statist. Soc. Ser. 1995, B57:289-300. JSTOR
- The control of the false discovery rate in multiple testing under dependency. Ann. Statist. 2001, 29:1165-88. Project Euclid