eadrm {eadrm} | R Documentation |
Fits a dose-response curve using an evolutionary algorithm
Description
Uses an evolutionary algorithm to fit a set of four possible dose-response models. The evolutionary parameters and stopping rules can be customized by the user.
Usage
eadrm(
obs,
xvals,
model = "h4",
pop.size = 1000,
stable.pop.size = 200,
num.tournaments = 20,
tournament.size = 10,
max.generations = 500,
stop.generations = 50,
epsilon = 0.1
)
Arguments
obs |
A vector of response values (y-values). |
xvals |
A vector of doses (x-values). |
model |
Type of dose-response model to fit. Possible values include "h3", "h4", and "h5" (corresponding to 3-parameter, 4-parameter, and 5-parameter log-logistic models, respectively), "e" (corresponding to an exponential model) and "all" (which allows the procedure to evaluate all four types of models). Defaults to "h4". |
pop.size |
The number of initial potential solutions. Defaults to 1000. |
stable.pop.size |
This quantity is divided by the number of tournaments to calculate the number of children in each generation. Defaults to 200. |
num.tournaments |
The number of tournaments in each generation. Defaults to 20. |
tournament.size |
The number of players (i.e., models to consider) in each tournament. Defaults to 10. |
max.generations |
The maximum number of generations. If this number is reached, the algorithm immediately terminates. Defaults to 500. |
stop.generations |
The algorithm will also terminate if there is no improvement in fitness in stop.generation generations. Defaults to 50. |
epsilon |
If three successive new models produce an improvement of less than epsilon in fitness, the procedure will terminate. Defaults to 0.1. |
Value
An object of class eadrm, which is a list containing the following elements:
- Model:
Specifies the type of model (i.e., "h3", "h4", "h5", or "e")
- R2:
Fitness for the final model
- params:
A vector of coefficients for the final model
- xvals:
The original x values (concentrations) for the model
- yvals:
The original y values (responses) for the model
Details
The procedure will initially generate pop.size possible solutions. The fitness for each solution will be calculated. In each generation, a series of tournaments are performed. The children of the surviving models from the previous generation are mutated. The model with the best fitness "wins" each tournament and survives to the next generation. The procedure continues until the maximum number of generations is reached or the fitness fails to improve substantially over a sufficient number of generations.
References
Ma, J., Bair, E., Motsinger-Reif, A. "Nonlinear Dose-response Modeling of High-Throughput Screening Data Using an Evolutionary Algorithm", Dose Response 18(2):1559325820926734 (2020).
Examples
ea.fit <- eadrm(CarboA$y, CarboA$x)