Last updated: 2018-05-12
workflowr checks: (Click a bullet for more information) ✔ R Markdown file: up-to-date
Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.
✔ Environment: empty
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
✔ Seed:
set.seed(12345)
The command set.seed(12345) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
✔ Session information: recorded
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
✔ Repository version: ddf9062
wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: .DS_Store
Ignored: .Rhistory
Ignored: .Rproj.user/
Ignored: analysis/.DS_Store
Ignored: analysis/BH_robustness_cache/
Ignored: analysis/FDR_Null_cache/
Ignored: analysis/FDR_null_betahat_cache/
Ignored: analysis/Rmosek_cache/
Ignored: analysis/StepDown_cache/
Ignored: analysis/alternative2_cache/
Ignored: analysis/alternative_cache/
Ignored: analysis/ash_gd_cache/
Ignored: analysis/average_cor_gtex_2_cache/
Ignored: analysis/average_cor_gtex_cache/
Ignored: analysis/brca_cache/
Ignored: analysis/cash_deconv_cache/
Ignored: analysis/cash_fdr_1_cache/
Ignored: analysis/cash_fdr_2_cache/
Ignored: analysis/cash_fdr_3_cache/
Ignored: analysis/cash_fdr_4_cache/
Ignored: analysis/cash_fdr_5_cache/
Ignored: analysis/cash_fdr_6_cache/
Ignored: analysis/cash_plots_cache/
Ignored: analysis/cash_sim_1_cache/
Ignored: analysis/cash_sim_2_cache/
Ignored: analysis/cash_sim_3_cache/
Ignored: analysis/cash_sim_4_cache/
Ignored: analysis/cash_sim_5_cache/
Ignored: analysis/cash_sim_6_cache/
Ignored: analysis/cash_sim_7_cache/
Ignored: analysis/correlated_z_2_cache/
Ignored: analysis/correlated_z_3_cache/
Ignored: analysis/correlated_z_cache/
Ignored: analysis/create_null_cache/
Ignored: analysis/cutoff_null_cache/
Ignored: analysis/design_matrix_2_cache/
Ignored: analysis/design_matrix_cache/
Ignored: analysis/diagnostic_ash_cache/
Ignored: analysis/diagnostic_correlated_z_2_cache/
Ignored: analysis/diagnostic_correlated_z_3_cache/
Ignored: analysis/diagnostic_correlated_z_cache/
Ignored: analysis/diagnostic_plot_2_cache/
Ignored: analysis/diagnostic_plot_cache/
Ignored: analysis/efron_leukemia_cache/
Ignored: analysis/fitting_normal_cache/
Ignored: analysis/gaussian_derivatives_2_cache/
Ignored: analysis/gaussian_derivatives_3_cache/
Ignored: analysis/gaussian_derivatives_4_cache/
Ignored: analysis/gaussian_derivatives_5_cache/
Ignored: analysis/gaussian_derivatives_cache/
Ignored: analysis/gd-ash_cache/
Ignored: analysis/gd_delta_cache/
Ignored: analysis/gd_lik_2_cache/
Ignored: analysis/gd_lik_cache/
Ignored: analysis/gd_w_cache/
Ignored: analysis/knockoff_10_cache/
Ignored: analysis/knockoff_2_cache/
Ignored: analysis/knockoff_3_cache/
Ignored: analysis/knockoff_4_cache/
Ignored: analysis/knockoff_5_cache/
Ignored: analysis/knockoff_6_cache/
Ignored: analysis/knockoff_7_cache/
Ignored: analysis/knockoff_8_cache/
Ignored: analysis/knockoff_9_cache/
Ignored: analysis/knockoff_cache/
Ignored: analysis/knockoff_var_cache/
Ignored: analysis/marginal_z_alternative_cache/
Ignored: analysis/marginal_z_cache/
Ignored: analysis/mosek_reg_2_cache/
Ignored: analysis/mosek_reg_4_cache/
Ignored: analysis/mosek_reg_5_cache/
Ignored: analysis/mosek_reg_6_cache/
Ignored: analysis/mosek_reg_cache/
Ignored: analysis/pihat0_null_cache/
Ignored: analysis/plot_diagnostic_cache/
Ignored: analysis/poster_obayes17_cache/
Ignored: analysis/real_data_simulation_2_cache/
Ignored: analysis/real_data_simulation_3_cache/
Ignored: analysis/real_data_simulation_4_cache/
Ignored: analysis/real_data_simulation_5_cache/
Ignored: analysis/real_data_simulation_cache/
Ignored: analysis/rmosek_primal_dual_2_cache/
Ignored: analysis/rmosek_primal_dual_cache/
Ignored: analysis/seqgendiff_cache/
Ignored: analysis/simulated_correlated_null_2_cache/
Ignored: analysis/simulated_correlated_null_3_cache/
Ignored: analysis/simulated_correlated_null_cache/
Ignored: analysis/simulation_real_se_2_cache/
Ignored: analysis/simulation_real_se_cache/
Ignored: analysis/smemo_2_cache/
Ignored: data/LSI/
Ignored: docs/.DS_Store
Ignored: docs/figure/.DS_Store
Ignored: output/fig/
Unstaged changes:
Deleted: analysis/cash_plots_fdp.Rmd
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
| File | Version | Author | Date | Message |
|---|---|---|---|---|
| rmd | cc0ab83 | Lei Sun | 2018-05-11 | update |
| html | 4b179a9 | LSun | 2018-04-05 | Build site. |
| rmd | 20ea328 | LSun | 2018-04-05 | wflow_publish(c(“analysis/knockoff_7.rmd”, “analysis/knockoff_8.rmd”, |
| html | cb9d445 | LSun | 2018-03-11 | Build site. |
| rmd | 2c9cf26 | Lei Sun | 2018-03-11 | obser |
| html | d3d259c | LSun | 2018-03-10 | Build site. |
| rmd | b1215be | LSun | 2018-03-10 | wflow_publish(“analysis/knockoff_8.rmd”) |
| rmd | 4c3a79f | Lei Sun | 2018-03-05 | Sign |
| rmd | 459d383 | LSun | 2018-03-05 | W.sign |
| rmd | eb23c68 | Lei Sun | 2018-03-04 | rerun |
| rmd | af8b170 | Lei Sun | 2018-03-03 | model x sim |
| html | 480666b | LSun | 2018-03-03 | Build site. |
| rmd | 036e9db | LSun | 2018-03-03 | wflow_publish(“analysis/knockoff_8.rmd”) |
| rmd | 7ad921c | Lei Sun | 2018-03-02 | simu |
| html | 7b67910 | LSun | 2018-03-02 | Build site. |
| rmd | 5e91918 | LSun | 2018-03-02 | wflow_publish(“analysis/knockoff_8.rmd”) |
| rmd | 9d66e72 | Lei Sun | 2018-03-01 | correlations |
| html | 9d66e72 | Lei Sun | 2018-03-01 | correlations |
The idea in Knockoff is to generate knockoff variables \(\tilde X\) which 1) keep the relationship of original variables \(X\) 2) are unlike the original variables 3) are null.
\[ \begin{array}{c} \tilde X_i^T\tilde X_i = X_i^TX_i \\ \tilde X_i^T\tilde X_j = X_i^T \tilde X_j = \tilde X_i^T X_j = X_i^TX_j \\ \left|\tilde X_i^T X_i\right|: \text{as small as possible} \end{array} \]
The first two constraints are to control the Type I error, whereas the third is to increase power. Furthermore, there are two methods to make \(\left|\tilde X_i^T X_i\right|\) as small as possible.
\[ \begin{array}{c} Var(X_i) = Var(\tilde X_i) \\ cor(\tilde X_i, \tilde X_j) = cor(X_i, \tilde X_j) = cor(\tilde X_i, X_j) = cor(X_i, X_j) \\ \left|cor(\tilde X_i, X_i)\right|: \text{as small as possible} \end{array} \]
Similarly, the first two constraints are to control the Type I error, whereas the third is to increase power. Furthermore, there are three methods to make \(\left|cor(\tilde X_i, X_i)\right|\) as small as possible.
After centering \(X_j\)’s, the constraints on the Fix-\(X\) design can be seen as the constraints on the sample correlation structure, whereas those on the Model-\(X\) design as on the population correlation structure. It’s no wonder the Model-\(X\) design is believed to be more relaxed, and hence, more powerful.
n <- 3000
p <- 1000
k <- 50
m <- 100
q <- 0.1
\[ X_{ij} \overset{iid}{\sim} N\left(0, \left(\frac{1}{\sqrt n}\right)^2\right) \]

