Now we perform hypothesis tests for all 2,000 fund managers in the Fund dataset. We perform a one-sample t-test of \(H_{0j} : \mu_j = 0\), which states that the \(j\)th fund manager’s mean return is zero.

fund.pvalues <- rep(0, 2000)
for (i in 1:2000)
  fund.pvalues[i] <- t.test(Fund[, i], mu = 0)$p.value

There are far too many managers to consider trying to control the FWER. Instead, we focus on controlling the FDR: that is, the expected fraction of rejected null hypotheses that are actually false positives. The p.adjust() function can be used to carry out the Benjamini-Hochberg procedure.

> q.values.BH <- p.adjust(fund.pvalues, method = "BH")
> q.values.BH[1:10]
 [1] 0.08988921 0.99149100 0.12211561 0.92342997 0.95603587 0.07513802
 [7] 0.07670150 0.07513802 0.07513802 0.07513802

The q-values output by the Benjamini-Hochberg procedure can be interpreted as the smallest FDR threshold at which we would reject a particular null hypothesis. For instance, a q-value of 0.1 indicates that we can reject the corresponding null hypothesis at an FDR of 10% or greater, but that we cannot reject the null hypothesis at an FDR below 10%.

Questions


Assume that: