Calculates the Gram matrices \(K_v\) for a chosen reproducing kernel and fits the solution of an RKHS ridge group sparse or an RKHS group lasso problem for each pair of penalty parameters \((\mu,\gamma)\), for the Gaussian regression model.
RKHSMetMod(Y, X, kernel, Dmax, gamma, frc, verbose)Vector of response observations of size \(n\).
Matrix of observations with \(n\) rows and \(d\) columns.
Character, indicates the type of the reproducing kernel: matern \((\)matern kernel\()\), brownian \((\)brownian kernel\()\), gaussian \((\)gaussian kernel\()\), linear \((\)linear kernel\()\), quad \((\)quadratic kernel\()\). See the function calc_Kv
Integer, between \(1\) and \(d\), indicates the order of interactions considered in the meta model: Dmax\(=1\) is used to consider only the main effects, Dmax\(=2\) to include the main effects and the interactions of order \(2,\ldots\). See the function calc_Kv
Vector of non negative scalars, values of the penalty parameter \(\gamma\) in decreasing order. If \(\gamma=0\) the function solves an RKHS Group Lasso problem and for \(\gamma>0\) it solves an RKHS Ridge Group Sparse problem.
Vector of positive scalars. Each element of the vector sets a value to the penalty parameter \(\mu\), \(\mu=\mu_{max}/(\sqrt{n}\times frc)\). The value \(\mu_{max}\) is calculated by the program. See the function mu_max.
Logical, if TRUE, prints: the group \(v\) for which the correction of Gram matrix \(K_v\) is done, and for each pair of the penalty parameters \((\mu,\gamma)\): the number of current iteration, active groups and convergence criterias. Set as FALSE by default.
List of l components, with l equals to the number of pairs of the penalty parameters \((\mu,\gamma)\). Each component of the list is a list of \(3\) components "mu", "gamma" and "Meta-Model":
Positive scalar, penalty parameter \(\mu\) associated with the estimated Meta-Model.
Positive scalar, an element of the input vector gamma associated with the estimated Meta-Model.
An RKHS Ridge Group Sparse or RKHS Group Lasso object associated with the penalty parameters mu and gamma:
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 for the Ridge penalty norm.
Vector of size vMax, estimated values of the Sparse Group 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.
Vector of size vMax, coefficients of the Ridge penalty norm, \(\sqrt{n}\gamma\times\)gama_v.
Vector of size vMax, coefficients of the Group Sparse penalty norm, \(n\mu\times\)mu_v.
List of two components: maxIter, and the number of iterations until the convergence is achieved.
TRUE or FALSE. Indicates whether the algorithm has converged or not.
Scalar, value of the first convergence criteria at the last iteration, \(\Vert\frac{\theta_{lastIter}-\theta_{lastIter-1}}{\theta_{lastIter-1}}\Vert ^{2}\).
Scalar, value of the second convergence criteria at the last iteration, \(\frac{crit_{lastIter}-crit_{lastIter-1}}{crit_{lastIter-1}}\).
Details.
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"
frc <- c(10,100)
gamma <- c(.5,.01,.001,0)
result <- RKHSMetMod(Y,X,kernel,Dmax,gamma,frc,FALSE)
l <- length(result)
for(i in 1:l){print(result[[i]]$mu)}
for(i in 1:l){print(result[[i]]$gamma)}
for(i in 1:l){print(result[[i]]$`Meta-Model`$Nsupp)}
# }
Run the code above in your browser using DataLab