Learn R Programming

fanovaGraph (version 1.5)

estimateGraph: FANOVA graph estimation.

Description

Estimates the structure of the FANOVA graph by estimating the total interaction indices for the graph edges (a particular case of superset importance introduced by Liu and Owen, 2006), the main effect indices for the graph vertices and the overall variance for normalizing the indices and finding the clique structure of the estimated graph.

Usage

estimateGraph(f.mat, d, q = NULL, q.arg = NULL, n.tot = NULL, method = "LiuOwen", 
n.lo = NULL, n.mc = NULL, n.fast = 500, L = NULL, M = 6, n.pf = NULL, n.main = 1000, 
confint = TRUE, print.loop.index = FALSE, ...)

Arguments

f.mat

vectorized function for which the FANOVA graph shall be estimated

d

integer, number of input factors (vertices)

q

a vector of character strings of quantile functions corresponding to the factors distributions, it can be a single character string meaning same distribution for all, if not specified "qunif" is taken

q.arg

a list of lists of quantile functions parameters of the distributions in q, it can be a single list meaning same parameters for all, if not specified the default values of the respective distributions are taken

n.tot

optional integer, total number of function evaluations, instead of n.tot method related parameters (n.lo, n.mc, L or n.sobol) can be provided

method

character string specifying the estimation method of the total interaction indices, to be chosen between "LiuOwen", "FixFast", "RBD" and "PickFreeze", defaults to "LiuOwen", see references for further details

n.lo

optional integer, only if method="LiuOwen", number of Monte Carlo simulations in method of Liu and Owen

n.mc

optional integer, only if method="FixFast", number of Monte Carlo simulations for the expectation in fixing method using FAST

n.fast

optional integer, only if method="FixFast", number of design points for FAST algorithm, defaults to 500

L

optional integer, only if method="RBD", parameter L in RBD-FAST method

M

optional integer, only if method="RBD", parameter M in RBD-FAST method

n.pf

optional integer, only if method="PickFreeze", number of Monte Carlo simulations in pick-and-freeze method

n.main

integer, number of Monte Carlo Simulations for computing main effect indices

confint

optional Boolean, if TRUE, standard error and 95% confidence intervals of the indices are computed additionally for method="LiuOwen", defaults to TRUE

print.loop.index

optional Boolean, if TRUE, loop indices are printed

...

additional arguments to be passed to the function f.mat

Value

an object of class graphlist containing the graph structure which includes

d

number of input factors

tii

matrix containing the unscaled total interaction indices and if confint = TRUE their standard error and lower and upper confidence limits

i1

matrix containing the unscaled main effect indices

V

overall variance

tii.scaled

matrix containing the scaled total interaction indices

cliques

list of cliques

References

Fruth, J.; Roustant, O.; Kuhnt, S. (2013+) Total interaction index: A variance-based sensitivity index for second-order interaction screening.

Janon, A.; Klein, T.; Lagnoux, A.; Nodet, M.; Prieur, C. (2013) Asymptotic normality and efficiency of two Sobol index estimators.

Liu, R.; Owen, A.B. (2006) Estimating mean dimensionality of analysis of variance decompositions, Journal of the American Statistical Association, 101 474, 712-721.

Mara, T.A (2009) Extension of the RBD-FAST method to the computation of global sensitivity indices, Reliability Engineering & System Safety, 94 no. 8, 1274-1281.

Muehlenstaedt, T.; Roustant, O.; Carraro, L.; Kuhnt, S. (2011) Data-driven Kriging models based on FANOVA-decomposition, Statistics and Computing.

Sobol', I. M. (1993) Sensitivity estimates for nonlinear mathematical models, Mathematical Modeling and Computational Experiment, 1, 407-414.

Examples

Run this code
# NOT RUN {
# Ishigami function, true analytical values: D12 = D23 = 0, D13 =~ 3.374
q.arg = list(list(min=-pi, max=pi), list(min=-pi, max=pi), list(min=-pi, max=pi)) 
estimateGraph(f.mat=ishigami.fun, d=3, q.arg=q.arg, n.tot=10000, method="LiuOwen")
estimateGraph(f.mat=ishigami.fun, d=3, q.arg=q.arg, n.tot=10000, method="FixFast")
estimateGraph(f.mat=ishigami.fun, d=3, q.arg=q.arg, n.tot=10000, method="RBD")
estimateGraph(f.mat=ishigami.fun, d=3, q.arg=q.arg, n.tot=10000, method="PickFreeze")
# }

Run the code above in your browser using DataLab