NuggetKriging
Description
Create an object "NuggetKriging"
using
the libKriging library.
Usage
Just build the model:
NuggetKriging(kernel)
# later, call fit(y,X,...)
or, build and fit at the same time:
NuggetKriging(
y,
X,
kernel,
regmodel = "constant",
normalize = FALSE,
optim = "BFGS",
objective = "LL",
parameters = NULL
)
Arguments
Argument |
Description |
---|---|
|
Numeric vector of response values. |
|
Numeric matrix of input design. |
|
Character defining the covariance model: |
|
Universal NuggetKriging linear trend: |
|
Logical. If |
|
Character giving the Optimization method used to fit hyper-parameters. Possible values are: |
|
Character giving the objective function to optimize. Possible values are: |
|
Initial values for the hyper-parameters. When provided this must be named list with some elements |
Details
The hyper-parameters (variance, nugget and vector of correlation ranges)
are estimated thanks to the optimization of a criterion given by
objective
, using the method given in optim
.
Value
An object "NuggetKriging"
. Should be used
with its predict
, simulate
, update
methods.
Examples
f <- function(x) 1 - 1 / 2 * (sin(12 * x) / (1 + x) + 2 * cos(7 * x) * x^5 + 0.7)
set.seed(123)
X <- as.matrix(runif(10))
y <- f(X) + 0.1 * rnorm(nrow(X))
## fit and print
k <- NuggetKriging(y, X, kernel = "matern3_2")
k
x <- sort(c(X,as.matrix(seq(from = 0, to = 1, length.out = 101))))
p <- k$predict(x = x, return_stdev = TRUE, return_cov = FALSE)
plot(f)
points(X, y)
lines(x, p$mean, col = "blue")
polygon(c(x, rev(x)), c(p$mean - 2 * p$stdev, rev(p$mean + 2 * p$stdev)),
border = NA, col = rgb(0, 0, 1, 0.2))
s <- k$simulate(nsim = 10, seed = 123, x = x)
matlines(x, s, col = rgb(0, 0, 1, 0.2), type = "l", lty = 1)
Results
* data: 10x[0.0455565,0.940467] -> 10x[0.149491,0.940566]
* trend constant (est.): 0.488156
* variance (est.): 0.078856
* covariance:
* kernel: matern3_2
* range (est.): 0.274956
* nugget (est.): 0.00347513
* fit:
* objective: LL
* optim: BFGS