Learn R Programming

sensitivity (version 1.2)

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, k.delta = "usual",
       min = 0, max = 1, scale = TRUE, nboot = 0, conf = 0.95, ...)
## S3 method for class 'morris':
compute(sa, y = 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.
k.delta
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.
nboot
the number of bootstrap replicates.
conf
the confidence level for bootstrap confidence intervals.
sa
the sensitivity analysis object.
y
the response.
...
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:
  • modelthe model.
  • levelsthe number of levels of the design grid.
  • rthe number of repetitions of the design.
  • deltathe value of $\Delta$.
  • minthe minimum values for the factors.
  • maxthe maximum values for the factors.
  • scalelogical. If TRUE, the input and output data are scaled before computing the elementary effects.
  • nbootthe number of bootstrap replicates.
  • confthe confidence level for bootstrap confidence intervals.
  • Dthe successive diagonal matrices composed of equiprobable +1 and -1.
  • Pthe successive random permutation matrices.
  • xthe design of experiments (input sample).
  • ythe response.
  • muthe estimations of the $\mu^*$ index.
  • sigmathe estimations of the $\sigma$ index.
  • callthe matched call.

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.

The number of levels is the same for each space coordinate. Then levels must be a single integer.

k.delta is such that: $$\Delta_i = \textrm{k.delta} \frac{\textrm{max}_i-\textrm{min}_i}{k-1}$$ where $k$ is the number of levels (levels). If k.delta is given as "usual" and $k$ is even, then $\Delta$ is the value recommended by Morris: $$\Delta_i = (\textrm{max}_i-\textrm{min}_i) \frac{k}{2(k-1)}$$

min and max are boundaries of the region of experimentation. They can be single values (the same for each factor) or vectors.

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.

See Also

sensitivity compute

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