od_REX {OptimalDesign} | R Documentation |
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)
Arguments
Fx |
the |
crit |
the optimality criterion. Possible values are |
h |
a non-zero vector of length |
w1 |
a real vector of length |
alg.AA |
the computational method to be applied; possible choices are |
eff |
the efficiency for the stopping rule in the interval |
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.supp |
The weights of |
M.best |
The information matrix of |
Phi.best |
The criterion value of |
eff.best |
A lower bound on the efficiency of |
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
## 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)