Package 'MOFAT'

Title: Maximum One-Factor-at-a-Time Designs
Description: Identifying important factors from a large number of potentially important factors of a highly nonlinear and computationally expensive black box model is a difficult problem. Xiao, Joseph, and Ray (2022) <doi:10.1080/00401706.2022.2141897> proposed Maximum One-Factor-at-a-Time (MOFAT) designs for doing this. A MOFAT design can be viewed as an improvement to the random one-factor-at-a-time (OFAT) design proposed by Morris (1991) <doi:10.1080/00401706.1991.10484804>. The improvement is achieved by exploiting the connection between Morris screening designs and Monte Carlo-based Sobol' designs, and optimizing the design using a space-filling criterion. This work is supported by a U.S. National Science Foundation (NSF) grant CMMI-1921646 <https://www.nsf.gov/awardsearch/showAward?AWD_ID=1921646>.
Authors: Qian Xiao [aut], V. Roshan Joseph [aut, cre]
Maintainer: V. Roshan Joseph <[email protected]>
License: GPL (>= 2)
Version: 1.0
Built: 2025-02-15 05:09:42 UTC
Source: https://github.com/cran/MOFAT

Help Index


Screening measures

Description

This function can be used for computing screening measures.

Usage

measure(design, y)

Arguments

design

design matrix, which should have the Sobol' design structure

y

response vector

Details

The measure function computes the screening measures such as the total Sobol' indices (Sobol' 1993) and μ\mu^* measure of Campolongo et al. (2007). The design matrix should have the Sobol' design structure. Please see Xiao et al. (2022) for details.

Value

t

Total Sobol' index

mustar

μ\mu^* measure

Author(s)

Qian Xiao and V. Roshan Joseph

References

Sobol’, I. M. (1993), “On sensitivity estimation for nonlinear mathematical models,” Mathematical Modeling and Computational Experiments, 1, 407–414.

Campolongo, F., Cariboni, J., and Saltelli, A. (2007), “An effective screening design for sensitivity analysis of large models,” Environmental modelling and software, 22, 1509–1518.

Xiao, Q., Joseph, V. R., and Ray, D. M. (2022). “Maximum One-Factor-At-A-Time Designs for Screening in Computer Experiments”. Technometrics, to appear.

Examples

#Friedman function
fun <- function (X)
{
 Y <- 10*sin(pi*X[1]*X[2]) + 20*(X[3] - 0.5)^2 + 10*X[4] + 5*X[5]
 return(Y)
}
design = mofat(p=10, l=3)
y = apply(design, 1, fun)

#Screening measures
measure(design, y)

MOFAT

Description

This function can be used for generating MOFAT designs.

Usage

mofat(p, l, method = "best")

Arguments

p

number of factors

l

number of base runs

method

choose among "uniform", "projection", and "best"

Details

The mofat function generates the MOFAT design for a given number of factors (p2p\ge 2) and number of base runs (l3l \ge 3). The total number of runs in the MOFAT design will be l(p+1)l(p+1). A MOFAT design can be viewed as an optimized version of Morris screening design (Morris 1991) by exploiting its connections with the Monte Carlo-based design of Sobol' (1993). Please see Xiao et al. (2022) for details.

Three choices for the method are given: "uniform", "projection", and "best". Option "uniform" gives l equally-spaced levels for the entire design, which are also balanced. "projection" option adjusts the levels of the two base matrices A and B such that there are 2l2l or 2l12l-1 levels in the design depending on l is even or odd. Option "best" (default) chooses the best among the first two options using maximin distance criterion.

Value

design

MOFAT design

Author(s)

Qian Xiao and V. Roshan Joseph

References

Morris, M. D. (1991), “Factorial sampling plans for preliminary computational experiments,” Technometrics, 33, 161–174.

Sobol’, I. M. (1993), “On sensitivity estimation for nonlinear mathematical models,” Mathematical Modeling and Computational Experiments, 1, 407–414.

Xiao, Q., Joseph, V. R., and Ray, D. M. (2022). “Maximum One-Factor-At-A-Time Designs for Screening in Computer Experiments”. Technometrics, to appear.

Examples

#MOFAT with three base runs
mofat(p=10, l=3, method="uniform")
mofat(p=10, l=3, method="projection")

#MOFAT with five base runs
mofat(p=10,l=5)
dim(mofat(p=125,l=5))