Description Usage Arguments Details Value References Examples
View source: R/3-UserMinimaxFunctions.R
Finds compound locally DP-optimal designs that meet the dual goal of parameter estimation and increasing the probability of a particular outcome in a binary response model. A compound locally DP-optimal design maximizes the product of the efficiencies of a design ξ with respect to D- and average P-optimality, weighted by a pre-defined mixing constant 0 <= α <= 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | locallycomp(
formula,
predvars,
parvars,
family = gaussian(),
lx,
ux,
alpha,
prob,
iter,
k,
inipars,
fimfunc = NULL,
ICA.control = list(),
sens.control = list(),
initial = NULL,
npar = length(inipars),
plot_3d = c("lattice", "rgl")
)
|
formula |
A linear or nonlinear model |
predvars |
A vector of characters. Denotes the predictors in the |
parvars |
A vector of characters. Denotes the unknown parameters in the |
family |
A description of the response distribution and the link function to be used in the model.
This can be a family function, a call to a family function or a character string naming the family.
Every family function has a link argument allowing to specify the link function to be applied on the response variable.
If not specified, default links are used. For details see |
lx |
Vector of lower bounds for the predictors. Should be in the same order as |
ux |
Vector of upper bounds for the predictors. Should be in the same order as |
alpha |
A value between 0 and 1.
Compound or combined DP-criterion is the product of the efficiencies of a design with respect to D- and average P- optimality, weighted by |
prob |
Either |
iter |
Maximum number of iterations. |
k |
Number of design points. When |
inipars |
Vector. Initial values for the unknown parameters. It will be passed to the information matrix and also probability function. |
fimfunc |
A function. Returns the FIM as a |
ICA.control |
ICA control parameters. For details, see |
sens.control |
Control Parameters for Calculating the ELB. For details, see |
initial |
A matrix of the initial design points and weights that will be inserted into the initial solutions (countries) of the algorithm.
Every row is a design, i.e. a concatenation of |
npar |
Number of model parameters. Used when |
plot_3d |
Which package should be used to plot the sensitivity (derivative) function for two-dimensional design space. Defaults to |
Let Ξ be the space of all approximate designs with k design points (support points) at x_1, x_2, ..., x_k from design space χ with corresponding weights w_1,... ,w_k. Let M(ξ, θ) be the Fisher information matrix (FIM) of a k-point design ξ, θ_0 is a user-given vector of initial estimates for the unknown parameters θ and p(x_i, θ) is the ith probability of success given by x_i in a binary response model. A compound locally DP-optimal design maximizes over Ξ
α/q log|M(ξ, θ_0)| + (1- α) log ( ∑ w_i p(x_i, θ_0)).
Use plot
function to verify the general equivalence theorem for the output design or change checkfreq
in ICA.control
.
One can adjust the tuning parameters in ICA.control
to set a stopping rule
based on the general equivalence theorem. See "Examples" in locally
.
an object of class minimax
that is a list including three sub-lists:
arg
A list of design and algorithm parameters.
evol
A list of length equal to the number of iterations that stores
the information about the best design (design with least criterion value)
of each iteration. evol[[iter]]
contains:
iter | Iteration number. | |
x | Design points. | |
w | Design weights. | |
min_cost | Value of the criterion for the best imperialist (design). | |
mean_cost | Mean of the criterion values of all the imperialists. | |
sens | An object of class 'sensminimax' . See below. |
|
param | Vector of parameters. | |
empires
A list of all the empires of the last iteration.
alg
A list with following information:
nfeval | Number of function evaluations. It does not count the function evaluations from checking the general equivalence theorem. | |
nlocal | Number of successful local searches. | |
nrevol | Number of successful revolutions. | |
nimprove | Number of successful movements toward the imperialists in the assimilation step. | |
convergence | Stopped by 'maxiter' or 'equivalence' ? |
|
method
A type of optimal designs used.
design
Design points and weights at the final iteration.
out
A data frame of design points, weights, value of the criterion for the best imperialist (min_cost), and Mean of the criterion values of all the imperialistsat each iteration (mean_cost).
The list sens
contains information about the design verification by the general equivalence theorem. See sensminimax
for more details.
It is given every ICA.control$checkfreq
iterations
and also the last iteration if ICA.control$checkfreq >= 0
. Otherwise, NULL
.
param
is a vector of parameters that is the global minimum of
the minimax criterion or the global maximum of the standardized maximin criterion over the parameter space, given the current x
, w
.
McGree, J. M., Eccleston, J. A., and Duffull, S. B. (2008). Compound optimal design criteria for nonlinear models. Journal of Biopharmaceutical Statistics, 18(4), 646-661.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | ## Here we produce the results of Table 2 in in McGree and Eccleston (2008)
# For D- and P-efficiency see, ?leff and ?peff
p <- c(1, -2, 1, -1)
prior4.4 <- uniform(p -1.5, p + 1.5)
formula4.4 <- ~exp(b0+b1*x1+b2*x2+b3*x1*x2)/(1+exp(b0+b1*x1+b2*x2+b3*x1*x2))
prob4.4 <- ~1-1/(1+exp(b0 + b1 * x1 + b2 * x2 + b3 * x1 * x2))
predvars4.4 <- c("x1", "x2")
parvars4.4 <- c("b0", "b1", "b2", "b3")
lb <- c(-1, -1)
ub <- c(1, 1)
# set checkfreq = Inf to ask for equivalence theorem at final step.
res.0 <- locallycomp(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4,
family = binomial(), prob = prob4.4, lx = lb, ux = ub,
alpha = 0, k = 1, inipars = p, iter = 10,
ICA.control = ICA.control(checkfreq = Inf))
## Not run:
res.25 <- locallycomp(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4,
family = binomial(), prob = prob4.4, lx = lb, ux = ub,
alpha = .25, k = 4, inipars = p, iter = 350,
ICA.control = ICA.control(checkfreq = Inf))
res.5 <- locallycomp(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4,
family = binomial(), prob = prob4.4, lx = lb, ux = ub,
alpha = .5, k = 4, inipars = p, iter = 350,
ICA.control = ICA.control(checkfreq = Inf))
res.75 <- locallycomp(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4,
family = binomial(), prob = prob4.4, lx = lb, ux = ub,
alpha = .75, k = 4, inipars = p, iter = 350,
ICA.control = ICA.control(checkfreq = Inf))
res.1 <- locallycomp(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4,
family = binomial(), prob = prob4.4, lx = lb, ux = ub,
alpha = 1, k = 4, inipars = p, iter = 350,
ICA.control = ICA.control(checkfreq = Inf))
#### computing the D-efficiency
# locally D-optimal design is locally DP-optimal design when alpha = 1.
leff(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4, family = binomial(),
x1 = res.0$evol[[10]]$x, w1 = res.0$evol[[10]]$w,
inipars = p,
x2 = res.1$evol[[350]]$x, w2 = res.1$evol[[350]]$w)
leff(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4, family = binomial(),
x1 = res.25$evol[[350]]$x, w1 = res.25$evol[[350]]$w,
inipars = p,
x2 = res.1$evol[[350]]$x, w2 = res.1$evol[[350]]$w)
leff(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4, family = binomial(),
x1 = res.5$evol[[350]]$x, w1 = res.5$evol[[350]]$w,
inipars = p,
x2 = res.1$evol[[350]]$x, w2 = res.1$evol[[350]]$w)
leff(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4, family = binomial(),
x1 = res.75$evol[[350]]$x, w1 = res.75$evol[[350]]$w,
inipars = p,
x2 = res.1$evol[[350]]$x, w2 = res.1$evol[[350]]$w)
#### computing the P-efficiency
# locally p-optimal design is locally DP-optimal design when alpha = 0.
leff(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4, family = binomial(),
x2 = res.0$evol[[10]]$x, w2 = res.0$evol[[10]]$w,
prob = prob4.4,
type = "PA",
inipars = p,
x1 = res.25$evol[[350]]$x, w1 = res.25$evol[[350]]$w)
leff(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4, family = binomial(),
x2 = res.0$evol[[10]]$x, w2 = res.0$evol[[10]]$w,
prob = prob4.4,
inipars = p,
type = "PA",
x1 = res.5$evol[[350]]$x, w1 = res.5$evol[[350]]$w)
leff(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4, family = binomial(),
x2 = res.0$evol[[10]]$x, w2 = res.0$evol[[10]]$w,
prob = prob4.4,
inipars = p,
type = "PA",
x1 = res.75$evol[[350]]$x, w1 = res.75$evol[[350]]$w)
leff(formula = formula4.4, predvars = predvars4.4, parvars = parvars4.4, family = binomial(),
x2 = res.0$evol[[10]]$x, w2 = res.1$evol[[10]]$w,
prob = prob4.4,
type = "PA",
inipars = p,
x1 = res.1$evol[[350]]$x, w1 = res.1$evol[[350]]$w)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.