[R-sig-ME] Difficulties fitting steeply rising sigmoid Emax functions
Rob Forsyth
r.j.forsyth at newcastle.ac.uk
Fri Nov 30 18:16:31 CET 2007
I would very much appreciate help with the following problem. I have a
simulated dataset comprising a sigmoid Emax function
(E0+Emax*Dose^Hill)/(D50^Hill+Dose^Hill)) with added error terms. I am
wanting to create nlsList() models to read back estimates of the
original E0, Emax, D50 and Hill but get singular gradient and other
errors.
I realise poor starting estimates will be a large part of the problem.
It's quite a demanding dataset with some very high values of Hill
(creating steeply rising curves which make locating D50 tricky) and
significant "noise" from the error terms. I have written a selfStart
sigmoid Emax function deriving initial estimates from a linear
regression of log(theta/1-theta)~log(Dose) (where theta = (Emax-E0)/
Emax, which has slope of Hill and intercept of -Hill*logD50) however
this does not perform well enough in this dataset and I'd appreciate
any suggestions for more robust algorithms. I am aware that taking the
log of the X axis converts this to the four-parameter logistic
function but the SSfpl() function does not perform much better.
As an alternative since this is simulated data I do of course have
access to the "real" values for E0, Emax, D50 and Hill (they are
indeed present in the groupedData object I am trying to fit) but I am
uncertain of the syntax required to utilise them - also in due course
I want to create an nlme() model of the data: will this approach break
if I do this?
Thanks
Rob Forsyth
More information about the R-sig-mixed-models
mailing list