penMetaMod_mu_gamma function

Function to fit a solution of the RKHS Ridge Group Sparse problem.

Function to fit a solution of the RKHS Ridge Group Sparse problem.

Fits the solution of the RKHS ridge group sparse optimization problem for the Gaussian regression model.

pen_MetMod(Y, Kv, gamma, mu, resg, gama_v, mu_v, maxIter, verbose, calcStwo)

Arguments

  • Y: Vector of response observations of size nn.
  • Kv: List, includes the eigenvalues and eigenvectors of the positive definite Gram matrices Kv,v=1,...,K_v, v=1,...,vMax and their associated group names. It should have the same format as the output of the function calc_Kv (see details).
  • gamma: Vector of positive scalars. Values of the penalty parameter γ\gamma in decreasing order.
  • mu: Vector of positive scalars. Values of the penalty parameter μ\mu in decreasing order.
  • resg: List of initial parameters, includes the RKHSgrplasso objects for each value of the penalty parameter μ\mu.
  • gama_v: Scalar zero or vector of vMax positive scalars, considered as weights for the Ridge penalty. Set to zero, to consider no weights, i.e. all weights equal to 11.
  • mu_v: Scalar zero or a vector with vMax scalars, considered as weigths of Sparse Group penalty. Set to zero, to consider no weights, i.e. all weights equal to 11.
  • maxIter: Integer, shows the maximum number of loops through initial active groups at the first step and maximum number of loops through all groups at the second step. Set as 10001000 by default.
  • verbose: Logical, if TRUE, for each pair of penalty parameters (μ,γ)(\mu,\gamma) it prints: the number of current iteration, active groups and convergence criterias. Set as FALSE by default.
  • calcStwo: Logical, if TRUE, the program does a second step after convergence: the algorithm is done over all groups by taking the estimated parameters at the first step as initial values. Set as FALSE by default.

Details

Input Kv should contain the eigenvalues and eigenvectors of positive definite Gram matrices KvK_v. It is necessary to set input "correction" in the function calc_Kv equal to "TRUE".

Returns

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 33 components "mu", "gamma" and "Meta-Model": - mu: Positive scalar, an element of the input vector mu associated with the estimated Meta-Model.

  • gamma: Positive scalar, an element of the input vector gamma associated with the estimated Meta-Model.

  • Meta-Model: Estimated meta model associated with penalty parameters mu and gamma. List of 1616 components:

  • intercept: Scalar, estimated value of intercept.

  • teta: Matrix with vMax rows and nn columns. Each row of the matrix is the estimated vector θv\theta_{v} for v=1,...,v=1,...,vMax.

  • fit.v: Matrix with nn rows and vMax columns. Each row of the matrix is the estimated value of fv=Kvθvf_{v}=K_{v}\theta_{v}.

  • fitted: Vector of size nn, indicates the estimator of mm.

  • Norm.n: Vector of size vMax, estimated values for the Ridge penalty norm.

  • Norm.H: Vector of size vMax, estimated values for the Group Sparse penalty norm.

  • supp: Vector of active groups.

  • Nsupp: Vector of the names of the active groups.

  • SCR: Scalar equals to Yf0vKvθv2\Vert Y-f_{0}-\sum_{v}K_{v}\theta_{v}\Vert ^{2}.

  • crit: Scalar indicates the value of the penalized criteria.

  • gamma.v: Vector of size vMax, coefficients of the Ridge penalty norm, nγ×\sqrt{n}\gamma\timesgama_v.

  • mu.v: Vector of size vMax, coefficients of the Group Sparse penalty norm, nμ×n\mu\timesmu_v.

  • iter: List of three components if calcStwo==TRUE ((two components if calcStwo==FALSE)): maxIter, number of iterations until convergence is reached at first step and the number of iterations until convergence is reached at second step ((maxIter, and the number of iterations until convergence is reached at first step)).

  • convergence: TRUE or FALSE. Indicates whether the algorithm has converged or not.

  • RelDiffCrit: List of two components if calcStwo==TRUE ((one component if calcStwo==FALSE)): value of convergence criteria at the last iteration of each step, θlastIterθlastIter1θlastIter12\Vert\frac{\theta_{lastIter}-\theta_{lastIter-1}}{\theta_{lastIter-1}}\Vert ^{2}.

  • RelDiffPar: List of two components if calcStwo==TRUE (one component if calcStwo==FALSE): value of convergence criteria at the last iteration, critlastItercritlastIter1critlastIter1\frac{crit_{lastIter}-crit_{lastIter-1}}{crit_{lastIter-1}} of each step.

References

Huet, S. and Taupin, M. L. (2017) Metamodel construction for sensitivity analysis. ESAIM: Procs 60, 27-69.

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, RKHSgrplasso

Examples

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, tol = 1e-08) vMax <- length(Kv$names.Grp) matZ <- Kv$kv mumax <- mu_max(Y, matZ) mug1 <- mumax/10 mug2 <- mumax/100 gr1 <- RKHSgrplasso(Y,Kv, mug1) gr2 <- RKHSgrplasso(Y,Kv, mug2) gamma <- c(.5,.01,.001) #rescaling the penalty parameter mu <- c(mug1/sqrt(n),mug2/sqrt(n)) resg <- list(gr1,gr2) res <- pen_MetMod(Y,Kv,gamma,mu,resg,0,0) l <- length(res) for(i in 1:l){print(res[[i]]$mu)} for(i in 1:l){print(res[[i]]$gamma)} for(i in 1:l){print(res[[i]]$`Meta-Model`$Nsupp)} gama_v <- rep(1,vMax) mu_v <- rep(1,vMax) res.w <- pen_MetMod(Y,Kv,gamma,mu,resg,gama_v,mu_v) for(i in 1:l){print(res.w[[i]]$`Meta-Model`$Nsupp)}
  • Maintainer: Halaleh Kamari
  • License: GPL (>= 2)
  • Last published: 2019-07-06

Useful links