Hi Irene, In this case the computer is right - your gradient is really singular! If you scale all you parameters (g,a and b) by any nonzero constant c nothing changes, meaning that there is a "degree of freedom" and this causes the gradient to be singular. You can check whether g = 0 (and then y = 0) is good. If not, assume that g != 0 and divide both numerator and denominator by g to get y = x/(A + B*x) where A = a/g, B = b/g. Now your gradient should not be singular. Formally, if y = x/(A + B*x) then 1/y = A/x + B or y' = B + A*x' where y' = 1/y and x' = 1/x, and this is a linear model! You certainly can not use it to estimate A and B, but you can try to use the values for A and B you get as an initial estimate for nls for the original model (if you do not have a better starting point).
Regards, Moshe. --- Irene Mantzouni <[EMAIL PROTECTED]> wrote: > Dear all, > > I would like to fit a non-linear model of the form: > y=g*x/(a+b*x) > with nls(). > However this model is somehow overparameterized and > I get the error message about > singular gradient matrix at initial parameter > estimates. > What I am interested in is to make inference about > parameters b and g, so this has to be taken into > account in the model formulation. > What options do I have? > Also, how is it possible to fit a partially linear > model? > > Thank you!! > > Irene Mantzouni > ---------------- > PhD student > DIFRES > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, > reproducible code. > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.