# logMargPostFun.NuggetKriging: Compute the log-marginal posterior of a kriging model, using... In rlibkriging: Kriging Models using the 'libKriging' Library

 logMargPostFun.NuggetKriging R Documentation

## Compute the log-marginal posterior of a kriging model, using the prior XXXY.

### Description

Compute the log-marginal posterior of a kriging model, using the prior XXXY.

### Usage

## S3 method for class 'NuggetKriging'
logMargPostFun(object, theta_alpha, grad = FALSE, bench = FALSE, ...)

### Arguments

 object S3 NuggetKriging object. theta_alpha Numeric vector of correlation range and variance over variance plus nugget parameters at which the function is to be evaluated. grad Logical. Should the function return the gradient (w.r.t theta_alpha)? bench Logical. Should the function display benchmarking output ... Not used.

### Value

The value of the log-marginal posterior computed for the given vector \boldsymbol{theta_alpha}.

### Author(s)

Yann Richet yann.richet@irsn.fr

### References

XXXY A reference describing the model (prior, ...)

rgasp in the RobustGaSP package.

### 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))

k <- NuggetKriging(y, X, "matern3_2", objective="LMP")
print(k)

theta0 = k\$theta()
lmp_alpha <- function(alpha) k\$logMargPostFun(cbind(theta0,alpha))\$logMargPost
a <- seq(from = 0.9, to = 1.0, length.out = 101)
plot(a, Vectorize(lmp_alpha)(a), type = "l",xlim=c(0.9,1))
abline(v = k\$sigma2()/(k\$sigma2()+k\$nugget()), col = "blue")

alpha0 = k\$sigma2()/(k\$sigma2()+k\$nugget())
lmp_theta <- function(theta) k\$logMargPostFun(cbind(theta,alpha0))\$logMargPost
t <- seq(from = 0.001, to = 2, length.out = 101)
plot(t, Vectorize(lmp_theta)(t), type = 'l')
abline(v = k\$theta(), col = "blue")

lmp <- function(theta_alpha) k\$logMargPostFun(theta_alpha)\$logMargPost
t <- seq(from = 0.4, to = 0.6, length.out = 51)
a <- seq(from = 0.9, to = 1, length.out = 51)
contour(t,a,matrix(ncol=length(t),lmp(expand.grid(t,a))),
nlevels=50,xlab="theta",ylab="sigma2/(sigma2+nugget)")
points(k\$theta(),k\$sigma2()/(k\$sigma2()+k\$nugget()),col='blue')

rlibkriging documentation built on July 9, 2023, 5:53 p.m.