Contents:

      Intro

      Code





Intro


This website accompanies the paper:
  • Multiple testing with the structure adaptive Benjamini-Hochberg algorithm.
    Ang Li and Rina Foygel Barber. arXiv:1606.07926

This paper proposes a general framework for multiple testing with data-adaptive weights. We are given a list of p-values P1, ..., Pn to test for potential discoveries, and the natural structure of this multiple testing problem leads us to believe that there is some structure within the pattern of signals and nulls among this list: for example, signals may be more likely to appear early in the list, or to appear in clusters. SABHA incorporates this information into a reweighted Benjamini-Hochberg procedure where the weights themselves are data-adaptive, while controlling the false discovery rate. For more information, see the paper.

Here we give code in R to reproduce the empirical results and plots in the paper.





Code


Implementation:
  • Functions for computing data-adaptive weights: All_q_est_functions.R
  • Script to reproduce the simulated data experiment (with low total variation structure on a 2D grid): simulation_2dTV.R
    (In the first draft of the paper, the experiment was on a 1D chain graph: simulation_1dTV.R)
  • Script to reproduce the gene/drug response real data experiment (with ordered structure): gene_drug_data_example.R
  • Script to reproduce the fMRI real data experiment (with grouped structure): fMRI_data_example.R