[R] Singular Gradient in nls

glenn andrews ga at aggies.com
Sun Mar 30 14:31:19 CEST 2008


Is the nls() algorithm based on a weighted non-linear least squares -- I 
noticed you mentioned a weighted gradient matrix?

Glenn


Katharine Mullen wrote:

>sorry, the below should read:
>
> A QR decomposition is done on the weighted gradient matrix; if the
>  
>
>>estimate of the rank that results is less than min( the number of
>>    
>>
>columns in
>  
>
>>the gradient (the number of nonlinear parameters), the
>>    
>>
>number
>  
>
>>of rows (the number of observations) ) , nls stops.
>>    
>>
>
>so you look at the number of observations, and the number of parameters,
>and take the smaller of the two.  if the estimated rank of the weighted
>gradient is small than this number, you stop.
>
>On Fri, 28 Mar 2008, Katharine Mullen wrote:
>
>  
>
>>A QR decomposition is done on the weighted gradient matrix; if the
>>estimate of the rank that results is less than the number of columns in
>>the gradient (the number of nonlinear parameters), or less than the number
>>of rows (the number of observations), nls stops.
>>
>>You can see the calls in the source code of nlsModel
>>(https://svn.r-project.org/R/trunk/src/library/stats/R/nls.R).
>>
>>On Fri, 28 Mar 2008, glenn andrews wrote:
>>
>>    
>>
>>>//Referring to the response  posted many years ago, copied below, what
>>>is the specific criterium used for singularity of the gradient matrix?
>>>Is a Singular Value Decomposition used to determine the singular
>>>values?  Is it the gradient matrix condition number  or some other
>>>criterion for determining singularity?
>>>//
>>>
>>>//Glenn
>>>//
>>>
>>>/
>>>/
>>>
>>>/> What does the error 'singular gradient' mean during a nonlinear
>>>regression? /
>>>
>>>The gradient matrix to which the message refers is the derivative of
>>>the vector of predicted values with respect to the vector of
>>>parameters at the current parameter estimates. If you have 20
>>>observations and three parameters, this will be a matrix with 20 rows
>>>and three columns.
>>>
>>>For the model to be estimable in a region of the current estimates,
>>>this matrix must have full column rank. When it fails to have full
>>>column rank the "singular gradient" message is given and the
>>>iterations stop.
>>>
>>>Generally this indicates that the model is overparameterized or that
>>>the starting estimates were poorly chosen. Try using trace = TRUE in
>>>the call to nls and watching the progress of the iterations. This
>>>will often show that the estimates are wandering into unreasonable
>>>regions of the parameter space.
>>>
>>>--
>>>Douglas Bates                            bates at stat.wisc.edu
>>>Statistics Department                    608/262-2598
>>>University of Wisconsin - Madison        http://www.stat.wisc.edu/~bates/ <http://www.stat.wisc.edu/%7Ebates/>
>>>-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
>>>r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html <http://www.ci.tuwien.ac.at/%7Ehornik/R/R-FAQ.html>
>>>Send "info", "help", or "[un]subscribe"
>>>(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
>>>_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
>>>
>>>
>>>	[[alternative HTML version deleted]]
>>>
>>>______________________________________________
>>>R-help at 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 at 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.
>>
>>    
>>
>
>  
>



More information about the R-help mailing list