Learn R Programming

fanovaGraph (version 1.5)

simAdditive: Simulate GP values from block-addtive kernel

Description

Simulate Gaussian process values from a given block-additive kernel

Usage

simAdditive(newdata, mu, parameter, covtype, cl, iso = FALSE, eps.R = 1e-08)

Arguments

newdata

matrix containing the points where to perform simulations

mu

trend parameter

parameter

list of size of 'cl' containing for each clique a list of parameters alpha (single value) and theta (numeric vector of values)

covtype

character string specifying the covariance structure to be used, to be chosen between "gauss", "matern5_2", "matern3_2", "exp" or "powexp" (see DiceKriging)

cl

list of cliques

iso

boolean vector indicating for each clique if it is isotropic (TRUE) or anisotropic (FALSE), defaults to iso = FALSE (all cliques anisotropic)

eps.R

small positive number indicating the nugget effect added to the covariance matrix diagonalk, defaults to eps.R = 1e-08

Value

a vector containing the simulated values

References

Muehlenstaedt, T.; Roustant, O.; Carraro, L.; Kuhnt, S. (2011) Data-driven Kriging models based on FANOVA-decomposition, Statistics and Computing.

Rasmussen, C. E.; Williams, C. K. I. (2006), Gaussian processes for machine learning, MIT Press.

See Also

kmAdditive, simulate

Examples

Run this code
# NOT RUN {
### 2 dimensional simulation
x1 <- x2 <- seq(-1,1,,20)
x <- expand.grid(x1,x2)
covtype <- "matern3_2"
mu <- 0

op <- par(no.readonly=TRUE); par(mfrow=c(1,2), mar=c(1,1,1,1))
# non-additive simulation
parameter <- list(list(alpha=1, theta=c(0.8,0.8)))
cl <- list(1:2)
set.seed(1)
y <- simAdditive(x, mu, parameter, covtype, cl)
persp(x1,x2, matrix(y,20), theta=-40, col="lightblue", zlab="y")

# additive simulation
parameter <- list(list(alpha=0.5, theta=0.8),
                  list(alpha=0.5, theta=0.8))
cl <- list(1,2)
set.seed(1)
y <- simAdditive(x, mu, parameter, covtype, cl)
persp(x1,x2, matrix(y,20), theta=-40, col="lightblue", zlab="y")

par(op)
# }

Run the code above in your browser using DataLab