agg.pKO: Aggregation by p-value knockoffs

Description Usage Arguments Details Value References Examples

View source: R/agg.types.R

Description

This function only runs the aggregation. Given a list containing B elements with the score vectors of length p, it computes aggregated p-values and applies either BH or BY in the last step.

Usage

1
agg.pKO(W.list, q = 0.2, gamma = 0.3, offset = 1, method = "BH", pvals = FALSE)

Arguments

W.list

list with B elements containing the vectors of scores with length p each.

q

nominal level for the FDR control. Default: 0.2.

offset

either 0 (knockoff) or 1 (knockoff+). Default: 1.

method

the FDR controlling method in the last step. Either "BH" (default) or "BY".

pvals

logical argument if the aggregated p-values should be reported. Default: FALSE.

Details

This function should be used in combination with multi.knockoffs and multi.knockfilter (see example).

Value

A list containing following components:

Shat

aggregated selection set.

B

number of knockoff matrices.

pvals

if specified, vector of aggregated p-values.

References

Benjamini and Hochberg (1995). Controlling the False Discovery Rate: A Practical and Powerful Approach to Multiple Testing. Journal of the Royal Statistical Society. Series B (Methodological) 57(1), 289-300.

Benjamini and Yekutieli (2001). The control of the false discovery rate in multiple testing under dependency. The Annals of Statistics 29(4), 1165-1188.

Meinshausen, Meier and Buehlmann (2009). p-Values for High-Dimensional Regression. Journal of the American Statistical Association 104(488), 1671-1681.

Nguyen, Chevalier, Thirion and Arlot (2020). Aggregation of Multiple Knockoffs. Proceedings of the 37th International Conference on Machine Learning. https://arxiv.org/abs/2002.09269

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
n <- 400; p <- 200; s_0 <- 30
amplitude <- 1; mu <- rep(0,p); rho <- 0.25
Sigma <- toeplitz(rho^(0:(p-1)))

X <- MASS::mvrnorm(n, mu, Sigma)
nonzero <- sample(p, s_0)
beta <- amplitude * (1:p %in% nonzero)
y <- X %*% beta + rnorm(n)

# Construction of K knockoff matrices
equi.knock <- function(X) create.second_order(X, method = "equi")
Xk <- multi.knockoffs(X, K = 20, knockoffs = equi.knock)

#Multiple knockoff filter
multi.res <- multi.knockfilter(X, Xk, y)

pKO.res <- agg.pKO(multi.res$W.list)
pKO.res

cKarypidis/multiknockoffs documentation built on Dec. 19, 2021, 12:53 p.m.