# ldrichards: Locally D-optimal designs for Richards model In LDOD: Finding Locally D-optimal optimal designs for some nonlinear and generalized linear models.

## Description

Finds Locally D-optimal designs for Richards regression model which is defined as E(y) = a/(1+b\exp(-λ*x))^h with Var(y) = σ^2, where a, b, λ, h and σ are unknown parameters.

## Usage

 ```1 2``` ```ldrichards(a, b, lambda, h, 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. `lambda` initial value for paremeter λ. `h` initial value for paremeter h. `lb` lower bound of design interval, must be greater than or equal to 0. `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.

## 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.

## 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`.

## Note

To verify optimality of obtained design, derivate function (symmetry of Frechet derivative with respect to the x-axis) will be plotted on the design interval. Based on the equivalence theorem (Kiefer, 1974), a design is optimal if and only if its derivative function are equal or less than 0 on the design interval. The equality must be achieved just at the obtained points.

## Author(s)

Ehsan Masoudi, Majid Sarmad and Hooshang Talebi

## 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.

Dette, H., Pepelyshev, A. (2008), Efficient Experimental Designs for Sigmoidal Growth Models, Statistical Planning and Inference, 138, 2-17.

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

`cfisher`, `cfderiv` and `eff`.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14``` ```ldrichards(a = 1, b = 2, lambda = 2, h = 3, lb = 0, ub =3) # \$points: 0.1805017 0.8296549 1.6139494 3.0000000 ## usage of n.sim and n.restars # Various responses for different values of rseed ldrichards(a = 1, b = 4, lambda = 3, h = 6, lb = 0, ub = 19, rseed = 6) # \$points: 5.022689 11.520735 17.815197 19.000000 ldrichards(a = 1, b = 4, lambda = 3, h = 6, lb = 0, ub = 19, rseed = 7) # \$points: 2.198258 7.557164 18.789277 19.000000 ldrichards(a = 1, b = 4, lambda = 3, h = 6, lb = 0, ub = 19, n.sim = 5, n.restarts = 5) # (valid response) \$points: 0.6562008 1.0485843 1.5894946 19.000000 ```