GaSP {GPBayes}R Documentation

Building, fitting, predicting for a GaSP model

Description

This function serves as a wrapper to build, fit, and make prediction for a Gaussian process model. It calls on functions gp, gp.mcmc, gp.optim, gp.predict.

Usage

GaSP(
  formula = ~1,
  output,
  input,
  param,
  smooth.est = FALSE,
  input.new = NULL,
  cov.model = list(family = "CH", form = "isotropic"),
  model.fit = "Cauchy_prior",
  prior = list(),
  proposal = list(range = 0.35, tail = 2, nugget = 0.8, nu = 0.8),
  nsample = 5000,
  burnin = 1000,
  opt = NULL,
  bound = NULL,
  dtype = "Euclidean",
  verbose = TRUE
)

Arguments

formula

an object of formula class that specifies regressors; see formula for details.

output

a numerical vector including observations or outputs in a GaSP

input

a matrix including inputs in a GaSP

param

a list including values for regression parameters, covariance parameters, and nugget variance parameter. The specification of param should depend on the covariance model.

  • The regression parameters are denoted by coeff. Default value is \mathbf{0}.

  • The marginal variance or partial sill is denoted by sig2. Default value is 1.

  • The nugget variance parameter is denoted by nugget for all covariance models. Default value is 0.

  • For the Confluent Hypergeometric class, range is used to denote the range parameter \beta. tail is used to denote the tail decay parameter \alpha. nu is used to denote the smoothness parameter \nu.

  • For the generalized Cauchy class, range is used to denote the range parameter \phi. tail is used to denote the tail decay parameter \alpha. nu is used to denote the smoothness parameter \nu.

  • For the Matérn class, range is used to denote the range parameter \phi. nu is used to denote the smoothness parameter \nu. When \nu=0.5, the Matérn class corresponds to the exponential covariance.

  • For the powered-exponential class, range is used to denote the range parameter \phi. nu is used to denote the smoothness parameter. When \nu=2, the powered-exponential class corresponds to the Gaussian covariance.

smooth.est

a logical value indicating whether smoothness parameter will be estimated.

input.new

a matrix of new input locations

cov.model

a list of two strings: family, form, where family indicates the family of covariance functions including the Confluent Hypergeometric class, the Matérn class, the Cauchy class, the powered-exponential class. form indicates the specific form of covariance structures including the isotropic form, tensor form, automatic relevance determination form.

family
CH

The Confluent Hypergeometric correlation function is given by

C(h) = \frac{\Gamma(\nu+\alpha)}{\Gamma(\nu)} \mathcal{U}\left(\alpha, 1-\nu, \left(\frac{h}{\beta}\right)^2\right),

where \alpha is the tail decay parameter. \beta is the range parameter. \nu is the smoothness parameter. \mathcal{U}(\cdot) is the confluent hypergeometric function of the second kind. For details about this covariance, see Ma and Bhadra (2023; doi:10.1080/01621459.2022.2027775).

cauchy

The generalized Cauchy covariance is given by

C(h) = \left\{ 1 + \left( \frac{h}{\phi} \right)^{\nu} \right\}^{-\alpha/\nu},

where \phi is the range parameter. \alpha is the tail decay parameter. \nu is the smoothness parameter with default value at 2.

matern

The Matérn correlation function is given by

C(h)=\frac{2^{1-\nu}}{\Gamma(\nu)} \left( \frac{h}{\phi} \right)^{\nu} \mathcal{K}_{\nu}\left( \frac{h}{\phi} \right),

where \phi is the range parameter. \nu is the smoothness parameter. \mathcal{K}_{\nu}(\cdot) is the modified Bessel function of the second kind of order \nu.

exp

The exponential correlation function is given by

C(h)=\exp(-h/\phi),

where \phi is the range parameter. This is the Matérn correlation with \nu=0.5.

matern_3_2

The Matérn correlation with \nu=1.5.

matern_5_2

The Matérn correlation with \nu=2.5.

powexp

The powered-exponential correlation function is given by

C(h)=\exp\left\{-\left(\frac{h}{\phi}\right)^{\nu}\right\},

where \phi is the range parameter. \nu is the smoothness parameter.

gauss

The Gaussian correlation function is given by

C(h)=\exp\left(-\frac{h^2}{\phi^2}\right),

where \phi is the range parameter.

form
isotropic

This indicates the isotropic form of covariance functions. That is,

C(\mathbf{h}) = C^0(\|\mathbf{h}\|; \boldsymbol \theta),

where \| \mathbf{h}\| denotes the Euclidean distance or the great circle distance for data on sphere. C^0(\cdot) denotes any isotropic covariance family specified in family.

tensor

