Fit a linearly constrained regression model with group lasso regularization.
cglasso(y, Z, Zc = NULL, k, W = rep(1, times = p), intercept = TRUE,
A = kronecker(matrix(1, ncol = p), diag(k)), b = rep(0, times = k),
u = 1, mu_ratio = 1.01,
lam = NULL, nlam = 100,lambda.factor = ifelse(n < p1, 0.05, 0.001),
dfmax = p, pfmax = min(dfmax * 1.5, p), tol = 1e-8,
outer_maxiter = 1e+6, outer_eps = 1e-8,
inner_maxiter = 1e+4, inner_eps = 1e-8)
respones vector with length \(n\).
design matrix of dimension \(n \times p1\).
design matrix for unpenalized variables. Default value is NULL.
the group size in \(Z\). The number of groups is \(p = p1 / k \).
a vector in length p (the total number of groups), or a matrix with dimension p1*p1
.
Default value is rep(1, times = p).
a vector of penalization weights for the groups of coefficients. A zero weight implies no shrinkage.
a diagonal matrix with positive diagonal elements.
Boolean, specifying whether to include an intercept. Default is TRUE.
linear equalities of the form \(A\beta_{p1} = b\), where \(b\) is a vector with length \(k\), and \(A\) is a \(k \times p1\) matrix. Default values: \(b\) is a vector of 0's and
A = kronecker(
matrix(1, ncol = p), diag(k))
.
the inital value of the penalty parameter of the augmented Lagrange method adopted in the outer loop. Default value is 1.
the increasing ratio of the penalty parameter u
. Default value is 1.01.
Inital values for scaled Lagrange multipliers are set as 0's.
If mu_ratio
< 1, the program automatically set
the initial penalty parameter u
as 0
and outer_maxiter
as 1, indicating
that there is no linear constraint.
a user supplied lambda sequence.
If lam
is provided as a scaler and nlam
\(>1\), lam
sequence is created starting from
lam
. To run a single value of lam
, set nlam
\(=1\).
The program will sort user-defined lambda
sequence in decreasing order.
the length of the lam
sequence. Default is 100. No effect if lam
is
provided.
the factor for getting the minimal lambda in lam
sequence,
where min(lam)
= lambda.factor
* max(lam)
.
max(lam)
is the smallest value of lam
for which all penalized group are 0's.
If \(n >= p1\), the default is 0.001
. If \(n < p1\), the default is 0.05
.
limit the maximum number of groups in the model. Useful for handling very large \(p\), if a partial path is desired. Default is \(p\).
limit the maximum number of groups ever to be nonzero. For example once a group enters the model along the path,
no matter how many times it re-enters the model through the path, it will be counted only once.
Default is min(dfmax*1.5, p)
.
tolerance for coefficient to be considered as non-zero. Once the convergence criterion is satisfied, for each element \(\beta_j\) in coefficient vector \(\beta\), \(\beta_j = 0\) if \(\beta_j < tol\).
outer_maxiter
is the maximun number of loops allowed for the augmented Lagrange method;
and outer_eps
is the corresponding convergence tolerance.
inner_maxiter
is the maximum number of loops allowed for blockwise-GMD;
and inner_eps
is the corresponding convergence tolerance.
A list of
a matrix of coefficients.
the sequence of lambda values.
a vector, the number of nonzero groups in estimated coefficients for Z
at each value of lambda.
total number of iteration.
a vector of error flag.