View source: R/proximal_gradient_descent.R
proximal_gradient_descent | R Documentation |
This function runs a proximal gradient descent algorithm with backtracking similar to that presented by Wang et al. (2014).
proximal_gradient_descent(
para,
y1,
y2,
delta1,
delta2,
Xmat1 = matrix(nrow(length(y1)), ncol = 0),
Xmat2 = matrix(nrow(length(y1)), ncol = 0),
Xmat3 = matrix(nrow(length(y1)), ncol = 0),
hazard,
frailty,
model,
basis1 = NULL,
basis2 = NULL,
basis3 = NULL,
basis3_y1 = NULL,
dbasis1 = NULL,
dbasis2 = NULL,
dbasis3 = NULL,
penalty,
lambda,
a,
penalty_fusedcoef,
lambda_fusedcoef,
penalty_fusedbaseline,
lambda_fusedbaseline,
penweights_list,
mu_smooth_fused,
step_size_init = 1,
step_size_min = 1e-06,
step_size_max = 1e+06,
step_size_scale = 1/2,
ball_L2 = Inf,
maxit = 300,
select_tol = 1e-04,
conv_crit = "nll_pen_change",
conv_tol = if (lambda > 0) lambda/4 else 1e-06,
verbose
)
para |
A numeric vector of parameters, arranged as follows:
the first |
y1 , y2 |
Numeric vectors of length |
delta1 , delta2 |
Numeric vectors of length |
Xmat1 , Xmat2 , Xmat3 |
Numeric matrices with |
hazard |
String specifying the form of the baseline hazard. |
frailty |
Boolean indicating whether a gamma distributed subject-specific frailty should be included. Currently this must be set to TRUE. |
model |
String specifying the transition assumption |
basis1 , basis2 , basis3 , basis3_y1 |
Numeric matrices with |
dbasis1 , dbasis2 , dbasis3 |
Numeric matrices with |
penalty |
A string value indicating the form of parameterwise penalty to apply. "lasso", "scad", and "mcp" are the options. |
lambda |
The strength of the parameterwise penalty. Either a single non-negative numeric value for all three transitions, or a length 3 vector with elements corresponding to the three transitions. |
a |
For two-parameter penalty functions (e.g., scad and mcp), the second parameter. |
penalty_fusedcoef |
A string value indicating the form of the fusion penalty to apply to the regression parameters. "none" and "fusedlasso" are the options. |
lambda_fusedcoef |
The strength of the fusion penalty on the regression parameters. Either a single non-negative numeric value for all three transitions, or a length 3 vector with elements corresponding to the three transitions. |
penalty_fusedbaseline |
A string value indicating the form of the fusion penalty to apply to the baseline hazard parameters. "none" and "fusedlasso" are the options. |
lambda_fusedbaseline |
The strength of the fusion penalty on the regression parameters. Either a single non-negative numeric value for all three transitions, or a length 3 vector with elements corresponding to the three transitions. |
penweights_list |
A list of numeric vectors representing weights for each penalty term (e.g., for adaptive lasso.) Elements of the list should be indexed by the names "coef1", "coef2", "coef3", "fusedcoef12", "fusedcoef13", "fusedcoef23", "fusedbaseline12", "fusedbaseline13", and "fusedbaseline23" |
mu_smooth_fused |
A non-negative numeric value for the Nesterov smoothing parameter applied to the fusion penalty. |
step_size_init |
Positive numeric value for the initial step size. |
step_size_min |
Positive numeric value for the minimum allowable step size to allow during backtracking. |
step_size_max |
Positive numeric value for the maximum allowable step size to allow by size increase at each iteration. |
step_size_scale |
Positive numeric value for the multiplicative change in step size at each step of backtracking. |
ball_L2 |
Positive numeric value for |
maxit |
Positive integer maximum number of iterations. |
select_tol |
Positive numeric value for thresholding estimates to be equal to zero. |
conv_crit |
String (possibly vector) giving the convergence criterion. |
conv_tol |
Positive numeric value giving the convergence tolerance for the chosen criterion. |
verbose |
Numeric indicating the amount of iteration information should be printed to the user. Higher numbers provide more detailed information to user, but will slow down the algorithm. |
A list.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.