Learn R Programming

ICAOD (version 0.9.1)

on_average_ica: 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

on_average_ica(fimfunc, lx, ux, prior, param, iter, k, control = list(), initial = NULL, ...)

Arguments

fimfunc
FIM as a function or a character string. See mica argument.
lx
lower bound of the design space $\chi$.
ux
upper bound of the design space $\chi$.
prior
a vector of probability measure $\pi$.
param
a matrix for set of parameters, i.e. support of $\pi$. Every row is is a vector of values of parameters. 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 control parameters. See "Details" of mica.
initial
initial a matrix of user intial countries or a vector of a country that will be inserted into the initial countries of ICA. See "Details" of mica.
...
further arguments to be passed to the FIM function corresponding to fimfunc. For power logisitc model when fimfunc is equal to FIM_power_logistic, the value of s should be given here.

Value

an object of class "ICA". See "Value" in mica.

Examples

Run this code
## Not run: 
# test <- on_average_ica (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 <- on_average_ica (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)

Run the code above in your browser using DataLab