Learn R Programming

LDOD (version 1.0)

ldlogistic: Locally D-optimal designs for Logistic model

Description

Finds Locally D-optimal designs for Logistic and Logistic dose-response models which are defined as $E(y) = 1/(1+\exp(-a-bx))$ and $E(y) = 1/(1+\exp(-b(x-a)))$ with $Var(y) = E(y)(1-E(y))$, respectively, where $a$ and $b$ are unknown parameters.

Usage

ldlogistic(a, b, form = 1 , lb, ub, user.points = NULL, user.weights = NULL, ..., n.restarts = 1, n.sim = 1, tol = 1e-8, prec = 53, rseed = NULL)

Arguments

a
initial value for paremeter $a$.
b
initial value for paremeter $b$.
form
must be 1 or 2. If form = 1, then $E(y)=(1/(\exp(-a-bx)+1))$; if 'form = 2', then $E(y)=1/(\exp(b2(x-b1))+1)$.
lb
lower bound of design interval.
ub
upper bound of design interval.
user.points
(optional) vector of user design points which calculation of its D-efficiency is aimed. Each element of user.points must be within the design interval.

user.weights
(optional) vector of weights which its elements correspond to user.points elements. The sum of weights should be $1$; otherwise they will be normalized.
...
(optional) additional parameters will be passed to function curve.
prec
(optional) a number, the maximal precision to be used for D-efficiency calculation, in bite. Must be at least $2$ (default $53$), see 'Details'.

n.restarts
(optional optimization parameter) number of solver restarts required in optimization process (default $1$), see 'Details'.
n.sim
(optional optimization parameter) number of random parameters to generate for every restart of solver in optimization process (default $1$), see 'Details'.
tol
(optional optimization parameter) relative tolerance on feasibility and optimality in optimization process (default $1e-8$).
rseed
(optional optimization parameter) a seed to initiate the random number generator, else system time will be used.

Value

plot of derivative function, see 'Note'.a list containing the following values:
points
obtained design points
weights
corresponding weights to the obtained design points
det.value
value of Fisher information matrix determinant at the obtained design
user.eff
D-efficeincy of user design, if user.design and user.weights are not NULL.

Details

While D-efficiency is NaN, an increase in prec can be beneficial to achieve a numeric value, however, it can slow down the calculation speed.

Values of n.restarts and n.sim should be chosen according to the length of design interval.

References

Masoudi, E., Sarmad, M. and Talebi, H. 2012, An Almost General Code in R to Find Optimal Design, In Proceedings of the 1st ISM International Statistical Conference 2012, 292-297.

Kiefer, J. C. (1974), General equivalence theory for optimum designs (approximate theory). Ann. Statist., 2, 849-879.

See Also

cfisher, cfderiv and eff.

Examples

Run this code
ldlogistic(a = .9 , b = .8, form = 1, lb = -5, ub = 5)
# $points: -3.0542559  0.8042557

## usage of n.sim and n.restars:
# Various responses for different values of rseed

ldlogistic(a = 20 , b = 10, form = 1, lb = -5, ub = 5, rseed = 9) 
# $points: -4.746680 -1.976591 

ldlogistic(a = 20 , b = 10, form = 1, lb = -5, ub = 5, rseed = 11) 
# $points -4.994817 -2.027005

ldlogistic(a = 20 , b = 10, form = 1, lb = -5, ub = 5, n.restarts = 5, n.sim = 5)
# (valid response) $points: -2.15434, -1.84566

## usage of precision:
ldlogistic(a = 22 , b = 10, form = 1, lb = -5, ub = 20, n.restarts = 7, n.sim = 7,
           user.points = c(20, 5), user.weights = c(.5, .5)) # $user.eff: NaN

ldlogistic(a = 22 , b = 10, form = 1, lb = -5, ub = 20, n.restarts = 7, n.sim = 7,
           user.points = c(20, 5), user.weights = c(.5, .5), prec = 321) # $user.eff: 0

Run the code above in your browser using DataLab