| Version | Author | Date |
|---|---|---|
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |


| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |

\[ \begin{array}{c} X_{ij} \sim N\left(0, \left(\frac{1}{\sqrt n}\right)^2\right) \\ cor(X_{ij}, X_{ij'}) \equiv \rho \end{array} \]

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |
| 7b67910 | LSun | 2018-03-02 |


| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

\[ \begin{array}{c} X_{ij} \sim N\left(0, \left(\frac{1}{\sqrt n}\right)^2\right) \\ cor(X_{i1}, X_{i2}) = cor(X_{i3}, X_{i4}) = \cdots = cor(X_{i(p-1)}, X_{ip}) = \rho = 0.99 \end{array} \]

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
| 480666b | LSun | 2018-03-03 |

\[ \begin{array}{c} \text{each row }X_{i}^T \sim N\left(0, \frac{1}n\Sigma_{p}\right) \\ \Sigma_p = \texttt{cov2cor}(B_{p \times d}B_{d\times p}^T + I)\\ B_{ij} \overset{iid}{\sim} N(0, 1) \end{array} \]

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
\[ \begin{array}{c} \text{each row }X_{i}^T \sim N\left(0, \frac{1}n\Sigma_{p}\right) \\ \Sigma_p = \texttt{cov2cor}(\left(B_{p \times d}B_{d\times p}^T + I\right)^{-1})\\ B_{ij} \overset{iid}{\sim} N(0, 1) \end{array} \]

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |

| Version | Author | Date |
|---|---|---|
| d3d259c | LSun | 2018-03-10 |
Model-\(X\) knockoff indeed increases power substantially.
Reason 1: it builds better knockoffs as they are less similar to originals, since Model-\(X\) is about population correlation not sample correlation.
Reason 2: Model-\(X\) unleashes a large swarm of complicated test statistics which are not applicable for Fixed-\(X\).
However, for that particular case when we have \[\Sigma_\hat\beta\] as a factor model, Model-\(X\) knockoffs are still not good.
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.4
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] parallel stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] lattice_0.20-35 doMC_1.3.5 iterators_1.0.9 foreach_1.4.4
[5] ggplot2_2.2.1 reshape2_1.4.3 Matrix_1.2-12 knockoff_0.3.0
loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 compiler_3.4.3 pillar_1.0.1
[4] git2r_0.21.0 plyr_1.8.4 workflowr_1.0.1
[7] R.methodsS3_1.7.1 R.utils_2.6.0 tools_3.4.3
[10] digest_0.6.15 evaluate_0.10.1 tibble_1.4.1
[13] gtable_0.2.0 rlang_0.1.6 yaml_2.1.18
[16] stringr_1.3.0 knitr_1.20 rprojroot_1.3-2
[19] grid_3.4.3 rmarkdown_1.9 magrittr_1.5
[22] whisker_0.3-2 backports_1.1.2 scales_0.5.0
[25] codetools_0.2-15 htmltools_0.3.6 colorspace_1.3-2
[28] labeling_0.3 stringi_1.1.6 lazyeval_0.2.1
[31] munsell_0.4.3 R.oo_1.21.0
This reproducible R Markdown analysis was created with workflowr 1.0.1