[R] Non linear Regression: "singular gradient matrix at initial parameter estimates"

Mario Valle mvalle at cscs.ch
Tue Apr 12 18:53:08 CEST 2011


Use a more realistic starting point instead of the default one:

fit <- nls(yeps ~ p1 / (1 + exp(p2 - x)) * exp(p4 * x), 
start=list(p1=410,p2=18,p4=-.03))

This works for me:
 > fit
Nonlinear regression model
   model:  yeps ~ p1/(1 + exp(p2 - x)) * exp(p4 * x)
    data:  parent.frame()
        p1        p2        p4
199.48276  16.28664  -0.01987
  residual sum-of-squares: 560.6

Number of iterations to convergence: 5
Achieved convergence tolerance: 5.637e-07

Ciao!
                         mario

On 12-Apr-11 18:01, Felix Nensa wrote:
> fit = nls(yeps ~ p1 / (1 + exp(p2 - x)) * exp(p4 * x))
>

-- 
Ing. Mario Valle
Data Analysis and Visualization Group            | http://www.cscs.ch/~mvalle
Swiss National Supercomputing Centre (CSCS)      | Tel:  +41 (91) 610.82.60
v. Cantonale Galleria 2, 6928 Manno, Switzerland | Fax:  +41 (91) 610.82.82



More information about the R-help mailing list