FANOVA {mlegp} | R Documentation |
Functional Analysis of Variance (FANOVA) Functions for Gaussian Processes
OverallMean(gp, lower = apply(gp$X, 2, min), upper = apply(gp$X, 2, max)) FunctionalVariance(gp, lower = apply(gp$X, 2, min), upper = apply(gp$X, 2, max), mu0 = NULL) ANOVAMainEffect(gp, effectNum, lower = apply(gp$X, 2, min), upper = apply(gp$X, 2, max)) ANOVAInteractionEffect(gp, effectNums, mu0 = NULL, lower = apply(gp$X, 2, min), upper = apply(gp$X, 2, max), maxpts = NULL)
gp |
an object of type gp |
lower |
a vector of minimum values for ALL parameters of the gp design matrix |
upper |
a vector of maximum values for ALL parameters of the gp design matrix |
effectNum |
the effect number or name of the desired main effect |
effectNums |
a vector of 2 elements corresponding to the effect numbers or names of the desired interaction effect |
mu0 |
the overall mean, useful for speeding up computations |
maxpts |
the maximum number of function evaluations used in the calculation of each predicted output, see adapt |
Implements the FANOVA decomposition of Schonlau and Welch (2006), for main and two-way factor effects, using a prior distribution of all components that is ~ independent U(a,b), where (a,b) corresponds to the (min,max) value of that
component in the design. For all parameters, (a,b) can be overwritten via the arguments lower
and upper
.
OverallMean
and ANOVAMainEffect
use the function integrate
for integration; FunctionalVariance and ANOVAInteractionEffect also use the library adapt
for multi-dimensional integration.
OverallMean
returns the mean value of the Gaussian process predictor
FunctionalVariance
returns the overall variance of the Gaussian process predictor
ANOVAMainEffect
returns the variation due to the single effect specified by effectNum
ANOVAInteractionEffect
returns the variation due to the joint two-way effect specified by effectNms
If R starts to hang, changing the default value of maxpts
is needed (though convergence no longer guaranteed)
From adapt:
Setting maxpts
to NULL asks the function to keep doubling maxpts
(starting at max(minpts,500, r(ndim))
) until the desired
precision is achieved or R runs out of memory...
Garrett M. Dancik dancikg@nsula.edu
Schonlau, M. and Welch, W. 2006. Screening the Input Variables to a Computer Model Via Analysis of Variance and Visualization, in Screening: Methods for Experimentation in Industry, Drug Discovery, and Genetics. A Dean and S. Lewis, eds. (New York: Springer).
http://users.nsula.edu/dancikg/mlegp/
The user does not have to directly call these functions, and instead should use FANOVADecomposition
integrate
and package adapt for details on single and multi-dimensional integration
## Not run: ## do not run the following code unless the library adapt is loaded ## ## fit the Gaussian process ## x1 = kronecker(seq(0,1,by=.25), rep(1,5)) x2 = rep(seq(0,1,by=.25),5) z = 4 * x1 - 2*x2 + x1 * x2 + rnorm(length(x1)) fit = mlegp(cbind(x1,x2), z, param.names = c("x1", "x2")) ## calculate the proportion of total variance accounted for by x1 ## ANOVAMainEffect(fit, "x1") / FunctionalVariance(fit) * 100 ## check this against 'FANOVADecomposition' ## FANOVADecomposition(fit) ## End(Not run)