Knockoff
on Small SignalsLast updated: 2018-02-08
Code version: 1a2b7bf
In the Knockoff
paper simulations, \(\beta\)’s are either \(0\) or \(A\). Here we are replicating the results, and investigating how well Knockoff
deal with small signals.
In the following simulations, we always have \(n = 3000\), \(p = 1000\), \(X_{n \times p}\) has independent columns simulated from \(N(0, 1)\) and then normalized to have \(\|X_j\|_2^2 \equiv 1\). For a certain \(\beta\), \(Y_n \sim N(X_{n\times p}\beta_p, I_n)\). Out of \(p = 1000\) \(\beta_j\)’s, here are three scenarios.
Knockoff
paper)n <- 3000
p <- 1000
k <- 50
q <- 0.1
A <- 3.5
X <- matrix(rnorm(n * p), n , p)
X <- t(t(X) / sqrt(colSums(X^2)))
Xk <- knockoff::create.fixed(X)
Xk <- Xk$Xk
X <- matrix(rnorm(n * p), n , p)
X <- t(t(X) / sqrt(colSums(X^2)))
Xk <- knockoff::create.fixed(X)
Xk <- Xk$Xk
X <- matrix(rnorm(n * p), n , p)
X <- t(t(X) / sqrt(colSums(X^2)))
Xk <- knockoff::create.fixed(X)
Xk <- Xk$Xk
FDP.BH | FDP.Knockoff | FDP.Knockoff.Plus | Power.BH | Power.Knockoff | Power.Knockoff.Plus | Power.Large.BH | Power.Large.Knockoff | Power.Large.Knockoff.Plus | Power.Small.BH | Power.Small.Knockoff | Power.Small.Knockoff.Plus |
---|---|---|---|---|---|---|---|---|---|---|---|
0.0936 | 0.0677 | 0.0431 | 0.4277 | 0.5400 | 0.4076 | 0.4277 | 0.5400 | 0.4076 | NA | NA | NA |
0.0824 | 0.0477 | 0.0390 | 0.3678 | 0.3523 | 0.3106 | 0.5760 | 0.5849 | 0.5222 | 0.1756 | 0.1538 | 0.1319 |
0.0589 | 0.0350 | 0.0292 | 0.3607 | 0.2416 | 0.2108 | 0.6638 | 0.5659 | 0.5068 | 0.2254 | 0.1309 | 0.1110 |
sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.2
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggplot2_2.2.1 knitr_1.19
loaded via a namespace (and not attached):
[1] Rcpp_0.12.14 magrittr_1.5 munsell_0.4.3 colorspace_1.3-2
[5] rlang_0.1.6 stringr_1.2.0 highr_0.6 plyr_1.8.4
[9] tools_3.4.3 grid_3.4.3 gtable_0.2.0 git2r_0.21.0
[13] htmltools_0.3.6 yaml_2.1.16 lazyeval_0.2.1 rprojroot_1.3-2
[17] digest_0.6.14 tibble_1.4.1 evaluate_0.10.1 rmarkdown_1.8
[21] labeling_0.3 stringi_1.1.6 compiler_3.4.3 pillar_1.0.1
[25] scales_0.5.0 backports_1.1.2
This R Markdown site was created with workflowr