Learn R Programming

ICAOD (version 0.9.2)

ave: 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 \(\bold{\theta}\) is available, the optimum-on-the-average designs can be applied. In this approach the criterion is evaluated at plausible parameter values and weighted by a probability measure \(\pi\), the measure having support in the parameter space \(\Theta\). The resulted weighted criterion is thus $$B(\xi, \pi) = \int_{\Theta}\Psi(\xi, \theta)d(\pi(\theta)).$$ For current version \(\Psi(\xi, \theta)\) is equal to \(|M(\xi, \theta)|\).

Usage

ave(fimfunc, lx, ux, prior, param, iter, k, control = list(),
  initial = 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" in mica.

lx

lower bound of the design space \(\chi\)

ux

upper bound of the design space \(\chi\)

prior

a vector of the probability measure \(\pi\).

param

a matrix for set of parameters, i.e. support of \(\pi\). 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

Run this code
# 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))
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab