Kriging::update_simulate
Description
Update previous simulation of a Kriging model object.
This method draws paths of the stochastic process conditional on the values at the input points used in the fit, plus the new input points and their values given as argument (knonw as ‘update’ points).
Usage
Python
# k = Kriging(...) # k.simulate(nsim = 1, seed = 123, x = x, will_update = True) k.update_simulate(y_u, X_u)
R
# k = Kriging(...) # k$simulate(nsim = 1, seed = 123, x = x, will_update = TRUE) k$update_simulate(y_u, X_u)
Matlab/Octave
% k = Kriging(...) % k.simulate(nsim = 1, seed = 123, x = x, will_update = true) k.update_simulate(y_u, X_u)
Julia
# k = Kriging(...) # simulate(k, nsim=1, seed=123, x=x, will_update=true) update_simulate(k, y_u, X_u)
Arguments
Argument |
Description |
|---|---|
|
Numeric vector of new responses (output). |
|
Numeric matrix of new input points. |
Details
This method updates previously simulated paths with the new observations, without re-drawing the full conditional sample from scratch. It requires a previous call to simulate(..., will_update = TRUE).
Value
A matrix with nrow(x) rows and nsim columns containing the updated simulated paths at the input points given in x.
Examples
f <- function(x) 1 - 1 / 2 * (sin(12 * x) / (1 + x) + 2 * cos(7 * x) * x^5 + 0.7)
plot(f)
set.seed(123)
X <- as.matrix(runif(10))
y <- f(X)
points(X, y, col = "blue")
k <- Kriging(y, X, kernel = "matern3_2")
x <- seq(from = 0, to = 1, length.out = 101)
s <- k$simulate(nsim = 3, x = x, will_update = TRUE)
lines(x, s[ , 1], col = "blue")
lines(x, s[ , 2], col = "blue")
lines(x, s[ , 3], col = "blue")
X_u <- as.matrix(runif(3))
y_u <- f(X_u)
points(X_u, y_u, col = "red")
su <- k$update_simulate(y_u, X_u)
lines(x, su[ , 1], col = "blue", lty=2)
lines(x, su[ , 2], col = "blue", lty=2)
lines(x, su[ , 3], col = "blue", lty=2)
Results
