I was recently reading Efron's Simultaneous Inference paper (2008), in which he points out that FDR analysis is robust to splitting the tests into multiple mutually exclusive families of test, performing the analysis on these subsets, and then combining the results (see Sec 5. Are separate analyses legitimate).
This led me to wonder the following: if I have $p$ tests, why not run FDR analysis on each hypothesis individually, and combine the results?
We know that procedures like Benjamini-Hochberg serve to control the FDR. However, it seems that it is overly-conservative, in that the empirical FDR is typically much lower than the control FDR.
Consider the following simple example:
ni = 100
nj = 10000
fdr = vapply(1:ni, function(i) {
X = matrix(rnorm(ni * nj), ncol = nj)
pvalues = apply(X, MARGIN = 2, function(x)
t.test(x[1:50],x[51:100])$p.value)
qvalues = p.adjust(pvalues, method = 'BH')
pfdr = length(which(pvalues < 0.05)) / nj
qfdr = length(which(qvalues < 0.05)) / nj
return(c(pfdr,qfdr))
}, numeric(2))
On the left, we see (i) the FDR for 100 replicates where we control FDR on each hypothesis separately; on the right we see (ii) the group control for 100 replicates.
So method (i) closely matches the control rate, while method (ii) (Benjamini-Hochberg) is extremely conservative in this sense.
My question is this: Wouldn't the most powerful controlling procedure be the one where the empirical FDR matches the control rate? Why would we choose anything less 'efficient' than this?
Efron, B (2008), 'Simultaneous inference: when should hypothesis testing problems be combined?', AAS 2(1):197-223.