View source: R/RSAVS_Path_PureR.R
RSAVS_Path_PureR | R Documentation |
This function is implemented purely in R. It carries out robust subgroup analysis and variable selection simultaneously. And it supports different types of loss functions and penalties.
RSAVS_Path_PureR(
y_vec,
x_mat,
l_type = "L1",
l_param = NULL,
p1_type = "S",
p1_param = c(2, 3.7),
p2_type = "S",
p2_param = c(2, 3.7),
lam1_vec,
lam2_vec,
min_lam1_ratio = 0.03,
min_lam2_ratio = 0.03,
lam1_len,
lam2_len,
const_r123,
const_abc = rep(1, 3),
initial_values,
phi = 1,
tol = 0.001,
max_iter = 10,
cd_max_iter = 1,
cd_tol = 0.001,
subgroup_benchmark = FALSE,
update_mu = NULL
)
y_vec |
numerical vector of response. n = length(y_vec) is the number of observations. |
x_mat |
numerical matrix of covariates. Each row for one observation and
|
l_type |
character string, type of loss function.
Default value is "L1". |
l_param |
numeric vector containing necessary parameters of the corresponding loss function.
The default value is |
p1_type , p2_type |
a character indicating the penalty types for subgroup identification and variable selection.
Default values for both parameters are "S". |
p1_param , p2_param |
numerical vectors providing necessary parameters for the corresponding penalties.
Default values for both parameters are |
lam1_vec , lam2_vec |
numerical vectors of customized lambda vectors.
For |
lam1_len , lam2_len |
integers, lengths of the auto-generated lambda vectors. |
const_r123 |
a length-3 numerical vector, providing the scalars needed in the augmented lagrangian part of the ADMM algorithm |
const_abc |
a length-3 numeric vector, providing the scalars to adjust weight
of regression function, penalty for subgroup identification and penalty for
variable selection in the overall objective function. Defaults to |
phi |
numerical variable. A parameter needed for mBIC. |
tol |
numerical, convergence tolerance for the algorithm. |
max_iter |
integer, max number of iteration during the algorithm. |
cd_max_iter |
integer, max number of iteration during the coordinate descent
update of |
cd_tol |
numerical, convergence tolerance for the coordinate descent part
when updating |
subgroup_benchmark |
bool. Whether this call should be taken as a benchmark of subgroup identification.
If |
update_mu |
list of parameters for updating
Please refer to |
min_lam_ratio |
the ratio between the minimal and maximal lambda, equals to (minimal lambda) / (maximal lambda). The default value is 0.03. |
initial_vec |
list of vector, providing initial values for the algorithm. |
RSAVS_Solver_PureR
, RSAVS_Path
, RSAVS_LargeN
# a toy example
# first we generate data
n <- 200 # number of observations
q <- 5 # number of active covariates
p <- 50 # number of total covariates
k <- 2 # number of subgroups
# k subgroup effect, centered at 0
group_center <- seq(from = 0, to = 2 * (k - 1), by = 2) - (k - 1)
# covariate effect vector
beta_true <- c(rep(1, q), rep(0, p - q))
# subgroup effect vector
alpha_true <- sample(group_center, size = n, replace = TRUE)
x_mat <- matrix(rnorm(n * p), nrow = n, ncol = p) # covariate matrix
err_vec <- rnorm(n, sd = 0.1) # error term
y_vec <- alpha_true + x_mat %*% beta_true + err_vec # response vector
# a simple analysis using default loss and penalties
res <- RSAVS_Path_PureR(y_vec = y_vec, x_mat = x_mat,
lam1_len = 10, lam2_len = 8,
phi = 5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.