corr_matrix {GPfit} | R Documentation |
Power Exponential or Matern Correlation Matrix
Description
Computes the power exponential or Matern correlation matrix for a set of n design points in d-dimensional input region and a vector of d correlation hyper-parameters (beta).
Usage
corr_matrix(X, beta, corr = list(type = "exponential", power = 1.95))
Arguments
X |
the ( |
beta |
a ( |
corr |
a list that specifies the |
Details
The power exponential correlation function is given by
R_{ij} = \prod_{k=1}^{d} \exp({-10^{\beta_k}|x_{ik}-x_{jk}|^{power}})
.
The Matern correlation function given by Santner, Williams, and Notz (2003) is
R_{ij} = \prod_{k=1}^{d}
\frac{1}{\Gamma(\nu)2^{\nu-1}}(2\sqrt{\nu}|x_{ik} -
x_{jk}|10^{\beta_k})^\nu
\kappa_{\nu}(2\sqrt{\nu}|x_{ik} -
x_{jk}|10^{\beta_k})
,
where \kappa_{\nu}
is the modified Bessel function of
order \nu
.
Value
The (n x n
) correlation matrix, R, for the design matrix
(X
) and the hyper-parameters (beta
).
Note
Both Matern and power exponential correlation functions use the new
\beta
parametrization of hyper-parameters given by \theta_k =
10^{\beta_k}
for easier likelihood optimization. That is, beta
is a
log scale parameter (see MacDonald et al. (2015)).
Author(s)
Blake MacDonald, Hugh Chipman, Pritam Ranjan
References
MacDonald, K.B., Ranjan, P. and Chipman, H. (2015).
GPfit: An R Package for Fitting a Gaussian Process Model to
Deterministic Simulator Outputs.
Journal of Statistical Software, 64(12), 1-23.
http://www.jstatsoft.org/v64/i12/
Ranjan, P., Haynes, R., and Karsten, R. (2011).
A Computationally Stable
Approach to Gaussian Process Interpolation of
Deterministic Computer Simulation Data,
Technometrics, 53(4), 366 - 378.
Santner, T.J., Williams, B., and Notz, W. (2003), The design and analysis of computer experiments, Springer Verlag, New York.
Examples
## 1D Example - 1
n = 5
d = 1
set.seed(3)
library(lhs)
x = maximinLHS(n,d)
beta = rnorm(1)
corr_matrix(x,beta)
## 1D Example - 2
beta = rnorm(1)
corr_matrix(x,beta,corr = list(type = "matern"))
## 2D example - 1
n = 10
d = 2
set.seed(2)
library(lhs)
x = maximinLHS(n,d)
beta = rnorm(2)
corr_matrix(x, beta,
corr = list(type = "exponential", power = 2))
## 2D example - 2
beta = rnorm(2)
R = corr_matrix(x,beta,corr = list(type = "matern", nu = 5/2))
print(R)