Function to fit a solution with q active groups of an RKHS Group Lasso problem.
Function to fit a solution with q active groups of an RKHS Group Lasso problem.
Fits a solution of the group lasso problem based on RKHS, with q active groups in the obtained solution for the Gaussian regression model. It determines μg(q), for which the number of active groups in the solution of the RKHS group lasso problem is equal to q, and returns the RKHS meta model associated with μg(q).
grplasso_q(Y, Kv, q, rat, Num)
Arguments
Y: Vector of response observations of size n.
Kv: List of eigenvalues and eigenvectors of positive definite Gram matrices Kv and their associated group names. It should have the same format as the output of the function calc_Kv (see details).
q: Integer, the number of active groups in the obtained solution.
rat: Positive scalar, used to restrict the minimum value of μg, to be evaluted in the RKHS Group Lasso algorithm, μmin=μmax/rat. The value μmax is calculated inside the program, see function mu_max.
Num: Integer, used to restrict the number of different values of the penalty parameter μg to be evaluated in the RKHS Group Lasso algorithm, until it achieves μg(q): for Num =1 the program is done for 3 values of μg, μ1=(μmin+μmax)/2, μ2=(μmin+μ1)/2 or μ2=(μ1+μmax)/2 depending on the value of q associated with μ1, μ3=μmin.
Details
Input Kv should contain the eigenvalues and eigenvectors of positive definite Gram matrices Kv. It is necessary to set input "correction" in the function calc_Kv equal to "TRUE".
Returns
List of 4 components: "mus", "qs", "mu", "res": - mus: Vector, values of the evaluated penalty parameters μg in the RKHS group lasso algorithm until it achieves μg(q).
qs: Vector, number of active groups associated with each value of μg in mus.
mu: Scalar, value of μg(q).
res: An RKHS Group Lasso object:
intercept: Scalar, estimated value of intercept.
teta: Matrix with vMax rows and n columns. Each row of the matrix is the estimated vector θv for v=1,...,vMax.
fit.v: Matrix with n rows and vMax columns. Each row of the matrix is the estimated value of fv=Kvθv.
fitted: Vector of size n, indicates the estimator of m.
Norm.H: Vector of size vMax, estimated values of the penalty norm.
supp: Vector of active groups.
Nsupp: Vector of the names of the active groups.
SCR: Scalar, equals to ∥Y−f0−∑vKvθv∥2.
crit: Scalar, indicates the value of the penalized criteria.
MaxIter: Integer, number of iterations until convergence is reached.
convergence: TRUE or FALSE. Indicates whether the algorithm has converged or not.
RelDiffCrit: Scalar, value of the first convergence criteria at the last iteration, critlastIter−1critlastIter−critlastIter−1.
RelDiffPar: Scalar, value of the second convergence criteria at the last iteration, ∥θlastIter−1θlastIter−θlastIter−1∥2.
References
Kamari, H., Huet, S. and Taupin, M.-L. (2019) RKHSMetaMod : An R package to estimate the Hoeffding decomposition of an unknown function by solving RKHS Ridge Group Sparse optimization problem. arXiv:1905.13695
Author(s)
Halaleh Kamari
Note
Note.
See Also
calc_Kv, mu_max
Examples
d <-3n <-50library(lhs)X <- maximinLHS(n, d)c <- c(0.2,0.6,0.8)F <-1;for(a in1:d) F <- F*(abs(4*X[,a]-2)+c[a])/(1+c[a])epsilon <- rnorm(n,0,1);sigma <-0.2Y <- F + sigma*epsilon
Dmax <-3kernel <-"matern"Kv <- calc_Kv(X, kernel, Dmax,TRUE,TRUE)result <- grplasso_q(Y,Kv,5,100,Num=10)result$mu
result$res$Nsupp