Learn R Programming

tgp (version 1.0-1)

tgp: Generic interface to treed Gaussian process models

Description

A generic interface to treed Gaussian process models used by many of the functions of class "tgp": bgpllm, btlm, blm, bgp, btgpllm bgp, and plot.tgp, tgp.trees. This more complicated interface is provided for a finer control of the model parameters.

Usage

tgp(X, Z, XX = NULL, BTE = c(2000, 7000, 2), R = 1, m0r1 = FALSE,
	linburn = FALSE, params = NULL, pred.n = TRUE, ds2x = FALSE,
        ego = FALSE)

Arguments

X
data.frame, matrix, or vector of inputs X
Z
Vector of output responses Z of length equal to the leading dimension (rows) of X
XX
Optional data.frame, matrix, or vector of predictive input locations with the same number of columns as X
BTE
3-vector of Monte-carlo parameters (B)urn in, (T)otal, and (E)very. Predictive samples are saved every E MCMC rounds starting at round B, stopping at T.
R
Number of repeats or restarts of BTE MCMC rounds, default 1 is no restarts
m0r1
If TRUE the responses Z are scaled to have a mean of zero and a range of 1; default is FALSE
linburn
If TRUE initializes MCMC with 2*B rounds of Bayesian CART (bcart); default is FALSE
params
Generic parameters list which can be provided for a more flexible model. See tgp.default.params for more details about the parameter list
pred.n
TRUE (default) value results in prediction at the inputs X; FALSE skips prediction at X resulting in a faster implementation
ds2x
TRUE results in ALC (Active Learning--Cohn) computation of expected reduction in uncertainty calculations at the XX locations, which can be used for adaptive sampling; FALSE (default) skips this computation, resu
ego
TRUE results in EGO (Expected Global Optimization) computation of expected information about the location of the minimum reduction in uncertainty calculations at the XX locations, which can be used for adaptive sampli

