Learn R Programming

TAG (version 0.5.1)

TAAG: Transformed Approximately Additive Gaussian Process

Description

This function fits the Transformed Approximately Additive Gaussian (TAAG) process.

Usage

TAAG(parTAG, nu.est, adj.nu = FALSE)

Arguments

parTAG

object of class inheriting from "TAG".

nu.est

the estimates of the length scale parameters from a standard GP.

adj.nu

logical. If FALSE, the proportional parameter \(\eta\) is estimated; otherwise, both \(\eta\) and the multiplication factor \(\phi\) are estimated. Default is FALSE.

Value

The values returned from the function is a list containing the following components:

omega

The estimates of the weight parameters.

s

The estimates of the length scale parameters.

nu

The estimates of the length scale parameter \(\nu\).

lambda

The estimate of the Box-Cox transformation parameter.

eta

The estimate of the proportion parameter.

phi

The estimate of the multiplication factor for \(\nu\), used for high dimensional data.

obj.fun

The negative of log-unnormalized posterior value (value of the objective function)

ty

The transformed response vector.

X

The n by p input design matrix.

Details

The details of TAAG process can be found in Lin and Joseph (2019).

When the input dimension is high, set adj.nu = TRUE and nu.est = s0, where s0 is the initial values of the length scale parameters from the function initial.TAG. Then, the length scale parameter \(\nu\) is set to \(\phi \times\) s0, and \(\phi\) is estimated through function TAAG.. This is useful especially when the input dimension is high.

References

Lin, L.-H. and Joseph, V. R. (2020) "Transformation and Additivity in Gaussian Processes",Technometrics, 62, 525-535. DOI:10.1080/00401706.2019.1665592.

See Also

TAG for the estimates of the TAG parameters, and pred.TAAG for predictions.

Examples

Run this code
# NOT RUN {
n <- 20
p <- 2
library(randtoolbox)
X <-  sobol(n, dim = p, init = TRUE, scrambling = 2, seed = 20, normal = FALSE)
y <- exp(2*sin(0.5*pi*X[,1]) + 0.5*cos(2.5*pi*X[,2]))
ini.TAG <- initial.TAG(y, X)
par.TAG <- TAG(ini.TAG)
N <- 1000
X.test <- sobol(N, dim = p, init = TRUE, scrambling = 2, seed = 5, normal = FALSE)
ytrue  <- exp(2*sin(0.5*pi*X.test[,1]) + 0.5*cos(2.5*pi*X.test[,2]))
pre.TAG <- pred.TAG(par.TAG, X.test)
library(DiceKriging)
set.seed(2)
temp.m <- km(formula=~1, design=X, response=par.TAG$ty,
             covtype="gauss",nugget = (10^-15), multistart = 4,
             control = list(trace = FALSE, verbose = FALSE))
nu.est <- sqrt(2*(coef(temp.m)$range^2))
par.TAAG <- TAAG(par.TAG, nu.est)
# }

Run the code above in your browser using DataLab