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

Description Usage Arguments Details Value Note Author(s) References See Also Examples

Description

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

Usage

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

Arguments

Y

Vector of response observations of size n.

Kv

List, includes the eigenvalues and eigenvectors of the positive definite Gram matrices 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 γ in decreasing order.

mu

Vector of positive scalars. Values of the penalty parameter μ in decreasing order.

resg

List of initial parameters, includes the RKHSgrplasso objects for each value of the penalty parameter μ.

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

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

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 1000 by default.

verbose

Logical, if TRUE, for each pair of penalty parameters (μ,γ) 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 K_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 (μ,γ). Each component of the list is a list of 3 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 16 components:

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 f_{v}=K_{v}θ_{v}.

fitted

Vector of size n, indicates the estimator of m.

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 \Vert Y-f_{0}-∑_{v}K_{v}θ_{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}γ\timesgama_v.

mu.v

Vector of size vMax, coefficients of the Group Sparse penalty norm, nμ\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, \Vert\frac{θ_{lastIter}-θ_{lastIter-1}}{θ_{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, \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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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)}

RKHSMetaMod documentation built on July 7, 2019, 1:07 a.m.