MLPKriging::logLikelihoodFun
Description
Evaluate the log-likelihood of an MLPKriging model at a given range parameter vector theta.
Usage
Python
# mk = MLPKriging(...) mk.logLikelihoodFun(theta, return_grad = False, return_hess = False)
R
# mk <- MLPKriging(...) mk$logLikelihoodFun(theta, return_grad = FALSE, return_hess = FALSE)
Julia
# mk = MLPKriging(...) result = logLikelihoodFun(mk, theta, return_grad=false, return_hess=false)
Arguments
Argument |
Description |
|---|---|
|
Numeric vector of correlation range parameters. |
|
Logical. If |
|
Logical. If |
Value
A list with logLikelihood (scalar) and optionally logLikelihoodGrad and logLikelihoodHess.
Examples
f <- function(x) 1 - 1 / 2 * (sin(12 * x) / (1 + x) + 2 * cos(7 * x) * x^5 + 0.7)
X <- as.matrix(seq(0.05, 0.95, length.out = 10))
y <- f(X)
mk <- MLPKriging(
y, X,
hidden_dims = c(4L),
d_out = 1L,
activation = "tanh",
kernel = "gauss",
parameters = list(max_iter_adam = "20", max_iter_bfgs = "10")
)
print(mk)
ll <- function(theta) mk$logLikelihoodFun(theta)$logLikelihood
t <- seq(from = 0.2, to = 6, length.out = 101)
plot(t, sapply(t, ll), type = "l")
abline(v = mk$theta(), col = "blue")
Results
* MLPKriging
* data: 10x[0.05,0.95] -> 10x[0.163421,0.976851]
* trend constant (est.): -745.4
* variance (est.): 3.13668e+08
* covariance:
* kernel: gauss
* range (est.): 2.88992
* warpings:
joint: "mlp_joint(4,1,tanh)" → MLPJoint(1 -> 4 -> 1, 13 params)
* total warp params: 13
* fit:
* objective: LL
* optim: BFGS+Adam
