Package 'desirability'

Title: Function Optimization and Ranking via Desirability Functions
Description: S3 classes for multivariate optimization using the desirability function by Derringer and Suich (1980).
Authors: Max Kuhn
Maintainer: Max Kuhn <[email protected]>
License: GPL-2
Version: 2.1
Built: 2024-09-20 08:05:29 UTC
Source: https://github.com/topepo/desirability

Help Index


Desirability Functions

Description

Functions implementing multivariate optimization and ranking using the desirability function approach described in Derringer and Suich (1980)

Usage

## Default S3 method:
dMax(low, high, scale = 1, tol = NULL, ...)
## Default S3 method:
dMin(low, high, scale = 1, tol = NULL, ...)
## Default S3 method:
dTarget(low, target, high, lowScale = 1, highScale = 1, tol = NULL, ...) 
## Default S3 method:
dArb(x, d, tol = NULL, ...)
## Default S3 method:
dBox(low, high, tol = NULL, ...)
## Default S3 method:
dCategorical(values, tol = NULL, ...)
## Default S3 method:
dOverall(...)

Arguments

low

a constant to define the desirability function for dMax, dMin, dTarget and dBox

high

a constant to define the desirability function for dMax, dMin, dTarget and dBox

target

a constant to define the desirability function for dMax, dMin, dTarget and dBox

scale

the scaling factor for dMax and dMin. Values less than one make the criteria more difficult to satisfy while values greater than one make it easier.

lowScale

the scaling factor for dTarget. This bends the curve between the points low and target. Values less than one make the criteria more difficult to satisfy while values greater than one make it easier.

highScale

the scaling factor for dTarget. This bends the curve between the points high and target. Values less than one make the criteria more difficult to satisfy while values greater than one make it easier.

x

a set of input values

d

a set of desirabilites between zero and one (inclusive) that match the length of x

values

a named numeric vector of possible values

tol

an optional tolerance for zero desirability. When this is non-null, zero desirabilites are replaced with this value

...

For dOverall, this is one or more desirability objects. For the other methods, this argument is not currently used

Details

The functions dMax, dMin, dTarget ande dOverall are the basic equations used by Derringer and Suich (1980). dBox is a simple step funciton between two points. dArb can be used to create other shapes that do not fall into the other funcional forms. See the package vignette or the references for more details

Value

a list. Common values are:

tol

the value specified by the tol argument

call

the origianl function call

Author(s)

Max Kuhn

References

Derringer, G. and Suich, R. (1980), Simultaneous Optimization of Several Response Variables. Journal of Quality Technology 12, 214–219.

See Also

predict.dMax

Examples

dMax.default(1,3)
dMax(1,3)

Predict method for desirability functions

Description

Predicted values based on desirability objects

Usage

## S3 method for class 'dMax'
predict(object, newdata = NA, missing = object$missing, ...)
## S3 method for class 'dMin'
predict(object, newdata = NA, missing = object$missing, ...)
## S3 method for class 'dTarget'
predict(object, newdata = NA, missing = object$missing, ...)
## S3 method for class 'dArb'
predict(object, newdata = NA, missing = object$missing, ...)
## S3 method for class 'dBox'
predict(object, newdata = NA, missing = object$missing, ...)
## S3 method for class 'dCategorical'
predict(object, newdata = NA, missing = object$missing, ...)
## S3 method for class 'dOverall'
predict(object, newdata = data.frame(NA, ncol = length(object$d)), all = FALSE, ...)

Arguments

object

a object of class: dMax, dMin, dTarget, dArb, dBox or dOverall

newdata

values of the response for predicting desirability

all

a logical (for predict.dOverall only); should the individual desirabilities also be returned?

missing

a number between 0 and 1 for missing values (the internally estimated value is used by default)

...

no currently used

Details

The responses are translated into desirability units.

Value

a vector, unless predict.dOverall is used with all=TRUE, in which case a matrix is returned.

Author(s)

Max Kuhn

References

Derringer, G. and Suich, R. (1980), Simultaneous Optimization of Several Response Variables. Journal of Quality Technology 12, 214–219.

See Also

dMax

Examples

d1 <- dMin(1,3)
d2 <- dTarget(1, 2, 3)
d3 <- dCategorical(c("a" = .1, "b" = .7))
dAll <- dOverall(d1, d2, d3)

outcomes <- data.frame(seq(0, 4, length = 10),
                       seq(0.5, 4.5, length = 10),
                       sample(letters[1:2], 10, replace = TRUE))
names(outcomes) <- c("x1", "x1", "x3")   
  
predict(d1, outcomes[,2])
predict(d2, outcomes[,2])
predict(d3, outcomes[,3])
predict(dAll, outcomes)
predict(dAll, outcomes, all = TRUE)