Learn R Programming

sensitivity (version 1.3-1)

morris: The Morris OAT Screening Method

Description

morris is the implementation of the Morris OAT Screening method. This function generates the Morris design of experiments and computes the measures of sensitivity $\mu^*$ and $\sigma$.

Usage

morris(model = NULL, factors, levels, R, jump = NULL,
       min = 0, max = 1, scale = TRUE, optim = NULL, ...)

Arguments

model
the model
factors
the number of factors, or their names
levels
the number of levels of the design grid
R
the number of repetitions of the design, i.e. the number of elementary effect computed per factor
jump
the grid jump coefficient
min
the minimum values for the factors
max
the maximum values for the factors
scale
logical. If TRUE, the input and output data are scaled
optim
optimization of the design for better coverage of the space (cf Campolongo 2005), not documented yet (for informations feel free to ask the maintainer)
...
any other arguments for model which are passed unchanged each time it is called

Value

  • morris returns an object of class "morris". An object of class "morris" is a list containing the following components:
  • xthe design of experiments (input sample)
  • ythe response
  • eethe matrix of the elementary effects
  • muthe estimations of the $\mu^*$ index
  • sigmathe estimations of the $\sigma$ index

Computational cost

The number of model evaluations is $(p+1) \times R$ where $p$ is the number of factors.

Details

model is a function or a predictor (a class with a predict method) computing the response y based on the sample given by x. If no model is specified, the indices will be computed when one gives the response.

factors could either be a single number or a vector of character strings.

The number of levels is not necessary the same for each space coordinate. It is the case when levels is a single integer. min and max are boundaries of the region of experimentation. They can be single values (the same for each factor) or vectors.

jump is such that: $$\Delta_i = \texttt{jump}_i \times \frac{\texttt{max}_i-\texttt{min}_i}{\texttt{levels}_i-1}$$ If jump is given as NULL and the number of levels is even (for each component), then jump has the value recommended by Morris: $\texttt{jump} = \texttt{levels} / 2$. If jump is a single value, then it is taken the same for each coordinate.

References

Saltelli, A., Chan, K. and Scott, E. M., 2000, Sensitivity analysis. Wiley.

Morris, M. D., 1991, Factorial sampling plans for preliminary computational experiments. Technometrics, 33, 161--174.

Examples

Run this code
# Test case : the non-monotonic function of Morris

sa <- morris(model = morris.fun, factors = 20, levels = 4, R = 4)
print(sa)
plot(sa)

Run the code above in your browser using DataLab