pen_MetMod {RKHSMetaMod}R Documentation

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

Description

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

Usage

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".

Value

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.

Note

Note.

Author(s)

Halaleh Kamari

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>

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)}

[Package RKHSMetaMod version 1.1 Index]