lasvdGP {DynamicGP} | R Documentation |
Local Approximate SVD-Based GP Models
Description
Fits a local approximate SVD-based GP model on a test set
X0
, training/design set design
and response matrix
resp
. The local neighborhood sets consist of nn
out of
which n0
points are selected by the Euclidean distance with
respect to the test points. The remaining nn
-n0
neighborhood points are selected sequentially by a greedy algorithm
proposed by Zhang et al. (2018). This function supports the
parallelization via both the R packages "parallel" and the OpenMP
library.
Usage
lasvdGP(design, resp, X0=design, n0=10, nn=20,
nfea = min(1000,nrow(design)),
nsvd = nn, nadd = 1, frac = .95, gstart = 0.0001,
resvdThres = min(5, nn-n0), every = min(5,nn-n0),
nstarts = 5,centralize=FALSE, maxit=100,
errlog = "", nthread = 1, clutype="PSOCK")
Arguments
design |
An |
resp |
An |
X0 |
An |
n0 |
The number of points in the initial neighborhood set. The initial neighborhood set is selected by the Euclidean distance. The default value is 10. |
nn |
The total number of neighborhood points. The |
nfea |
The number of feasible points within which to select the
neighborhood points. This function will only consider the
|
nsvd |
The number of design points closest to the test points on whose
response matrix to perform the initial singular value
decomposition. The default value is |
nadd |
The number of neighborhood points selected at one iteration. The default value is 1. |
frac |
The threshold in the cumulative percentage criterion to select the number of SVD bases. The default value is 0.95. |
gstart |
The starting number and upper bound for estimating the nugget
parameter. If |
resvdThres |
The threshold to re-perform SVD. After every |
every |
The threshold to refit GP models without re-perform SVD. After every
|
nstarts |
The number of starting points used in the numerical maximization of
the posterior density function. The larger |
centralize |
If |
maxit |
Maximum number of iterations in the numerical optimization algorithm for maximizing the posterior density function. The default value is 100. |
errlog |
The path of a log file that records the errors occur in the process of fitting local SVD-based GP models. If an empty string is provided, no log file will be produced. |
nthread |
The number of threads (processes) used in parallel execution of this
function. |
clutype |
The type of parallization utilized by this function. If |
Value
pmean |
An |
ps2 |
An |
flags |
A vector of integers of length |
Author(s)
Ru Zhang heavenmarshal@gmail.com,
C. Devon Lin devon.lin@queensu.ca,
Pritam Ranjan pritamr@iimidr.ac.in
References
Zhang, R., Lin, C. D. and Ranjan, P. (2018) Local Gaussian
Process Model for Large-scale Dynamic Computer Experiments,
Journal of Computational and Graphical Statistics,
DOI:
10.1080/10618600.2018.1473778.
See Also
Examples
library("lhs")
forretal <- function(x,t,shift=1)
{
par1 <- x[1]*6+4
par2 <- x[2]*16+4
par3 <- x[3]*6+1
t <- t+shift
y <- (par1*t-2)^2*sin(par2*t-par3)
}
timepoints <- seq(0,1,len=200)
design <- lhs::randomLHS(100,3)
test <- lhs::randomLHS(20,3)
## evaluate the response matrix on the design matrix
resp <- apply(design,1,forretal,timepoints)
n0 <- 14
nn <- 15
gs <- sqrt(.Machine$double.eps)
## lasvdGP with mutiple (5) start points for GP model estimation,
## It use the R package "parallel" for parallelization
retlamsp <- lasvdGP(design,resp,test,n0,nn,frac=.95,gstart=gs,
centralize=TRUE,nstarts=5,nthread=2,clutype="PSOCK")
## lasvdGP with single start point for GP model estimation,
## It does not use parallel computation
retlass <- lasvdGP(design,resp,test,n0,nn,frac=.95,gstart=gs,
centralize=TRUE,nstarts=1,nthread=1)