Package `ICAOD`

Package ‘ICAOD’
January 9, 2017
Title Imperialist Competitive Algorithm for Optimal Designs
Version 0.9.2
Description Finding locally D-optimal, minimax D-optimal, standardized maximin D-optimal, optimon-the-average and multiple objective optimal designs for nonlinear models. Different Fisher information matrices can also be set by user. There are also useful functions for verifying the optimality of the designs with respect to different criteria by equivalence theorem. ICA is a metaheuristic evolutionary algorithm inspired from the socio-political process of humans. See Masoudi et al. (2016) <doi:10.1016/j.csda.2016.06.014>.
Depends R (>= 3.1.3)
License GPL (>= 2)
LazyData true
LinkingTo Rcpp, RcppEigen
Imports Rcpp, Rsolnp, nloptr, stats, graphics, grDevices
Suggests rgl, lattice
RoxygenNote 5.0.1
BugReports https://github.com/ehsan66/ICAOD/issues
URL https://github.com/ehsan66/ICAOD
NeedsCompilation yes
Author Ehsan Masoudi [aut, cre],
Heinz Holling [aut],
Weng Kee Wong [aut]
Maintainer Ehsan Masoudi <[email protected]>
Repository CRAN
Date/Publication 2017-01-09 09:49:29
R topics documented:
ave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
equivalence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
equivalence_ave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
4
9
2
ave
equivalence_multiple . .
FIM_comp_inhibition . .
FIM_emax_3par . . . .
FIM_exp_2par . . . . .
FIM_exp_3par . . . . .
FIM_logisitic_1par . . .
FIM_logistic . . . . . .
FIM_logistic_4par . . .
FIM_loglin . . . . . . .
FIM_michaelis . . . . .
FIM_mixed_inhibition .
FIM_noncomp_inhibition
FIM_power_logistic . . .
FIM_uncomp_inhibition
ICAOD . . . . . . . . .
iterate . . . . . . . . . .
iterate.ICA . . . . . . .
mica . . . . . . . . . . .
multica_4pl . . . . . . .
plot.ICA . . . . . . . . .
print.equivalence . . . .
print.ICA . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Index
ave
10
12
13
14
15
16
17
18
19
20
21
22
23
24
25
25
26
27
33
36
36
37
38
Imperialist Competitive Algorithm to find optimum on-the-average designs based on the least favorable distribution.
Description
For nonlinear models, if a set of possible values of the vector parameters θ is available, the optimumon-the-average designs can be applied. In this approach the criterion is evaluated at plausible parameter values and weighted by a probability measure π, the measure having support in the parameter
space Θ. The resulted weighted criterion is thus
Z
B(ξ, π) =
Ψ(ξ, θ)d(π(θ)).
Θ
For current version Ψ(ξ, θ) is equal to |M (ξ, θ)|.
Usage
ave(fimfunc, lx, ux, prior, param, iter, k, control = list(),
initial = NULL, ...)
ave
3
Arguments
fimfunc
the name of the FIM from available FIM functions in the package as a character string or the user-written function that returns the FIM as a matrix. See
"Details" in mica.
lx
lower bound of the design space χ
ux
upper bound of the design space χ
prior
a vector of the probability measure π.
param
a matrix for set of parameters, i.e. support of π. Every row is is a vector of
values of a parameter. The number of its rows must be equal to the length of
prior.
iter
maximum number of iterations
k
number of design (support) points. Must be larger than the number of model
parameters p to avoid singularity of the FIM.
control
a list of contains the tuning parameters of ICA and the design problem. See
"Details" of mica.
initial
a matrix of the initial designs that will be used as initial countries in ICA. Every
row is a design and concatenation of x and w. Default is NULL. See "Details" of
mica.
...
further arguments to be passed to the FIM function given by fimfunc.
Value
an object of class "ICA". See "Value" in mica.
Examples
## Not run:
test <- ave(fimfunc = "FIM_logistic",
lx = -5, ux = 5, prior = rep(1/4, 4),
param = matrix(c(0.5, 1.5, 0.5, 1.5, 4.0, 4.0, 5.0, 5.0), 4, 2),
iter = 200, k = 3)
plot(test)
print(test)
################################################################################
## using equivalence theorem as stopping rule. Can be applied in H-algorithm
test <- ave (fimfunc = "FIM_logistic",
lx = -5, ux = 5, prior = rep(1/4, 4),
param = matrix(c(0.5, 1.5, 0.5, 1.5, 4.0, 4.0, 5.0, 5.0), 4, 2),
iter = 200, k =3,
control = list(stop_rule = "equivalence",
stoptol = .9995, equivalence_every = 100))
## End(Not run)
4
equivalence
equivalence
Checking optimality of a design with respect to locally D-optimal, minimax D-optimal and standardized maximin D-optimal criteria
Description
An approximate design ξ is a probability measure defined on a user-selected design space χ. Let
Ξ be the space of all such designs on χ and let ξ be an approximate design with k support points
Pk
at x1 , x2 , ..., xk from χ with corresponding weights w1 , ..., wk , i=1 wi = 1. A design ξ ∗ is
minimax D-optimal among all designs on χ if and only if there exists a probability measure µ∗ on
∗
∗
∗
A(ξ ) = ν ∈ Θ | −log|M (ξ , ν)| = max −log|M (ξ , θ)| ,
θ∈Θ
such that the following inequality holds for all x ∈ χ
Z
c(x, µ∗ , ξ ∗ ) =
trM −1 (ξ ∗ , ν)I(x, ν)µ∗ d(ν) − p ≤ 0,
A(ξ ∗ )
with equality at all support points of ξ ∗ . Here, p is the number of model parameters. c(x, µ∗ , ξ ∗ )
is called sensitivity function. The set A(ξ ∗ ) is sometimes called the answering set of ξ ∗ and the
measure µ∗ is a subgradient of the non-differentiable criterion evaluated at M (ξ ∗ , ν).
For standardized maximin D-optimal design the answering set N (ξ ∗ ) is
N (ξ ∗ ) = ν ∈ Θ | effD (ξ ∗ , ν) = min effD (ξ ∗ , θ) .
θ∈Θ
1
|M (ξ,θ)| p
where effD (ξ, θ) = ( |M
(ξθ ,θ)| ) and ξθ is the locally D-optimal design with respect to θ.
For locally optimal designs the answering set has only one element that is ν = θ0 and µ = 1.
Usage
equivalence(fimfunc, x, w, lx, ux, lp, up, type, n.seg = 6,
maxeval_equivalence = 6000, locally = NULL, control_gosolnp = NULL,
plot_3d = "lattice", plot_sensitivity = TRUE, ...)
Arguments
fimfunc
Fisher information matrix. Can be the name of the Fisher information matrix
from FIM family functions available in this package as a character string or a
function that returns the information matrix. See "Details" of mica.
x
a vector of design points. If the model has n explanatory variables, let xij be the
jth component of the $ith design point. The argument x is x = (x11 , x21 , ..., xk1 , ..., x1n , x2n , ...xkn ).
See "Examples" on how to set this argument when the design space does not
have one dimension, e.g. is of two-dimension.
w
a vector of design weights
lx
lower bound of the design space χ
equivalence
5
ux
upper bound of the design space χ
lp
lower bound of the region of uncertainty Θ. As same order as the argument
param of fimfunc.
up
upper bound of the region of uncertainty Θ. For the locally D-optimal design,lp
and up must be fixed to the same values, i.e. lp = up.
type
a character string that shows the type of optimal design. "minimax" for a minimax optimal design, "standardized" for a standardized maximin D-optimal
design and "locally" for a locally D-optimal design. When type = "locally",
then lp must be set equal to up.
n.seg
number of starting points to find all local optima of the inner problem for constructing the answering set A(ξ) or N (ξ) is equal to (n.seg + 1)^p. Applicable
only when type = "standardized" or type = "minimax". Defaults to 4. See
"Details".
maxeval_equivalence
maximum number of evaluations (maxeval) that will be passed to optimization
function directL to find the maximum of the sensitivity function required for
calculating ELB. See "Details".
locally
control_gosolnp
a function that returns the value of determinant of FIM for the locally D-optimal
design, i.e. |M (ξθ , θ)|. Only required when type = "standardized". See
"Details".
tuning parameters of the function gosolnp. Only when 1) type = "standardized"
2) fimfunc is a character string 3) locally D-optimal design is not available in a
closed-form. See "Details" for the components.
plot_3d
a character strings shows which plotting package should be used to plot the twodimensional sensitivity function. plot_3d = "lattice" to use package lattice
and plot_3d = "rgl" to use package rgl. The package should be installed
before use.
plot_sensitivity
logical, if TRUE, the sensitivity function will be plotted.
...
further argument to be passed to fimfunc.
Details
There is no theoretical rule on how to choose the number of points in A(ξ ∗ ) as support for the
measure µ∗ and they would have to be found by trial and error. To this end, we first find all the
local maxima for optimization over Θ by a local search (L-BFGS-B) with different (n.seg + 1)^p
starting points and then pick the ones nearest to the global minimum subject to a tolerance of 0.005.
We measure the closeness of a design ξ to the minimax optimal design using its minimax Defficiency defined by
1/p
maxθ∈Θ − log |M (ξD , θ)|
,
deff =
maxθ∈Θ − log |M (ξ, θ)|
where ξD is the minimax D-optimal design. We may obtain a D-efficiency Lower Bound (ELB)
for the minimax D-efficiency of a design ξ without knowing ξ ∗ . ELB is calculated by p/(p +
maxx∈χ c(x, µ, ξ)), where µ∗ is the probability measure defined on A(ξ) that maximizes c(xξ , µ, ξ)
6
equivalence
over all probability measures µ and xξ is any arbitrary support point of ξ.
Using similar arguments, we can find the D-efficiency lower bound for the standardized maximin
D-optimal and locally D-optimal designs.
For standardized maximin D-optimal designs, if fimfunc is a character strings from the list of
available FIM, then the function locally is created automatically as follows:
• if a closed-form is available for the locally D-optimal designs for the model of interest: function locally combines some algebraic functions to return the value of the determinant. See
"Details" of each defined FIM for the formula.
• if no closed-form is available for the locally D-optimal designs for the model of interest:
function gosolnp is used to find the locally D-optimal design (within the class of minimallysupported and equally-weighted designs). Argument control_gosolnp is a list that contains
some tuning parameters of the function gosolnp that are n.sim (default 500), n.restarts
(default 1) and trace (default FALSE).
We note that if fimfunc is defined by the user, defining locally is obligatory. In this case function
locally must have two arguments: 1) model parameters param 2) auxiliary that is for internal
use.
To calculate the ELB, it is necessary to find the global maximum of the sensitivity function. if a
local maximum is found then a negative value for ELB may be reported. In this case, increasing the
value of maxeval_equivalence can fix the computational issue.
The criterion value for locally D-optimal design is
− log |M (ξ, θ0 )|;
for minimax optimal design is (global maximum)
max − log |M (ξ, θ)|;
θ∈Θ
for standardized maximin optimal design is (global minimum)
"
1 #
|M (ξ, θ)| p
.
inf
θ∈Θ
|M (ξθ , θ)|
Value
an object of class 'equivalence' that is a list contains:
type argument type that is required for print methods.
all_optima a matrix; all the local maxima of the minimax D-criterion for minimax optimal design problems or all the local minima of the standardized maximin D-criterion standardized
maximin optimal design problems. Each row is one element of a set of parameters. For locally
optimal designs it will be set to NA.
all_optima_cost cost of each element of all_optima. NA for locally optimal designs.
answering a matrix; answering set A(ξ) or N (ξ) chosen from all_optima based on a pre-chosen
tolerance, say 0.005. Each row is one element of the set. NA for locally optimal designs.
equivalence
7
answering_cost cost of each element of answering set. NA for locally optimal designs.
mu the probability measure on the answering set. It is NA for a locally optimal design.
max_deriv maximum of the sensitivity function
ELB D-efficiency lower bound. If negative, probably a local maximum has been found. In this case,
the value of maxeval_equivalence should be increased to find the global maximum.
crtval criterion value. In minimax optimal design it is equal to the minimum of answering_cost
and for the standardized maximin optimal design it is equal to the maximum of answering_cost.
For the locally D-optimal design it is the value of the logarithm of the determinant of the FIM.
See "Details".
References
Atwood, C. L. (1969). Optimal and efficient designs of experiments. The Annals of Mathematical
Statistics, 1570-1602.
See Also
print.equivalence, equivalence_ave and equivalence_multiple.
Examples
#############################################################
## check locally optimality: lp = up and type = "locally"
inipar <- c(2, 3)
equivalence (fimfunc = "FIM_logistic",
x = c(1.485526, 2.51446 ),
w = c(.5, .5),
lx = -5, ux = 5,
lp = inipar, up = inipar,
type = "locally")
##############################################################################
## standardized maximin D-optimal design does not depend on theta0 and theta1,
## so we fix them locally D-optimal design has a closed-form which is defined
## internally
equivalence (fimfunc = "FIM_loglin",
x = c(0, 4.2494, 17.0324, 149.9090),
w = c(0.3204, 0.1207, 0.2293, 0.3296),
lx = 0, ux = 150,
lp = c(2, 2, 1), up = c(2, 2, 15),
type = "standardized")
##############################################################################
## Not run:
## there is no analytical solution for locally optimal design for this model
## gosolnp automatically will be used to find the locally
## optimal design in the denominator of standardized criterion.
## Becasue, it is two-level nested optimization
## (first level on parameter space) and second level on design space)
## it takes so long to find 'all_optima' and construct 'answerign' set.
8
equivalence
equivalence (fimfunc = "FIM_power_logistic",
x = c(-4.5515, 0.2130, 2.8075),
w = c(0.4100, 0.3723, 0.2177),
lx = -5, ux = 5,
lp = c(0, 1), up = c(3, 1.5),
type = "standardized",
s = .2)
## End(Not run)
############################################################################
### when a design point is of two dimension
## Not run:
equivalence (fimfunc = "FIM_mixed_inhibition",
x = c(3.4614, 4.2801, 30, 30, 0, 3.1426, 0, 4.0373 ),
w = rep(1/4, 4),
lx = c(0, 0), ux = c(30, 60),
lp = c(7, 4, 2, 4), up = c(7, 5, 3, 5),
type = "standardized")
## here the design points are x1 = c(3.4614, 0), x2 = c(4.2801, 3.1426),
## x3 = c(30, 0), x4 = c(30, 4.0373)
## using package rgl (rgl must be installed for plot)
equivalence (fimfunc = "FIM_mixed_inhibition",
x = c(3.4614, 4.2801, 30, 30, 0, 3.1426, 0, 4.0373 ),
w = rep(1/4, 4),
lx = c(0, 0), ux = c(30, 60),
lp = c(7, 4, 2, 4), up = c(7, 5, 3, 5),
type = "standardized", plot_3d = "rgl")
equivalence (fimfunc = "FIM_comp_inhibition",
x = c(3.4432, 30, 30, 0, 0, 18.8954),
w = rep(1/3, 3),
lx = c(0, 0), ux = c(30, 60),
lp = c(7, 4, 2), up = c(7, 5, 3),
type = "standardized")
## End(Not run)
##########################################################################
##########################################################################
## defining function 'locally'
locally_det<- function(param, auxiliary){
## param is the vector of theta = (theta0, theta1, theta2)
ux <- 0
lx <- 150
xstar <- (ux + param[3]) * (lx + param[3]) * (log(ux + param[3]) log(lx + param[3]))/(ux - lx) - param[3]
denominator <- det(FIM_loglin(x = c(lx, xstar, ux) , w = rep(1/3, 3), param = param))
return(denominator)
}
equivalence (fimfunc = "FIM_loglin",
x = c(0, 4.2494, 17.0324, 149.9090),
w = c(0.3204, 0.1207, 0.2293, 0.3296),
equivalence_ave
9
lx = 0, ux = 150,
lp = c(2, 2, 1), up = c(2, 2, 15),
locally = locally_det,
type = "standardized")
equivalence_ave
Checking the optimality of a design with respect to the optim-on-theaverage criterion
Description
Let Θ be the set of plausible parameter values and weighted by a probability measure π, the measure
having support in the parameter space Θ, and Ψ(ξ, θ) = |M (ξ, θ)|. A design ξ ∗ is optimum-onthe-average with respect to prior π if the following inequality holds for all x ∈ χ
Z
c(x, π, ξ ∗ ) =
trM −1 (ξ ∗ , θ)I(x, θ)π(θ)d(θ) − p ≤ 0,
π
with equality at all support points of ξ ∗ . Here, p is the number of model parameters.
Usage
equivalence_ave(fimfunc, x, w, lx, ux, prior, param,
maxeval_equivalence = 6000, plot_sensitivity = TRUE, ...)
Arguments
fimfunc
Fisher information matrix. Can be the name of the Fisher information matrix
from FIM family functions available in this package as a character string or a
function that returns the information matrix. See "Details" of mica.
x
a vector of design points. If the model has n explanatory variables, let xij be the
jth component of the $ith design point. The argument x is x = (x11 , x21 , ..., xk1 , ..., x1n , x2n , ...xkn ).
See "Examples" on how to set this argument when the design space does not
have one dimension, e.g. is of two-dimension.
w
a vector of design weights
lx
lower bound of the design space χ
ux
upper bound of the design space χ
prior
a vector of the probability measure π.
param
a matrix for set of parameters, i.e. support of π. Every row is is a vector of
values of a parameter. The number of its rows must be equal to the length of
prior.
maxeval_equivalence
maximum number of evaluations (maxeval) that will be passed to optimization
function directL to find the maximum of the sensitivity function required for
calculating ELB. See "Details" of equivalence.
plot_sensitivity
logical, if TRUE, the sensitivity function will be plotted.
...
further argument to be passed to fimfunc
10
equivalence_multiple
Value
an object of class 'equivalence' that is a list contains:
max_deriv maximum of the sensitivity function
ELB Efficiency lower bound. If it is negative, then the value of maxeval_equivalence should be
increased to find the global maximum.
crtval criterion value
See Also
equivalence and equivalence_multiple.
Examples
equivalence_ave(fimfunc ="FIM_logistic",lx = -5, ux = 5, x = c(0.2603688, 1, 1.739631),
w = c(0.2750147, 0.4499705, 0.2750148), prior = c(.25, .25, .25, .25),
param = matrix(c(0.5, 1.5, 0.5, 1.5, 4.0, 4.0, 5.0, 5.0), 4, 2))
equivalence_multiple
Checking the optimality of a given design with respect to the multiobjective criterion for the 4-parameter logistic model.
Description
The equivalence theorem states that for a given vector of weights λ = (λ1 , λ2 , λ3 ), the design ξλ is
the multi-objective optimal design if and only if for all does x in the dose range χ (design space)
d(x, ξλ ) ≤ 0
with equality when x is a dose level of design ξλ . See Eq. 6 of Hyun and Wong (2015) for the
details.
Usage
equivalence_multiple(x, w, lx, ux, param, lambda, delta,
maxeval_equivalence = 6000, plot_sensitivity = TRUE)
Arguments
x
a vector of design points. If the model has n explanatory variables, let xij be the
jth component of the $ith design point. The argument x is x = (x11 , x21 , ..., xk1 , ..., x1n , x2n , ...xkn ).
See "Examples" on how to set this argument when the design space does not
have one dimension, e.g. is of two-dimension.
w
a vector of design weights For the locally D-optimal design,lp and up must be
fixed to the same values, i.e. lp = up.
lx
lower bound of the design space χ
ux
upper bound of the design space χ
equivalence_multiple
11
param
a vector of parameters θ = (θ1 , θ2 , θ3 , θ4 ).
lambda
the relative importance of each of the 3 criteria, i.e. λ = (λ1 , λ2 , λ3 ). Here
0 < λi < 1 and the sum of λ1 , λ2 and λ3 must be one.
delta
predetermined meaningful value of the minimum effective dose MED.
maxeval_equivalence
maximum number of evaluations (maxeval) that will be passed to optimization
function directL to find the maximum of the sensitivity function required for
calculating ELB. See "Details" of equivalence.
plot_sensitivity
logical, if TRUE, the sensitivity function will be plotted.
Details
When λ2 = 1, the function checks the equivalence theorem with respect to the c-optimality criterion
for estimating ED50. When λ3 = 1, it checks the equivalence theorem with respect to the coptimality criterion for estimating MED. In both cases, due to the tolerance issue for computing the
generalized inverse, the results may not be true. Therefore, this function should only be used for
multiple-objective optimal design λ1 6= 0 and λ2 6= 0.
The tolerance for finding the general inverse is set to .Machine$double.xmin.
Value
an object of class 'equivalence' that is a list contains:
max_deriv maximum of the sensitivity function
ELB Efficiency lower bound If it is negative, then the value of maxeval_equivalence should be
increased to find the global maximum.
crtval criterion value
See Also
equivalence and equivalence_ave.
Examples
## verfying the design in Table 2 of Hyun and Wong (2015), first row, fisrt column.
Theta1 <- c(1.563, 1.790, 8.442, 0.137)
equivalence_multiple (x = c(log(.001), -5.21, -4.08, log(1000)),
w = c(.25, .25, .25, .25),
lx = log(.001), ux = log(1000),
param = Theta1,
lambda = c(1, 0, 0),
delta = -1)
12
FIM_comp_inhibition
FIM_comp_inhibition
Fisher information matrix for the competitive inhibition MichaelisMenten model.
Description
The mean velocity of the reaction rate is
η=
VS
.
I
Km(1 + Kic
+ S)
Here, S is the substrate concentration, I is the inhibitor concentration, V is the maximum velocity
of the enzyme, Kic is the dissociation constants and Km is the Michaelis-Menten constant. Any
design point is of the form (S, I).
Usage
FIM_comp_inhibition(S, I, w, param)
Arguments
S
vector of S component of design points. S is the substrate concentration.
I
vector of I component of design points. I is the inhibitor concentration.
w
vector of corresponding weights for each design point. Its length must be equal
to the length of I and S, and sum(w) should be 1.
param
vector of model parameters (V, Km , Kic ).
Details
The model has an analytical solution for the locally D-optimal design. See Bogacka et al. (2011)
for details.
The optimal design does not depend on parameter V .
Value
Fisher information matrix of design.
References
Bogacka, B., Patan, M., Johnson, P. J., Youdim, K., & Atkinson, A. C. (2011). Optimum design of
experiments for enzyme inhibition kinetic models. Journal of biopharmaceutical statistics, 21(3),
555-572.
See Also
Other FIM: FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par, FIM_logistic_4par,
FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_emax_3par
FIM_emax_3par
13
Fisher information matrix for the three-parameter emax model.
Description
The mean of response variable is
f (x, θ) = θ0 +
θ1 x
(x + θ2 )
.
Usage
FIM_emax_3par(x, w, param)
Arguments
x
vector of design points.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
vector of model parameters θ = (θ0 , θ1 , θ2 ).
Details
The model has an analytical solution for the locally D-optimal design. See Dette et al. (2010) for
more details.
The Fisher information matrix does not depend on θ0 .
Value
Fisher information matrix.
References
Dette, H., Kiss, C., Bevanda, M., & Bretz, F. (2010). Optimal designs for the EMAX, log-linear
and exponential models. Biometrika, 97(2), 513-518.
See Also
Other FIM: FIM_comp_inhibition, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par, FIM_logistic_4par,
FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
14
FIM_exp_2par
FIM_exp_2par
Fisher information matrix for the two-parameter exponential model.
Description
The mean of response variable is
f (x, θ) = a + exp(−bx)
.
Usage
FIM_exp_2par(x, w, param)
Arguments
x
vector of design points.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
vector of model parameters θ = (a, b).
Details
The Fisher information matrix does not depend on a.
The locally D optimal design is independent of the nominal value of a and is equally supported at
x = 0 and x = 1/b only when x ∈ [0, 1]. See "Examples".
Value
Fisher information matrix.
References
Dette, H., & Neugebauer, H. M. (1997). Bayesian D-optimal designs for exponential regression
models. Journal of Statistical Planning and Inference, 60(2), 331-349.
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_3par, FIM_logisitic_1par, FIM_logistic_4par,
FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_exp_3par
15
Examples
## Not run:
### finding the locally optimal design for different values for design interval
mica(fimfunc = "FIM_exp_2par", lx = 0, ux = 1, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
mica(fimfunc = "FIM_exp_2par", lx = .0001, ux = 1, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
mica(fimfunc = "FIM_exp_2par", lx = 0, ux = 10, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
mica(fimfunc = "FIM_exp_2par", lx = .0001, ux = 10, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
## it seems for design interval x = [x_l, x_u], when x_l > 0,
## the locally D-optimal design is a two-point equally weighted design
## with x1 = x_l, x2 = x_u
mica(fimfunc = "FIM_exp_2par", lx = .5, ux = 10, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
mica(fimfunc = "FIM_exp_2par", lx = .0001, ux = 10, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
mica(fimfunc = "FIM_exp_2par", lx = 1, ux = 10, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
mica(fimfunc = "FIM_exp_2par", lx = 2, ux = 10, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
mica(fimfunc = "FIM_exp_2par", lx = 3, ux = 9, lp = c(1, 2), up = c(1, 2),
iter = 100, k = 2, type = "locally", control = list(seed = 215))
## End(Not run)
FIM_exp_3par
Fisher information matrix for the three-parameter exponential model.
Description
The mean of response variable is
f (x, θ) = θ0 + θ1 exp(
.
x
)
θ2
16
FIM_logisitic_1par
Usage
FIM_exp_3par(x, w, param)
Arguments
x
vector of design points.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
vector of model parameters θ = (θ0 , θ1 , θ2 ).
Details
The model has an analytical solution for the locally D-optimal design. See Dette et al. (2010) for
more details.
The Fisher information matrix does not depend on θ0 .
Value
Fisher information matrix.
References
Dette, H., Kiss, C., Bevanda, M., & Bretz, F. (2010). Optimal designs for the EMAX, log-linear
and exponential models. Biometrika, 97(2), 513-518.
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_logisitic_1par, FIM_logistic_4par,
FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_logisitic_1par
Fisher information matrix for the one-parameter logistic model (1PL
or Rasch model).
Description
The mean of response variable is
f (x, a) = 1/(1 + exp(−(x − a))).
This function returns Fisher information for the design ξ that is
M (ξ; a) =
k
X
wi M (xi , a).
i=1
Here M (x, a) is g(x − a), where g(z) =
exp(z)
(1+exp(z))2 .
denotes the standard logistic density.
FIM_logistic
17
Usage
FIM_logisitic_1par(x, w, param)
Arguments
x
vector of design points. In IRT x is the person ability parameter.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
parameter a. In IRT, it is called difficulty parameter.
Details
The locally optimal design is a one point design with x∗ = a and provides a value of M (ξ ∗ , a) =
1/4 for the information.
Value
Fisher information as a one by one matrix.
References
Grasshoff, U., Holling, H., & Schwabe, R. (2012). Optimal designs for the Rasch model. Psychometrika, 77(4), 710-723.
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logistic_4par,
FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_logistic
Fisher information matrix for the two-parameter logistic (2PL) model.
Description
The mean of response variable is
f (x, θ) =
where θ = (a, b).
Usage
FIM_logistic(x, w, param)
1
,
(1 + exp(−b(x − a)))
18
FIM_logistic_4par
Arguments
x
vector of design points. In IRT, x is the person ability parameter.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
vector of model parameters θ = (a, b). In IRT parameter a is the item difficulty
parameter and parameter b is the item discrimination parameter.
Details
There is no closed-form for the locally optimal design. For minimax and standardized D-optimal
design, the optimal design is symmetric around point (aL + aU )/2 where aL and aU are the lower
bound and upper bound for parameter a, respectively. In mica, options sym and sym_point in
control can be used to make the search for the optimal design easier.
Value
Fisher information matrix.
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par,
FIM_logistic_4par, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_logistic_4par
Fisher information matrix for the four parameter logistic model.
Description
The mean of the response variable is
f (x, θ) =
θ1
+ θ4 ,
1 + exp(θ2 x + θ3 )
where θ = (θ1 , θ2 , θ3 , θ4 ).
Usage
FIM_logistic_4par(x, w, param)
Arguments
x
vector of design points.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
vector of model parameters θ = (θ1 , θ2 , θ3 , θ4 ).
FIM_loglin
19
Details
The fisher information matrix does not depend on θ4 .
There is no analytical solution for the locally D-optimal design for this model.
Value
Fisher information matrix.
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par,
FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_loglin
Fisher information matrix for the log-linear model.
Description
The mean of response variable is
f (x, θ) = θ0 + θ1 log(x + θ2 )
.
Usage
FIM_loglin(x, w, param)
Arguments
x
vector of design points.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
vector of model parameters θ = (θ0 , θ1 , θ2 ).
Details
The model has an analytical solution for the locally D-optimal design. See Dette et al. (2010) for
more details.
The Fisher information matrix does not depend on θ0 .
Value
Fisher information matrix.
20
FIM_michaelis
References
Dette, H., Kiss, C., Bevanda, M., & Bretz, F. (2010). Optimal designs for the EMAX, log-linear
and exponential models. Biometrika, 97(2), 513-518.
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par,
FIM_logistic_4par, FIM_logistic, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_michaelis
Fisher information matrix for the Michaelis-Menten model.
Description
The mean of the response variable is
f (x, θ) =
ax
,
(b + x)
where θ = (a, b).
Usage
FIM_michaelis(x, w, param)
Arguments
x
vector of design points.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
vector of model parameters θ = (a, b).
Details
There is an analytical solution for the locally D-optimal design. See Rasch (1990).
Value
Fisher information matrix.
References
Rasch, D. (1990). Optimum experimental design in nonlinear regression. Communications in
Statistics-Theory and Methods, 19(12), 4786-4806.
FIM_mixed_inhibition
21
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par,
FIM_logistic_4par, FIM_logistic, FIM_loglin, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_mixed_inhibition
Fisher information matrix for the mixed inhibition Michaelis-Menten
model.
Description
The mean velocity of the reaction rate is
η=
Km (1 +
VS
+ S(1 +
I
Kic )
I
Kiu )
.
Here, S is the substrate concentration, I is the inhibitor concentration, V is the maximum velocity of
the enzyme, Kic and Kiu are the dissociation constants and Km is the Michaelis-Menten constant.
Any design point is of the form (S, I).
Usage
FIM_mixed_inhibition(S, I, w, param)
Arguments
S
vector of S component of design points. S is the substrate concentration.
I
vector of I component of design points. I is the inhibitor concentration.
w
vector of corresponding weights for each design point. Its length must be equal
to the length of I and S, and sum(w) should be 1.
param
vector of model parameters (V, Km , Kic , Kiu ).
Details
The model has an analytical solution for the locally D-optimal design. See Bogacka et al. (2011)
for details.
The optimal design does not depend on parameter V .
Value
Fisher information matrix of design.
References
Bogacka, B., Patan, M., Johnson, P. J., Youdim, K., & Atkinson, A. C. (2011). Optimum design of
experiments for enzyme inhibition kinetic models. Journal of biopharmaceutical statistics, 21(3),
555-572.
22
FIM_noncomp_inhibition
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par,
FIM_logistic_4par, FIM_logistic, FIM_loglin, FIM_michaelis, FIM_noncomp_inhibition,
FIM_power_logistic, FIM_uncomp_inhibition
FIM_noncomp_inhibition
Fisher information matrix for the noncompetitive inhibition MichaelisMenten model.
Description
The mean velocity of the reaction rate is
η=
VS
(Km + S)(1 +
I
Kic )
.
Here, S is the substrate concentration, I is the inhibitor concentration, V is the maximum velocity
of the enzyme, Kic is the dissociation constants and Km is the Michaelis-Menten constant. Any
design point is of the form (S, I).
Usage
FIM_noncomp_inhibition(S, I, w, param)
Arguments
S
vector of S component of design points. S is the substrate concentration.
I
vector of I component of design points. I is the inhibitor concentration.
w
vector of corresponding weights for each design point. Its length must be equal
to the length of I and S, and sum(w) should be 1.
param
vector of model parameters (V, Km , Kic ).
Details
The model has an analytical solution for the locally D-optimal design. See Bogacka et al. (2011)
for details.
The optimal design does not depend on parameter V .
Value
Fisher information matrix.
References
Bogacka, B., Patan, M., Johnson, P. J., Youdim, K., & Atkinson, A. C. (2011). Optimum design of
experiments for enzyme inhibition kinetic models. Journal of biopharmaceutical statistics, 21(3),
555-572.
FIM_power_logistic
23
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par,
FIM_logistic_4par, FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_power_logistic,
FIM_uncomp_inhibition
FIM_power_logistic
Fisher information matrix for the power logistic model.
Description
The mean of response variable is
f (x; a, b, s) =
1
,
(1 + exp(−b(x − a)))s
Usage
FIM_power_logistic(x, w, param, s)
Arguments
x
vector of design points.
w
vector of design weight. Its length must be equal to the length of x and sum(w)
should be 1.
param
vector of model parameters (a, b).
s
power parameter.
Details
There is no analytical solution for the locally D-optimal design. Parameter s must be passed by ...
in most of the functions like mica.
Value
Fisher information matrix.
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par,
FIM_logistic_4par, FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_uncomp_inhibition
24
FIM_uncomp_inhibition
FIM_uncomp_inhibition Fisher information matrix for the uncompetitive inhibition MichaelisMenten model.
Description
The mean velocity of the reaction rate is
η=
VS
(Km + S(1 +
I
Kiu ))
.
Here, S is the substrate concentration, I is the inhibitor concentration, V is the maximum velocity
of the enzyme, Kiu is the dissociation constants and Km is the Michaelis-Menten constant. Any
design point is of the form (S, I).
Usage
FIM_uncomp_inhibition(S, I, w, param)
Arguments
S
I
w
param
vector of S component of design points. S is the substrate concentration.
vector of I component of design points. I is the inhibitor concentration.
vector of corresponding weights for each design point. Its length must be equal
to the length of I and S, and sum(w) should be 1.
vector of model parameters (V, Km , Kiu ).
Details
The model has an analytical solution for the locally D-optimal design. See Bogacka et al. (2011)
for details.
The optimal design does not depend on parameter V .
Value
Fisher information matrix.
References
Bogacka, B., Patan, M., Johnson, P. J., Youdim, K., & Atkinson, A. C. (2011). Optimum design of
experiments for enzyme inhibition kinetic models. Journal of biopharmaceutical statistics, 21(3),
555-572.
See Also
Other FIM: FIM_comp_inhibition, FIM_emax_3par, FIM_exp_2par, FIM_exp_3par, FIM_logisitic_1par,
FIM_logistic_4par, FIM_logistic, FIM_loglin, FIM_michaelis, FIM_mixed_inhibition, FIM_noncomp_inhibition,
FIM_power_logistic
ICAOD
25
ICAOD
ICAOD: finds optimal designs for nonlinear models
Description
Three functions are available to find optimal designs for nonlinear models:
• mica: finds locally D-optimal, minimax D-optimal and standardized maximin D-optimal designs.
• ave: finds optimum-on-the-average designs (optimal designs in average).
• multica_4pl: finds multiple-objective optimal designs for the 4-parameter logistic model or
equivalently, the 4-parameter Hill model.
In addition, one can use the three following functions to check the optimality of a given design
using the general equivalence theorem:
• equivalence: checks the optimality of a given design with respect to the locally D-optimal,
the minimax D-optimal and the standardized maximin D-optimal criteria.
• equivalence_ave: checks the optimality of a given design with respect to the optimum-onthe-average criterion.
• equivalence_multiple: checks the optimality of a given design with respect to the multipleobjective optimal criterion for the 4-parameter logistic model or equivalently, the 4-parameter
Hill model.
Fisher information matrix
User has to provide the Fisher information matrix for the model of interest through an argument
called fimfunc. This argument can be either a user-defined R function that returns the Fisher
information as a matrix or a character strings that is the name of the Fisher information matrix
available in the ICAOD package for some popular models. See "Details" in mica.
iterate
update the object by running the ICA algorithm for more number of
iterations.
Description
Runs the algorithm for more number of iterations and update the results.
Usage
iterate(object, iter)
26
iterate.ICA
Arguments
object
object of class ’ICA’.
iter
number of iterations.
Value
object of class ’ICA’.
See Also
iterate.ICA
iterate.ICA
Update an object of class ’ICA’
Description
Function iterate.ICA takes an object of class "ICA" and runs the ICA algorithm and updates the
results.
Usage
## S3 method for class 'ICA'
iterate(object, iter)
Arguments
object
an object of class ’ICA’.
iter
number of iterations.
See Also
mica
mica
mica
27
Imperialist Competitive Algorithm to find locally, minimax and standardized maximin D-optimal designs for nonlinear models
Description
Let Ξ be the space of all approximate designs with k support points at x1 , x2 , ..., xk from design
space χ with corresponding weights w1 , ..., wk . Let M (ξ, θ) be the Fisher information matrix (FIM)
of a k−point design ξ and θ be the vector of unknown parameters. A minimax D-optimal design ξ ∗
is defined by
ξ ∗ = arg min max − log |M (ξ, θ)|.
ξ∈Ξ θ∈Θ
A standardized maximin D-optimal designs ξ ∗ is defined by
"
1 #
|M (ξ, θ)| p
∗
,
ξ = arg max inf
ξ∈Ξ θ∈Θ
|M (ξθ , θ)|
where p is the number of model parameters and ξθ is the locally D-optimal design with respect to
θ.
A locally D-optimal designs ξ ∗ is defined by
ξ ∗ = arg min − log |M (ξ, θ0 )|.
ξ∈Ξ
where the minization is over Ξ and θ0 is the user-given initial values for the unknown parameters.
Usage
mica(fimfunc, lx, ux, lp, up, iter, k, control = list(),
control_gosolnp = list(), type, initial = NULL, locally = NULL, ...)
Arguments
fimfunc
the name of the FIM from available FIM functions in the package as a character string or the user-written function that returns the FIM as a matrix. See
"Details".
lx
lower bound of the design space χ
ux
upper bound of the design space χ
lp
lower bound of the region of uncertainty Θ. As same order as the argument
param of fimfunc.
up
upper bound of the region of uncertainty Θ. For the locally D-optimal design,lp
and up must be fixed to the same values, i.e. lp = up.
iter
maximum number of iterations.
k
number of design (support) points. Must be larger than the number of model
parameters p to avoid singularity of the FIM.
28
mica
control
a list of contains the tuning parameters of ICA and the design problem. See
"Details".
control_gosolnp
tuning parameters of the function gosolnp. Only when 1) type = "standardized"
2) fimfunc is a character string 3) locally D-optimal design is not available in a
closed-form. See "Details" of equivalence for its components.
type
a character string that shows the type of optimal design. "minimax" for a minimax optimal design, "standardized" for a standardized maximin D-optimal
design and "locally" for a locally D-optimal design. When type = "locally",
then lp must be set equal to up.
initial
a matrix of the initial designs that will be used as initial countries in ICA. Every
row is a design and concatenation of x and w. Default is NULL. See "Details" on
how to define it when the design space is not of one dimension.
locally
a function that returns the value of determinant of FIM for the locally D-optimal
design, i.e. |M (ξθ , θ)|. Only required when type = "standardized". See
"Details" of equivalence.
...
further arguments to be passed to the FIM function given by fimfunc.
Details
fimfunc as a function must have three arguments: 1) design points x, 2) weights w and 3) model
parameters param. The output should be of type matrix. Further parameters can be set, but should
be passed by ... in mica (like parameter s in power logistic model). See "Examples".
fimfunc as a character string must be the name of the FIM functions available in this package. The
implemented FIM functions are as follows:
fiumfunc = "FIM_logistic"
fiumfunc = "FIM_logistic_4par"
fiumfunc = "FIM_power_logistic"
fiumfunc = "FIM_michaelis"
fiumfunc = "FIM_emax_3par"
fiumfunc = "FIM_loglin"
fiumfunc = "FIM_exp_2par"
fiumfunc = "FIM_exp_3par"
fiumfunc = "FIM_comp_inhibition"
fiumfunc = "FIM_noncomp_inhibition"
fiumfunc = "FIM_uncomp_inhibition"
fiumfunc = "FIM_mixed_inhibition"
equivalent to
equivalent to
equivalent to
equivalent to
equivalent to
equivalent to
equivalent to
equivalent to
equivalent to
equivalent to
equivalent to
equivalent to
fiumfunc
fiumfunc
fiumfunc
fiumfunc
fiumfunc
fiumfunc
fiumfunc
fiumfunc
fiumfunc
fiumfunc
fiumfunc
fiumfunc
=
=
=
=
=
=
=
=
=
=
=
=
FIM_logistic
FIM_logistic_4par
FIM_power_logistic
FIM_michaelis
FIM_emax_3par
FIM_loglin
FIM_exp_2par
FIM_exp_3par
FIM_comp_inhibition
FIM_noncomp_inhibition
FIM_uncomp_inhibition
FIM_mixed_inhibition
See each information matrix for information about the parameters and the analytical locally optimal
design (if available).
The control argument is a list that can supply any of the following components:
ncount number of countries. Defaults to 40.
nimp number of imperialists. Defaults to 10 percent of ncount.
assim_coeff assimilation coefficient. Defaults to 4.
mica
29
revol_rate revolution rate. Defaults to 0.3
damp damp ratio for revolution rate. revol_rate is decreased by damp in every iteration. Defaults
to 0.99
zeta a coefficient to find the ’total cost’ of empires. Defaults to 0.1.
uniting_threshold if the distance between two imperialists is less than the product of the uniting_threshold
and the largest distance in the search space, then ICA unites these two empires. defaults to
0.02.
assim_strategy a character strings that denotes the assimilation strategy; PICA for perturbed ICA
and ICA for the original version. Defaults to PICA.
lsearch logical. Perform a local search on imperialists in every iteration? Defaults to TRUE.
l positive integer. the number of local search on each imperialist. Defaults to 2.
only_improve logical, if TRUE, the new position in the assimilation step replaces the current
position if the value of the criterion in the new position is better. . Defaults to TRUE.
stop_rule a character string denotes stopping rule. When "maxiter", then ICA only stops when
it reaches the maximum number of iterations. When "one_empire", then ICA stops if either
all empires collapsed and one empire remains or it reaches the maximum number of iterations.
When "equivalence", then ICA stops if either the Efficiency lower bound (ELB) of the current
design is greater than stoptol or it reaches the maximum number of iterations.
stoptol numeric between 0 and 1. The minimum ELB for the best current imperialist (best design)
to stop the algorithm by equivalence theorem when stop_rule = "equivalence". Defaults
to 0.99.
equivalence_every a positive integer. Check and compute ELB in every equivalence_every
iteration. Checking equivalence theorem in small intervals slows down the algorithm. Defaults
to 200.
equal_weight logical; whether the points should have equal weights. Defaults to FALSE.
sym logical. Whether the design is symmetric around a point. If TRUE then sym_point must be
given. Defaults to FALSE
sym_point a vector of the same length as lx. The point that the design is symmetric around. Must
have the same length as lx. See "Examples".
inner_space a character string on how to deal with the parameter space (inner space): "continuous",
"vertices" or "discrete". Defaults to "continuous". See "Details".
param_set a matrix that denotes the fixed values for the parameters and is required when inner_space = "discrete".
Each row of the matrix is the values of the components of the parameters, i.e. θ01 in the first
row, θ02 in the second row and so on. The number of columns should be equal to length(lp).
See "Examples".
inner_maxeval maximum number of function evaluations for the continuous inner problem. It
comes from the tuning parameters of directL. Its value should be large enough to not miss any
global optima. It is only applicable for standardized maxinim and minimax optimal designs.
Defaults to 600.
plot_deriv logical. Should derivative be plotted whenever the equivalence theorem is checked?
Defaults to TRUE.
plot_cost logical. Should the evolution of ICA, i.e. mean cost of all imperialists and cost of the
best imperialist, be plotted in every iteration? Defaults to TRUE; when type = "locally" is
FALSE.
30
mica
trace logical. Should the best generated design (best imperialist) and corresponding algorithm
parameters be printed in every iteration? Defaults to TRUE.
n.seg a positive integer required when checking the equivalence theorem to construct the answering set. The number of initial starting points for the local optimizer (optim) to find all minima
of the criterion on parameters space is equal to (n.seg + 1)^length(lp). Defaults to 4. See
"Details" in equivalence.
Each row of initial is one design, i.e. concatenation of x = (x1 , ...xk ) and w = (w1 , ..., wk ).
The number of columns of initial is equal to k × n + k, where n is the number of model explanatory variables. For multi-dimensional design space, x must be given dimension by dimension. See
description of argument x in equivalence.
In control, if inner_space = "continuous", then the inner problem is an optimization over
Θ = (lp, up). If inner_space = "discrete", then the inner problem is a discrete optimization
problem over a set of initial values for the parameters, i.e. Θ = {θ01 , θ02 , ...}. In this case, the set
of initial parameters should be given through param_set. If inner_space = "vertices" then the
set of initial parameters are the vertices of Θ. This should be set when the user is certain that the
D-criterion is convex with respect to the parameter space for every given design. Please note that
regardless of what inner_space is chosen, checking the equivalence theorem will be done on the
continuous parameter space Θ. See "Examples" on how to use this option.
For large parameter space or complex models it is important to increase ncount, inner_maxeval
and n.seg (for checking the equivalence theorem).
Please note that the speed of mica highly depends on the inner_maxeval parameter in control
when inner_space = "continuous".
Value
an object of class "ICA" that is a list containing three sub-lists:
arg a list of design and algorithm parameters
evol a list that stores the best design (the most powerful imperialist) in each iteration. The output
design is stored in the last component of the list. evol[[iter]] contains:
iter
x
w
min_cost
mean_cost
all_optima
all_optima_cost
answering
answering_cost
mu
max_deriv
ELB
inner_param
iteration.
design points
design weights
cost (criterion value) of the best imperialist
mean of costs of all imperialists
all optima of the inner problem. It is NA for a locally optimal design.
cost of all optima of the inner problem. It is NA for a locally optimal design.
answering set. It is NA for a locally optimal design.
cost of each element of the answering set. It is NA for a locally optimal design.
the probability measure on the answering set. It is NA for a locally optimal design.
maximum of the sensitivity function.
D-efficiency lower bound
inner parameter
mica
31
empires a list of empires of the last iteration.
alg a list with the following components:
nfeval
nlocal
nrevol
nimprove
convergence
number of function evaluations (the function evaluations (calls) for checking the equivalence theorem is no
number of successful local search
number of successful revolutions
number of successful movements toward the imperialists in assimilation step
Why the algorithm has been stopped?
Given an iteration number, please note that all_optima, all_optima_cost, answering, answering_cost,
mu, max_deriv and ELB are NA when the equivalence theorem was not requested for that iteration.
For example, if equivalence_every = 100, then the equivalence theorem is only checked in every
100 iteration for the best designs.
References
Masoudi, E., Holling, H., & Wong, W. K. (in press). Application of imperialist competitive algorithm to find minimax and standardized maximin optimal designs. Computational Statistics & Data
Analysis.
Examples
#######################################################################
## some examples for exponential model
## Not run:
# finding standardized maximin D-optimal design
res <- mica(fimfunc = "FIM_exp_2par", lx = 0, ux = 1, lp = c(1, 1), up = c(1, 5),
iter = 100, k = 3, type = "standardized", control = list(seed = 215))
res <- iterate(res, 10)
plot(res)
# finding minimax D-optimal design
mica(fimfunc = "FIM_exp_2par", lx = 0, ux = 1, lp = c(1, 1), up = c(1, 5),
iter = 100, k = 3, type = "minimax", control = list(seed = 215))
## End(Not run)
# finding locally D-optimal design. Please note that 'lp' and 'up' are equal
mica(fimfunc = "FIM_exp_2par", lx = 0, ux = 1, lp = c(2, 3), up = c(2, 3),
iter = 40, k = 2, type = "locally", control = list(seed = 215))
# locally D-optimal design is x1 = lx, x2 = 1/lp[2]
# requesting an equally-weighted design, i.e w_1 = w_2 = ... w_k
res_loc <-mica(fimfunc = "FIM_exp_2par", lx = 0, ux = 1, lp = c(2, 3), up = c(2, 3),
iter = 40, k = 2, type = "locally",
control = list(seed = 215, equal_weight = TRUE))
## Not run:
res_loc <- iterate(res_loc, 10) ## update the result
plot(res_loc)
# using symetric option for the logisitic model
mica(fimfunc = "FIM_logistic", lx = -5, ux = 5, lp = c(0, 1), up = c(3.5 , 1.25),
32
mica
iter = 100, k = 5, control = list(rseed = 215, sym = TRUE,
sym_point = (0 + 3.5)/2),type = "minimax")
#######################################################################
# 2PL model
mica(fimfunc = "FIM_logistic", lx = -5, ux = 5, lp = c(-1, 1), up = c(1 , 2),
iter = 100, k = 3, control = list(rseed = 215), type = "minimax")
# an example on how to supply 'fimfunc' with a function
logistic_fim <- function(x, w, param){
a <- param[1]
b <- param[2]
constant <- 1/(1 + exp(-b * (x - a)))
constant <- constant * (1 - constant)
A <- sum(w * b^2 * constant)
B <- sum(-w * b * (x - a) * constant)
C <- sum(w * ((x -a)^2) * constant)
mat <- matrix(c(A, B, B, C), 2, 2)
return(mat)
}
mica(fimfunc = logistic_fim, lx = -5, ux = 5, lp = c(-1, 1), up = c(1 , 2),
iter = 100, k = 3, control = list(rseed = 215), type = "minimax")
## is the same when 'fimfunc = "FIM_logistic'
mica(fimfunc = logistic_fim, lx = -5, ux = 5, lp = c(-1, 1), up = c(-1 , 1),
iter = 100, k = 3, control = list(rseed = 215), type = "locally")
#######################################################################
#######################################################################
## how to use inner_space option in control list
#### Enzyme kinetic models. examples for3D plots
mica(fimfunc = "FIM_comp_inhibition", lx = c(0, 0), ux = c(30, 60),
lp = c(7, 4, 2), up = c(7, 5, 3), k =3, type = "standardized",
iter = 300, control = list(rseed = 215, inner_maxit = 300,
stop_rule = "equivalence"))
## setting the parameter space as only the points on the vertices
mica(fimfunc = "FIM_comp_inhibition", lx = c(0, 0), ux = c(30, 60),
lp = c(7, 4, 2), up = c(7, 5, 3), k =3, type = "standardized",
iter = 300, control = list(rseed = 215, inner_space = "vertices",
stop_rule = "equivalence"))
## every row is one of the vertices of Theta
param_set <- matrix(c(7, 4, 2, 7, 5, 2, 7, 4, 3, 7, 5, 3),
ncol = 3, nrow = 4, byrow = TRUE)
res <-mica(fimfunc = "FIM_comp_inhibition", lx = c(0, 0), ux = c(30, 60),
lp = c(7, 4, 2), up = c(7, 5, 3), k =3, type = "standardized",
iter = 300, control = list(rseed = 215,inner_space = "discrete",
stop_rule = "equivalence",
param_set = param_set))
multica_4pl
33
#######################################################################
#######################################################################
## optimal designs for the 1Pl model
mica(fimfunc = "FIM_logistic_1par", lx = 0, ux = 5,
lp = 2, up = 2, k = 3, iter = 100, type = "locally")
lx <- -.5
ux <- .5
ux - lx <= 2 * log(2 + sqrt(3))
mica(fimfunc = "FIM_logistic_1par", lx = lx, ux = ux,
lp = -1, up = 1, k = 1, iter = 10,
type = "standardized")
lx <- -2
ux <- 2
ux - lx <= 2 * log(2 + sqrt(3))
mica(fimfunc = "FIM_logistic_1par", lx = lx, ux = ux,
lp = -1, up = 1, k = 1, iter = 10,
type = "standardized")
#######################################################################
## End(Not run)
multica_4pl
Imperialist Competitive Algorithm to find multiple-objective optimal
designs for the 4-parameter logistic model
Description
The 4-parameter Hill model is Yi = f (Di , a, b, c, d) + i where i ∼ N (0, σ 2 ) and
f (Di , a, b, c, d) = c +
(d − c)( Dai )b
1 + ( Dai )b
is the mean response at dose Di , a is the ED50, d is the upper limit of response, c is the lower limit
of response and b denotes the Hill constant that control the flexibility in the slope of the response
curve.
Let θ = (θ1 , θ2 , θ3 , θ4 ). The Hill model may be re-parameterized as
f (x, θ) =
θ1
+ θ4 ,
1 + exp(θ2 x + θ3 )
which is sometimes referred to as 4-parameter logistic model. This form is equivalent to the Hill
model with θ1 = d − c, θ2 = −b, θ3 = b log(a), θ4 = c, θ1 > 0, θ2 6= 0, and −∞ < ED50 < ∞,
where xi = log(Di ) ∈ [−M, M ] for some sufficiently large value of M .
34
multica_4pl
Usage
multica_4pl(lx, ux, param, iter, k, delta, lambda, control = list(),
initial = NULL)
Arguments
lx
lower bound of the design space χ.
ux
upper bound of the design space χ.
param
a vector of parameters θ = (θ1 , θ2 , θ3 , θ4 ).
iter
maximum number of iterations.
k
number of design (support) points. Must be larger than the number of 4 to avoid
the singularity of the FIM.
delta
predetermined meaningful value of the minimum effective dose MED. When
the dose-response relationship (slop θ2 ) is decreasing (increasing), the value of
delta is negative (positive).
lambda
the relative importance of each of the 3 criteria, i.e. λ = (λ1 , λ2 , λ3 ). Here
0 < λi < 1 and the sum of λ1 , λ2 and λ3 must be one.
control
a list of contains the tuning parameters of ICA and the design problem. See
"Details" of mica.
initial
a matrix of the initial designs that will be used as initial countries in ICA. Every
row is a design and concatenation of x and w. Default is NULL. See "Details" of
mica.
Details
This function is not suitable for finding the c-optimal designs for estimating ’MED’ or ’ED50’ and
the results may not be stable. The reason is that for the c-optimal criterion the generalized inverse
of the Fisher information matrix is unstable and depends on the tolerance (probably because the
matrix is exactly singular).
The tolerance for finding the general inverse of Fisher information matrix is set to .Machine$double.xmin.
Value
an object of class "ICA". See "Value" in mica.
References
Hyun, S. W., & Wong, W. K. (2015). Multiple-Objective Optimal Designs for Studying the Dose
Response Function and Interesting Dose Levels. The international journal of biostatistics, 11(2),
253-271.
multica_4pl
Examples
## An example on how to create the design in Hyun and Wong (2015)
## An initial guess from Table 1:
Theta1 <- c(1.563, 1.790, 8.442, 0.137)
#########################################################
## Table 2 first row
# creating optimal design for estimating parameters: xi_D
res <- multica_4pl(lx = log(.001),
ux = log(1000),
param = Theta1,
k = 4,
lambda = c(1, 0, 0),
delta = -1,
iter = 150,
control = list(seed = 1366, plot_cost = TRUE))
## Not run:
#######################################################
## finding multiple objective optimal design: example 1, Table 3
res1 <- multica_4pl(lx = log(.001),
ux = log(1000),
param = Theta1,
k = 4, lambda = c(0.05, 0.05, .90),
delta = -1, iter = 400,
control = list(seed = 1366))
plot(res1)
#######################################################
## finding multiple objective optimal design: example 2, Table 3
res2 <- multica_4pl(lx = log(.001),
ux = log(1000),
param = c(16.8, -1, 4.248, 22),
k = 4, lambda = c(0, 0.1, .9),
delta = 5, iter = 200,
control = list(seed = 1366))
plot(res2)
##########################################################
## how to transfer from Hill model to 4-parameter logistic model
## parameters for Hill model
a <- 0.008949 # ED50
b <- -1.79 # Hill constant
c <- 0.137 # lower limit
d <- 1.7 # upper limit
# D belongs to c(.001, 1000) ## dose in mg
## Hill parameters are c(a, b, c, d)
res2 <- multica_4pl(lx = log(.001),
ux = log(1000),
param = c(d - c, -b, b * log(a), c),
35
36
print.equivalence
k = 4, lambda = c(0.05, 0.05, .90),
delta = -1, iter = 400,
control = list(seed = 1366))
exp(res2$evol[[length(res2$evol)]]$x) # dose level in mg
## End(Not run)
plot.ICA
Plot method for an object of class "ICA".
Description
Plot method for an object of class "ICA".
Usage
## S3 method for class 'ICA'
plot(x, iter = NULL, sensitivity = TRUE,
print_equivalence = FALSE, ...)
Arguments
x
an object of class "ICA".
iter
iteration. if NULL, is set to the last iteration.
sensitivity
logical; if TRUE the best design in iteration iter is checked by equivalence theorem.
print_equivalence
logical; if TRUE the result of checking by equivalence theorem will be printed.
Only applicable when sensitivity = TRUE.
...
argument with no further use.
See Also
mica, multica_4pl and ave
print.equivalence
print equivalence object
Description
Print method for an object of class "equivalence".
Usage
## S3 method for class 'equivalence'
print(x, ...)
print.ICA
37
Arguments
x
an object of class ’equivalence’.
...
argument with no further use.
See Also
equivalence, equivalence_multiple and equivalence_ave.
print.ICA
Print method for an object of class "ICA"
Description
Print method for an object of class "ICA"
Usage
## S3 method for class 'ICA'
print(x, iter = NULL, ...)
Arguments
x
an object of class "ICA".
iter
iteration.
...
argument with no further use.
See Also
mica, multica_4pl and ave
Index
ave, 2, 25, 36, 37
print.equivalence, 7, 36
print.ICA, 37
directL, 5, 9, 11, 29
rgl, 5
equivalence, 4, 9–11, 25, 28, 30, 37
equivalence_ave, 7, 9, 11, 25, 37
equivalence_multiple, 7, 10, 10, 25, 37
FIM_comp_inhibition, 12, 13, 14, 16–24, 28
FIM_emax_3par, 12, 13, 14, 16–24, 28
FIM_exp_2par, 12, 13, 14, 16–24, 28
FIM_exp_3par, 12–14, 15, 17–24, 28
FIM_logisitic_1par, 12–14, 16, 16, 18–24
FIM_logistic, 12–14, 16, 17, 17, 19–24, 28
FIM_logistic_4par, 12–14, 16–18, 18,
20–24, 28
FIM_loglin, 12–14, 16–19, 19, 21–24, 28
FIM_michaelis, 12–14, 16–20, 20, 22–24, 28
FIM_mixed_inhibition, 12–14, 16–21, 21,
23, 24, 28
FIM_noncomp_inhibition, 12–14, 16–22, 22,
23, 24, 28
FIM_power_logistic, 12–14, 16–23, 23, 24,
28
FIM_uncomp_inhibition, 12–14, 16–23, 24,
28
gosolnp, 5, 6, 28
ICAOD, 25
ICAOD-package (ICAOD), 25
iterate, 25
iterate.ICA, 26, 26
lattice, 5
mica, 3, 4, 9, 18, 23, 25, 26, 27, 34, 36, 37
multica_4pl, 25, 33, 36, 37
optim, 30
plot.ICA, 36
38