[Rd] GSoC project "Improvement to nls()"

J C Nash pro|jcn@@h @end|ng |rom gm@||@com
Wed May 26 18:26:01 CEST 2021


This message is to let R developers know that the project in the Subject is now
a Google Summer of Code project.

Our aim in this project is to find simplifications and corrections to the nls()
code, which has become heavily patched. Moreover, it has some deficiencies in that
there is no Marquardt stabilization and it is likely the jacobian (called gradient
in R) computations are less than ideal. On the other hand, it has a lot of features
and capabilities.

A correction I proposed to avoid the "small residual" issue (when models are nearly
perfectly fittable) is now in R-devel. Using a new nls.control parameter one can avoid
failure, but the default value of 0 leaves legacy behaviour. We hope to be able to use
similar approaches so existing nls() example output is unaltered.

It is likely we will only partially meet our goals:
- to document and possibly simplify the existing code
- to correct some minor issues in documentation or function
- to find a graceful way to incorporate a Marquardt stabilization into the
  Gauss-Newton iteration
- to document, evaluate, and possibly improve the jacobian computation

all within the context that any changes impose minimal nuisance for R workers.

Some of these efforts overlap the nlsr, minpack.lm and likely other packages,
and may suggest improvements there also.

There is a gitlab repository established at https://gitlab.com/nashjc/improvenls.
We welcome interest and participation off list except for bugs in the current R
function(s).

John Nash
University of Ottawa



More information about the R-devel mailing list