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
© Copyright 2026 Paperzz