Estimate the covariance structure of a zero-mean Gaussian Process with
Q-dimensional input coordinates (covariates).
Multiple realisations
for the response variable can be used, provided they are observed on the same
grid of dimension n_1 x n_2 x ... x n_Q.
Let n = n_1 x n_2 x ... x n_Q
and let nSamples be the number of realisations.
nsgpr(
response,
input,
corrModel = "pow.ex",
gamma = 2,
nu = 1.5,
whichTau = NULL,
nBasis = 5,
cyclic = NULL,
unitSignalVariance = F,
zeroNoiseVariance = F,
sepCov = F,
nInitCandidates = 300,
absBounds = 6,
inputSubsetIdx = NULL
)
A list containing:
Maximum likelihood estimates of B-spline coefficients and noise variance.
Matrix of response.
Input coordinates in a matrix form
Correlation function specification used for g(.)
Response variable. This should be a (n x nSamples) matrix where each column is a realisation
List of Q input variables (see Details).
Correlation function specification used for g(.). It can be either "pow.ex" or "matern".
Power parameter used in powered exponential kernel function. It must be 0<gamma<=2.
Smoothness parameter of the Matern class. It must be a positive value.
Logical vector of dimension Q identifying which input coordinates the parameters are function of. For example, if Q=2 and parameters change only with respect to the first coordinate, then we set whichTau=c(T,F).
Number of B-spline basis functions in each coordinate direction along which parameters change.
Logical vector of dimension Q which defines which covariates are cyclic (periodic). For example, if basis functions should be cyclic only in the first coordinate direction, then cyclic=c(T,F). cyclic must have the same dimension of whichTau. If cyclic is TRUE for some coordinate direction, then cyclic B-spline functions will be used and the varying parameters (and their first two derivatives) will match at the boundaries of that coordinate direction.
Logical. TRUE if we assume realisations have variance 1. This is useful when we want to estimate an NSGP correlation function.
Logical. TRUE if we assume the realisations are noise-free.
Logical. TRUE only if we fix to zero all off-diagonal elements of the varying anisotropy matrix. Default to FALSE, allowing for a separable covariance function.
number of initial hyperparameter vectors which are used to evaluate the log-likelihood function at a first step. After evaluating the log-likelihood using these 'nInitCandidates' vectors, the optimisation via nlminb() begins with the best of these vectors.
lower and upper boundaries for B-spline coefficients (if wanted).
A list identifying a subset of the input values to be used in the estimation (see Details).
The input argument for Q=2 can be constructed as follows:
n1 <- 10
n2 <- 1000
input <- list()
input[[1]] <- seq(0,1,length.out = n1)
input[[2]] <- seq(0,1,length.out = n2)
If we want to use every third lattice point in the second input variable (using Subset of Data), then we can set
inputSubsetIdx <- list()
inputSubsetIdx[[1]] <- 1:n1
inputSubsetIdx[[2]] <- seq(1,n2, by=3)
Konzen, E., Shi, J. Q. and Wang, Z. (2020) "Modeling Function-Valued Processes with Nonseparable and/or Nonstationary Covariance Structure" <arXiv:1903.09981>.
## See examples in vignette:
# vignette("nsgpr", package = "GPFDA")
Run the code above in your browser using DataLab