Learn R Programming

OptimalDesign (version 1.0.2.1)

od_REX: Optimal approximate size-constrained design

Description

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

Usage

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)

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.

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?

Author

Radoslav Harman, Lenka Filova

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.

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

Run this code
if (FALSE) {
# 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)
}

Run the code above in your browser using DataLab