[R] Help with nonlinear least squares regression curve fitting

Corey Callaghan ccallaghan2013 at fau.edu
Wed Feb 25 17:03:52 CET 2015


Hi everyone. This is my first post to this forum and I'm hoping someone can
help.

I'm trying to finish up some analysis for my thesis and this is the last
problem I have. I have calculated data for 15 different species of birds;
below is an example of one species and what the data might look like.

I have three a priori nonlinear curves that I want to test each data set
against in order to see which of the three curves has the best fit. (I
suspect the fit won't be that great for any of them in some instances.)

The curves' functions that I want to test are in the code here (hopefully
correctly):

Inverse Quadratic Curve: 
fitmodel <- nls(Area ~ (-a*Year)*(Year + b), data = df, start=list(a=??,
b=??, c=??))

Sigmodial Curve:
fitmodel <- nls(Area~a/(1+exp(-(b+c*Year))), data=df, start=list(a=???,
b=???, c=??))

Double sigmoidal Curve:
fitmodel <- nls(Area~a+2b(1/(1+exp(-abs(-c*Year+d)))-1/2)*sign(-c*Year+d),
data=df, start=list(a=???, b=???, c=???)

My problem is I can't really figure out how to choose the correct starting
values to avoid getting the singular matrix error. Any help as to how to go
about this would be appreciated! Does everything look right? My method is
okay?

If I can get the fits to run I plan on using AIC to select the best curve
for each of the 15 species.

I thank you in advance for your consideration and help on this!
Cheers,
Corey Callaghan


df:
Area	                 Year
104.7181283	1984
32.88026974	1985
56.07395863	1986
191.3422143	1987
233.4661392	1988
57.28317116	1989
201.1273404	1990
34.42570796	1991
165.8962342	1992
58.21905274	1993
114.6643724	1994
342.3461986	1995
184.8877994	1996
94.90509356	1997
45.2026941	1998
68.6196393	1999
575.2440229	2000
519.7557581	2001
904.157509	2002
1107.357517	2003
1682.876061	2004
40.55667824	2005
740.5032604	2006
885.7243469	2007
395.4190968	2008
1031.314519	2009
2597.544987	2010
1316.968695	2011
848.7093901	2012
5076.675075	2013
6132.975491	2014



--
View this message in context: http://r.789695.n4.nabble.com/Help-with-nonlinear-least-squares-regression-curve-fitting-tp4703812.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list