This indicates the tensor product of correlation functions. That is,

C(\mathbf{h}) = \prod_{i=1}^d C^0(|h_i|; \boldsymbol \theta_i),

where d is the dimension of input space. h_i is the distance along the ith input dimension. This type of covariance structure has been often used in Gaussian process emulation for computer experiments.

ARD

This indicates the automatic relevance determination form. That is,

C(\mathbf{h}) = C^0\left(\sqrt{\sum_{i=1}^d\frac{h_i^2}{\phi^2_i}}; \boldsymbol \theta \right),

where \phi_i denotes the range parameter along the ith input dimension.

model.fit

a string indicating the choice of priors on correlation parameters:

Cauchy_prior

This indicates that a fully Bayesian approach with objective priors is used for parameter estimation, where location-scale parameters are assigned with constant priors and correlation parameters are assigned with half-Cauchy priors (default).

Ref_prior

This indicates that a fully Bayesian approach with objective priors is used for parameter estimation, where location-scale parameters are assigned with constant priors and correlation parameters are assigned with reference priors. This is only supported for isotropic covariance functions. For details, see gp.mcmc.

Beta_prior

This indicates that a fully Bayesian approach with subjective priors is used for parameter estimation, where location-scale parameters are assigned with constant priors and correlation parameters are assigned with beta priors parameterized as Beta(a, b, lb, ub). In the beta distribution, lb and ub are the support for correlation parameters, and they should be determined based on domain knowledge. a and b are two shape parameters with default values at 1, corresponding to the uniform prior over the support (lb, ub).

MPLE

This indicates that the maximum profile likelihood estimation (MPLE) is used.

MMLE

This indicates that the maximum marginal likelihood estimation (MMLE) is used.

MAP

This indicates that the marginal/integrated posterior is maximized.

prior

a list containing tuning parameters in prior distribution. This is used only if a subjective Bayes estimation method with informative priors is used.

proposal

a list containing tuning parameters in proposal distribution. This is used only if a Bayes estimation method is used.

nsample

an integer indicating the number of MCMC samples.

burnin

an integer indicating the burn-in period.

opt

a list of arguments to setup the optim routine. Current implementation uses three arguments:

method

The optimization method: Nelder-Mead or L-BFGS-B.

lower

The lower bound for parameters.

upper

The upper bound for parameters.

bound

Default value is NULL. Otherwise, it should be a list containing the following elements depending on the covariance class:

nugget

a list of bounds for the nugget parameter. It is a list containing lower bound lb and upper bound ub with default value list(lb=0, ub=Inf).

range

a list of bounds for the range parameter. It has default value range=list(lb=0, ub=Inf) for the Confluent Hypergeometric covariance, the Matérn covariance, exponential covariance, Gaussian covariance, powered-exponential covariance, and Cauchy covariance. The log of range parameterization is used: \log(\phi).

tail

a list of bounds for the tail decay parameter. It has default value list(lb=0, ub=Inf)

for the Confluent Hypergeometric covariance and the Cauchy covariance.

nu

a list of bounds for the smoothness parameter. It has default value list(lb=0, ub=Inf) for the Confluent Hypergeometric covariance and the Matérn covariance. when the powered-exponential or Cauchy class is used, it has default value nu=list(lb=0, ub=2). This can be achieved by specifying the lower bound in opt.

dtype

a string indicating the type of distance:

Euclidean

Euclidean distance is used. This is the default choice.

GCD

Great circle distance is used for data on sphere.

verbose

a logical value. If it is TRUE, the MCMC progress bar is shown.

Value

a list containing the S4 object gp and prediction results

Author(s)

Pulong Ma mpulong@gmail.com

See Also

GPBayes-package, gp, gp.mcmc, gp.optim, gp.predict

Examples


code = function(x){
y = (sin(pi*x/5) + 0.2*cos(4*pi*x/5))*(x<=9.6) + (x/10-1)*(x>9.6) 
return(y)
}
n=100
input = seq(0, 20, length=n)
XX = seq(0, 20, length=99)
Ztrue = code(input)
set.seed(1234)
output = Ztrue + rnorm(length(Ztrue), sd=0.1)

# fitting a GaSP model with the objective Bayes approach
fit = GaSP(formula=~1, output, input,  
          param=list(range=3, nugget=0.1, nu=2.5), 
          smooth.est=FALSE, input.new=XX,
          cov.model=list(family="matern", form="isotropic"),
          proposal=list(range=.35, nugget=.8, nu=0.8),
          dtype="Euclidean", model.fit="Cauchy_prior", nsample=50, 
          burnin=10, verbose=TRUE)


[Package GPBayes version 0.1.0-6 Index]