Description Usage Arguments Details Value Note References See Also Examples
View source: R/3-UserMinimaxFunctions.R
The 4-parameter Hill model is of the form
f(D) = c + (d-c)(D/a)^b/(1 + (D/a)^b) + ε,
where ε ~ N(0, σ^2),
D is the dose level and the predictor,
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.
Sometimes, the Hill model is re-parameterized and written as
f(x)= θ_1/(1 + exp(θ_2*x + θ_3)) + θ_4,
where θ_1 = d - c, θ_2 = - b,
θ_3 = b*log(a), θ_4 = c, θ_1 > 0,
θ_2 not equal to 0, and -∞ < ED50 < ∞,
where x = log(D) belongs to [-M, M]
for some sufficiently large value of M.
The new form is sometimes called 4-parameter logistic model.
The function multiple finds locally multiple-objective optimal designs for estimating the model parameters, the ED50, and the MED, simultaneously.
For more details, see Hyun and Wong (2015).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
minDose |
Minimum dose D. For the 4-parameter logistic model, i.e. when |
maxDose |
Maximum dose D. For the 4-parameter logistic model, i.e. when |
iter |
Maximum number of iterations. |
k |
Number of design points. Must be at least equal to the number of model parameters to avoid singularity of the FIM. |
inipars |
A vector of initial estimates for the vector of parameters (a, b, c, d).
For the 4-parameter logistic model, i.e. when |
Hill_par |
Hill model parameterization? Defaults to |
delta |
Predetermined meaningful value of the minimum effective dose MED. When δ < 0 , then θ_2 > 0 or when δ > 0, then θ_2 < 0. |
lambda |
A vector of relative importance of each of the three criteria, i.e. λ = (λ_1, λ_2, λ_3). Here 0 < λ_i < 1 and s ∑ λ_i = 1. |
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 |
tol |
Tolerance for finding the general inverse of the Fisher information matrix. Defaults to |
x |
A vector of candidate design (support) points.
When is not set to |
When λ_1 > 0, then the number of support points k
must at least be four to avoid singularity of the Fisher information matrix.
One can adjust the tuning parameters in ICA.control to set a stopping rule
based on the general equivalence theorem. See 'Examples' below.
an object of class minimax that is a list including three sub-lists:
argA list of design and algorithm parameters.
evolA 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. | |
empiresA list of all the empires of the last iteration.
algA 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'? |
|
methodA type of optimal designs used.
designDesign points and weights at the final iteration.
outA 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.
This function is NOT appropriate for finding c-optimal designs for estimating 'MED' or 'ED50' (single objective optimal designs)
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 not stable and depends
on the tolerance value (tol).
Hyun, S. W., and 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.
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 | # All the examples are available in Hyun and Wong (2015)
#################################
# 4-parameter logistic model
# Example 1, Table 3
#################################
lam <- c(0.05, 0.05, .90)
# Initial estimates are derived from Table 1
# See how the stopping rules are set via 'stop_rul', checkfreq' and 'stoptol'
Theta1 <- c(1.563, 1.790, 8.442, 0.137)
res1 <- multiple(minDose = log(.001), maxDose = log(1000),
inipars = Theta1, k = 4, lambda = lam, delta = -1,
Hill_par = FALSE,
iter = 1,
ICA.control = list(rseed = 1366, ncount = 100,
stop_rule = "equivalence",
checkfreq = 100, stoptol = .95))
## Not run:
res1 <- update(res1, 1000)
# stops at iteration 101
## End(Not run)
#################################
# 4-parameter Hill model
#################################
## initial estimates for the parameters of 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
## the vector of Hill parameters are now c(a, b, c, d)
## Not run:
res2 <- multiple(minDose = .001, maxDose = 1000,
inipars = c(a, b, c, d),
Hill_par = TRUE, k = 4, lambda = lam,
delta = -1, iter = 1000,
ICA.control = list(rseed = 1366, ncount = 100,
stop_rule = "equivalence",
checkfreq = 100, stoptol = .95))
# stops at iteration 100
## End(Not run)
# use x argument to provide fix number of dose levels.
# In this case, the optimization is only over weights
## Not run:
res3 <- multiple(minDose = log(.001), maxDose = log(1000),
inipars = Theta1, k = 4, lambda = lam, delta = -1,
iter = 300,
Hill_par = FALSE,
x = c(-6.90, -4.66, -3.93, 3.61),
ICA.control = list(rseed = 1366))
res3$evol[[300]]$w
# if the user provide the desugn points via x, there is no guarantee
# that the resulted design is optimal. It only provides the optimal weights given
# the x points of the design.
plot(res3)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.