Title: | Symmetrized Data Aggregation |
Version: | 1.0.0 |
Author: | Lilun Du [aut, cre], Xu Guo [ctb], Wenguang Sun [ctb], Changliang Zou [ctb] |
Maintainer: | Lilun Du <dulilun@ust.hk> |
Description: | We develop a new class of distribution free multiple testing rules for false discovery rate (FDR) control under general dependence. A key element in our proposal is a symmetrized data aggregation (SDA) approach to incorporating the dependence structure via sample splitting, data screening and information pooling. The proposed SDA filter first constructs a sequence of ranking statistics that fulfill global symmetry properties, and then chooses a data driven threshold along the ranking to control the FDR. For more information, see the website below and the accompanying paper: Du et al. (2020), "False Discovery Rate Control Under General Dependence By Symmetrized Data Aggregation", <doi:10.48550/arXiv.2002.11992>. |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
Encoding: | UTF-8 |
LazyData: | true |
RoxygenNote: | 7.0.2 |
Imports: | glmnet, glasso, huge, POET, stats |
Suggests: | testthat (≥ 2.1.0) |
Repository: | CRAN |
NeedsCompilation: | no |
Packaged: | 2020-03-12 03:55:33 UTC; dulilun |
Date/Publication: | 2020-03-19 13:30:05 UTC |
Symmetrized Data Aggregation
Description
This is the core function for the paper posted in arXiv preprint arXiv:2002.11992
Usage
SDA_M(dat, alpha, Omega, nonsparse = FALSE, stable = TRUE)
Arguments
dat |
a n by p data matrix |
alpha |
the FDR level |
Omega |
the inverse covariance matrix; if missing, it will be estimated by the glasso package |
nonsparse |
if TRUE, the covariance matrix will be estimated by the POET package |
stable |
if TRUE, the sample will be randomly splitted B=10 times for stability performance; otherwise, only single sample splitting is used. |
Value
the indices of the hypotheses rejected
Examples
n = 50
p = 100
dat = matrix(rnorm(n*p), nrow=n)
mu = rep(0, p)
mu[1:as.integer(0.1*p)]=0.3
dat = dat+rep(1, n)%*%t(mu)
alpha = 0.2
out = SDA_M(dat, alpha, diag(p))
print(out)