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 \(\mu_{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 \(\mu_{g}(q)\).
grplasso_q(Y, Kv, q, rat, Num)Vector of response observations of size \(n\).
List of eigenvalues and eigenvectors of positive definite Gram matrices \(K_v\) and their associated group names. It should have the same format as the output of the function calc_Kv (see details).
Integer, the number of active groups in the obtained solution.
Positive scalar, used to restrict the minimum value of \(\mu_g\), to be evaluted in the RKHS Group Lasso algorithm, \(\mu_{min}=\mu_{max}/rat\). The value \(\mu_{max}\) is calculated inside the program, see function mu_max.
Integer, used to restrict the number of different values of the penalty parameter \(\mu_g\) to be evaluated in the RKHS Group Lasso algorithm, until it achieves \(\mu_g(q)\): for Num \(= 1\) the program is done for \(3\) values of \(\mu_g\), \(\mu_{1}=(\mu_{min}+\mu_{max})/2\), \(\mu_{2}=(\mu_{min}+\mu_{1})/2\) or \(\mu_{2}=(\mu_{1}+\mu_{max})/2\) depending on the value of \(q\) associated with \(\mu_{1}\), \(\mu_{3}=\mu_{min}\).
List of \(4\) components: "mus", "qs", "mu", "res":
Vector, values of the evaluated penalty parameters \(\mu_g\) in the RKHS group lasso algorithm until it achieves \(\mu_{g}(q)\).
Vector, number of active groups associated with each value of \(\mu_g\) in mus.
Scalar, value of \(\mu_{g}(q)\).
An RKHS Group Lasso object:
Scalar, estimated value of intercept.
Matrix with vMax rows and \(n\) columns. Each row of the matrix is the estimated vector \(\theta_{v}\) for \(v=1,...,\)vMax.
Matrix with \(n\) rows and vMax columns. Each row of the matrix is the estimated value of \(f_{v}=K_{v}\theta_{v}\).
Vector of size \(n\), indicates the estimator of \(m\).
Vector of size vMax, estimated values of the penalty norm.
Vector of active groups.
Vector of the names of the active groups.
Scalar, equals to \(\Vert Y-f_{0}-\sum_{v}K_{v}\theta_{v}\Vert ^{2}\).
Scalar, indicates the value of the penalized criteria.
Integer, number of iterations until convergence is reached.
TRUE or FALSE. Indicates whether the algorithm has converged or not.
Scalar, value of the first convergence criteria at the last iteration, \(\frac{crit_{lastIter}-crit_{lastIter-1}}{crit_{lastIter-1}}\).
Scalar, value of the second convergence criteria at the last iteration, \(\Vert\frac{\theta_{lastIter}-\theta_{lastIter-1}}{\theta_{lastIter-1}}\Vert ^{2}\).
Input Kv should contain the eigenvalues and eigenvectors of positive definite Gram matrices \(K_v\). It is necessary to set input "correction" in the function calc_Kv equal to "TRUE".
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>
# NOT RUN {
d <- 3
n <- 50
library(lhs)
X <- maximinLHS(n, d)
c <- c(0.2,0.6,0.8)
F <- 1;for (a in 1:d) F <- F*(abs(4*X[,a]-2)+c[a])/(1+c[a])
epsilon <- rnorm(n,0,1);sigma <- 0.2
Y <- F + sigma*epsilon
Dmax <- 3
kernel <- "matern"
Kv <- calc_Kv(X, kernel, Dmax, TRUE, TRUE)
result <- grplasso_q(Y,Kv,5,100 ,Num=10)
result$mu
result$res$Nsupp
# }
Run the code above in your browser using DataLab