Value

  • tgp returns an object of type "tgp". The function plot.tgp can be used to help visualize results.

    An object of type "tgp" is a list containing at least the following components... The final two (parts & trees) are tree-related outputs unique to the T (tree) class functions-- those which have a positive first (alpha) parameter in params$tree <- c(alpha, beta, minpart. Tree viewing is supported by tgp.trees

  • stateunsigned short[3] random number seed to C
  • XInput argument: data.frame of inputs X
  • nNumber of rows in X, i.e., dim(X)[1]
  • dNumber of cols in X, i.e., dim(X)[2]
  • ZVector of output responses Z
  • XXInput argument: data.frame of predictive locations XX
  • nnNumber of rows in XX, i.e., dim(XX)[1]
  • BTEInput argument: Monte-carlo parameters
  • RInput argument: restarts
  • linburnInput argument: initialize MCMC with linear CART
  • paramslist of model parameters automatically generated by tgp.default.params
  • dparamsDouble-representation of model input parameters used by C-code
  • Zp.meanVector of mean predictive estimates at X locations
  • Zp.q1Vector of 5% predictive quantiles at X locations
  • Zp.q2Vector of 95% predictive quantiles at X locations
  • Zp.qVector of quantile norms Zp.q2-Zp.q1
  • ZZ.q1Vector of 5% predictive quantiles at XX locations
  • ZZ.q2Vector of 95% predictive quantiles at XX locations
  • ZZ.qVector of quantile norms ZZ.q2-ZZ.q1, used by the Active Learning--MacKay (ALM) adaptive sampling algorithm
  • Ds2xIf argument ds2x=TRUE, this vector contains ALC statistics for XX locations
  • egoIf argument ego=TRUE, this vector contains EGO statistics for XX locations
  • responseName of response Z if supplied by data.frame in argument, or "z" if none provided
  • partsInternal representation of the regions depicted by partitions of the maximum a' posteriori (MAP) tree
  • treeslist of trees (maptree representation) which were MAP as a function of each tree height sampled between MCMC rounds B and T

References

Gramacy, R. B., Lee, H. K. H., & Macready, W. (2004). Parameter space exploration with Gaussian process trees. ICML (pp. 353--360). Omnipress & ACM Digital Library.

Gramacy, R. B., Lee, H. K. H., & Macready, W. (2005). Adaptive Exploration of Computer Experiment Parameter Spaces. submitted to JCGS, available as UCSC Technical Report ams2005-16 http://www.ams.ucsc.edu/reports/trview.php?content=view&name=ams2005-16

Gramacy, R. B. & Lee, H. K. H. (2005). Gaussian Processes and Limiting Linear Models. available as UCSC Technical Report ams2005-17 http://www.ams.ucsc.edu/reports/trview.php?content=view&name=ams2005-17

Chipman, H., George, E., & McCulloch, R. (1998). Bayesian CART model search (with discussion). Journal of the American Statistical Association, 93, 935--960.

Chipman, H., George, E., & McCulloch, R. (2002). Bayesian treed models. Machine Learning, 48, 303--324.

http://people.ucsc.edu/~boobles/tgp.php

See Also

tgp.default.params, bgpllm, btlm, blm, bgp, btgpllm bgp, plot.tgp, tgp.trees

Examples

Run this code
##
## Many of the examples below illustrate the above 
## function(s) on random data.  Thus it can be fun
## (and informative) to run them several times.
##

# 
# simple linear response
#

# input and predictive data
X <- seq(0,1,length=50)
XX <- seq(0,1,length=99)
Z <- 1 + 2*X + rnorm(length(X),sd=0.25)

# out <- blm(X=X, Z=Z, XX=XX)	# try Linear Model with tgp
p <- tgp.default.params(2)
p$tree <- c(0,0,10)        	# no tree
p$gamma <- c(-1,0.2,0.7)   	# force llm
out <- tgp(X=X,Z=Z,XX=XX,params=p) 
plot(out)			# plot the surface


#
# 1-d Example
# 

# construct some 1-d nonstationary data
X <- seq(0,20,length=100)
XX <- seq(0,20,length=99)
Z <- (sin(pi*X/5) + 0.2*cos(4*pi*X/5)) * (X <= 9.6)
lin <- X>9.6; 
Z[lin] <- -1 + X[lin]/10
Z <- Z + rnorm(length(Z), sd=0.1)

# out <- btlm(X=X, Z=Z, XX=XX) # try Linear CART with tgp
p <- tgp.default.params(2)
p$gamma <- c(-1,0.2,0.7)    	# force llm
out <- tgp(X=X,Z=Z,XX=XX,params=p)
plot(out) 			# plot the surface
tgp.trees(out) 		 	# plot the MAP trees

# out <- btgp(X=X, Z=Z, XX=XX) 	# use a treed GP with tgp
p <- tgp.default.params(2)
p$gamma <- c(0,0.2,0.7)    	# force no llm
out <- tgp(X=X,Z=Z,XX=XX,params=p)
plot(out) 			# plot the surface
tgp.trees(out) 		 	# plot the MAP trees


#
# 2-d example
# (using the isotropic correlation function)
#

# construct some 2-d nonstationary data
exp2d.data <- exp2d.rand()
X <- exp2d.data$X; Z <- exp2d.data$Z
XX <- exp2d.data$XX

# try a GP with tgp
# out <- bgp(X=X, Z=Z, XX=XX, corr="exp") 	
p <- tgp.default.params(3)
p$tree <- c(0,0,10)        	# no tree
p$gamma <- c(0,0.2,0.7)    	# no llm
p$corr <- "exp"	
out <- tgp(X=X,Z=Z,XX=XX,params=p)
plot(out) 			# plot the surface

# try a treed GP LLM with tgp
# out <- btgpllm(X=X,Z=Z,XX=XX,corr="exp") 
p <- tgp.default.params(3)
p$corr <- "exp"	
out <- tgp(X=X,Z=Z,XX=XX,params=p)
plot(out) 			# plot the surface
tgp.trees(out) 		 	# plot the MAP trees


#
# Motorcycle Accident Data
#

# get the data
require(MASS)

# try a custom treed GP LLM with tgp, without m0r1
p <- tgp.default.params(2)
p$bprior <- "b0" # beta linear prior for common mean
p$nug.p <- c(1.0,0.1,10.0,0.1) # mixture nugget prior
out <- tgp(X=mcycle[,1], Z=mcycle[,2], params=p,
	   BTE=c(2000,22000,2)) # run mcmc longer
plot(out)			# plot the surface
tgp.trees(out)		 	# plot the MAP trees

# for other examples try the demos or the vignette

Run the code above in your browser using DataLab