od_REX: Optimal approximate size-constrained design

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/od_REX.R

Description

Computes an optimal approximate design under the standard (size) constraint using one of three methods.

Usage

1
2
  od_REX(Fx, crit="D", h=NULL, w1=NULL, alg.AA="REX",
         eff=0.999999, it.max=Inf, t.max=60, echo=TRUE, track=TRUE)

Arguments

Fx

the n times m (where m>=2, m<=n) matrix containing all candidate regressors (as rows), i.e., n is the number of candidate design points, and m (where m>=2) is the number of parameters

crit

the optimality criterion. Possible values are "D", "A", "I", "C" and "c".

h

a non-zero vector of length m corresponding to the coefficients of the linear parameter combination of interest. If crit is not "C" nor "c" then h is ignored. If crit is "C" or "c" and h=NULL then h is assumed to be c(0,...,0,1).

w1

a real vector of length n with non-negative components, representing the initial design. The information matrix of w1 must be nonsingular. It should have a small support (e.g., m) provided that alg.AA="REX" and it should have the full support of length n provided that alg.AA="MUL". The argument w1 can also be NULL; in that case a non-singular initial design is generated by od_PIN.

alg.AA

the computational method to be applied; possible choices are "REX", "MUL", and "VDM". For crit="c", argument alg.AA is ignored and the function uses the rapid linear programming approach (see the references).

eff

the efficiency for the stopping rule in the interval (0,1). The algorithm will be stopped if a lower bound on the efficiency of the actual design is equal or greater than eff.

it.max

the maximum allowed number of iterations of the method.

t.max

the time limit for the computation.

echo

Print the call of the function?

track

Trace the computation?

Details

The function implements three algorithms for the computation of optimal approximate designs with respect to the criteria of D-, A-, I-, and C-optimality: the standard vertex-direction method ("VDM"), the standard multiplicative method ("MUL"), and the randomized exchange method ("REX"). The first two methods are classical and the method REX is proposed in Harman et al (2019).

For the specific criterion of c-optimality, the function runs the LP-based method from Harman and Jurik (2008).

The information matrix of w1 should have the reciprocal condition number of at least 1e-5. Even if no initial design is provided, the model should be non-singular in the sense that there exists an approximate design w with an information matrix that is not severely ill-conditioned. If this requirement is not satisfied, the computation may fail, or it may produce a deficient design. If w1=NULL, the initial design is computed with od_PIN.

Since the result is a normalized approximate design, it only gives recommended proportions of trials in individual design points. To convert it to an optimal approximate design of size N (under the standard, i.e., size, constraints), just multiply w.best by N. To obtain an efficient exact design with N trials, w.best must be multiplied by N and the result should be properly rounded to the neighboring integers by, for example, od_PUK. However, it is often more efficient to directly use od_KL to obtain an efficient exact design of size N.

Value

A list with the following components:

call

The call of the function.

w.best

The resulting exact design.

supp

The indices of the support of w.best.

w.supp

The weights of w.best on the support.

M.best

The information matrix of w.best.

Phi.best

The criterion value of w.best.

eff.best

A lower bound on the efficiency of w.best with respect to the optimal approximate design.

n.iter

The number of iterations performed.

t.act

The actual time of the computation.

Note

REX is a randomized algorithm, therefore the resulting designs may differ from run to run. In case that the optimal design is unique, the fluctuation of the results are minor and can be made negligible by setting eff to a value very close to 1.

If the optimal design is not unique, REX provides a selection of significantly different optimal designs by running it multiple times, which can help choosing the best optimal design based on a secondary criterion.

A unique and often "symmetric" optimal design (within the possibly infinite set of optimal designs) can be computed by od_SYM.

Note also that the optimal information matrix is always unique for criteria of D-, A-, I- and C-optimality, even if the optimal design is not unique.

While the default choice is alg.AA="REX", our numerical experience suggests that alg.AA="MUL" may be a better choice in problems with a relatively small n and a relatively large m.

The method VDM is included mostly for teaching purposes; it is only rarely competitive with REX or MUL. Its advantage is that it tends to be easy to generalize to more complex optimum design problems.

Author(s)

Radoslav Harman, Lenka Filova

References

Harman R, Jurik T (2008). Computing c-optimal experimental designs using the simplex method of linear programming. Computational Statistics and Data Analysis 53 (2008) 247-254

Harman R, Filova L, Richtarik P (2019). A randomized exchange algorithm for computing optimal approximate designs of experiments. Journal of the American Statistical Association, 1-30.

See Also

od_KL, od_RC, od_MISOCP, od_AQUA

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
## Not run: 
# Note: Many small examples of od_REX are in other help files.

# Compute an essentially perfect D-optimal design
# on 10 million design points in a few seconds
n <- 10000000; m <- 5
Fx <- matrix(rnorm(n*m), ncol = m)
w <- od_REX(Fx, t.max = 10)$w.best
Fx.small <- od_DEL(Fx, w)$Fx.keep
w <- od_REX(Fx.small, eff = 0.999999999)$w.best
od_plot(Fx.small, w, Fx.small[, 1:2], dd.pch = 16, dd.size = 0.35)

## End(Not run)

OptimalDesign documentation built on March 26, 2020, 9:35 p.m.