Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library(BMIselect)
seed = 12345
set.seed(seed)
## ----sim_b--------------------------------------------------------------------
# Simulate data
data <- sim_A(
n = 100,
p = 20,
type = "MAR",
seed = seed,
n_imp = 5
)
str(data, max.level = 1)
## ----mi-----------------------------------------------------------------------
str(data$data_MI)
## ----Horseshoe----------------------------------------------------------------
bmilasso <- BMI_LASSO(data$data_MI$X, data$data_MI$Y, model = "Horseshoe",
nburn = 4000, npost = 4000, output_verbose = TRUE, seed = seed)
str(bmilasso, max.level = 1)
## -----------------------------------------------------------------------------
# selection vector of optimal (sub)model
bmilasso$best_select
# posterior draws of coefficients, intercept and regression variance for the optimal (sub)model
str(bmilasso$posterior_best_models)
# the summary table of post-selection inference
bmilasso$summary_table_selected
## -----------------------------------------------------------------------------
# selection matrix of all (sub)models
bmilasso$select
# BICs and degrees of freedom
bmilasso$bic_models
## -----------------------------------------------------------------------------
# posterior draws of parameters of fitted full model in the first stage (before projection predictive variable selection procedure)
str(bmilasso$posterior)
# the summary table of coefficients, intercept, and regression variance from the fitted full model
bmilasso$summary_table_full
## -----------------------------------------------------------------------------
# specify hyperparameters for Multi-Laplace model
bmilasso_ML <- BMI_LASSO(data$data_MI$X, data$data_MI$Y, model = "Multi_Laplace",
nburn = 4000, npost = 4000, seed = seed, h = 10, v = 0.5)
# specify hyperparameters for Spike-Laplace model. To save time, we give an example without running
# bmilasso_SL <- BMI_LASSO(data$data_MI$X, data$data_MI$Y, model = "Spike_Laplace",
# nburn = 4000, npost = 4000, seed = seed, a = 10, b = 1)
## -----------------------------------------------------------------------------
# run 2 chains using 2 cores in parallel
start = Sys.time()
bmilasso_parallel <- BMI_LASSO(data$data_MI$X, data$data_MI$Y, model = "Horseshoe",
nburn = 4000, npost = 4000, output_verbose = FALSE, nchains = 2, ncores = 2, seed = seed)
end = Sys.time()
print(paste("The running time for two chains in parallel:", difftime(end, start, units = "mins"), "mins"))
## -----------------------------------------------------------------------------
# the posterior draws of optimal submodels of two chains
str(bmilasso_parallel$posterior_best_models)
# summary table by pooling two chains
bmilasso_parallel$summary_table_selected
## -----------------------------------------------------------------------------
# fit MI-LASSO
milasso = MI_LASSO(data$data_MI$X, data$data_MI$Y, ncores = 2)
str(milasso)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.