[R] non-linear curve fitting
ecatchpole
e.catchpole at adfa.edu.au
Thu Mar 22 23:25:09 CET 2007
Douglas Bates wrote on 03/23/2007 06:16 AM:
> On 3/22/07, Hufkens Koen <koen.hufkens at ua.ac.be> wrote:
>
>> Is there a means of getting an F-statistic (p-value) out of all of this.
>>
>
>
>> Because least-square criterion / r-square only tell me how good the fit is and not necessarily how solid this fit is. An F-statistic (p-value) would be nice...
>>
>
> What would the F-statistic be? For a linear model with an intercept
> the F-statistic represents a comparison of the model that you have fit
> to the trivial model (intercept only). It is important that the
> models being compared are nested - otherwise the F statistic is of
> questionable validity.
>
> For the logistic growth model you described (which is not quite the
> one fit by SSlogis - that model has one more parameter, a scale factor
> on the response) the response always goes to zero as x -> -\Infty and
> to one as x -> \Infty. The trivial model is not nested within this
> model for finite parameter values so I'm not sure what hypotheses
> would be tested by an F-statistic.
>
If the original curve is reparameterised as f(x) = 1/(1+exp(-(a+b*x))),
then you can test whether b=0. Is this any help?
Ted.
>
>> Regards,
>> Koen
>>
>>
>>
>>> -----Original Message-----
>>> From: Philippe Grosjean [mailto:phgrosjean at sciviews.org]
>>> Sent: donderdag 22 maart 2007 14:02
>>> To: Hufkens Koen; r-help at stat.math.ethz.ch
>>> Subject: Re: [R] non-linear curve fitting
>>>
>>> Hello,
>>>
>>> If a least-square criterion is fine for you, you should use
>>> nls(). For the logistic curve, you have a convenient
>>> self-starting model available:
>>> SSlogis(). Look at:
>>>
>>> ?nls
>>> ?SSlogis
>>>
>>> Best,
>>>
>>> Philippe Grosjean
>>>
>>> ..............................................<°}))><........
>>> ) ) ) ) )
>>> ( ( ( ( ( Prof. Philippe Grosjean
>>> ) ) ) ) )
>>> ( ( ( ( ( Numerical Ecology of Aquatic Systems
>>> ) ) ) ) ) Mons-Hainaut University, Belgium
>>> ( ( ( ( (
>>> ..............................................................
>>>
>>> Hufkens Koen wrote:
>>>
>>>> Hi list,
>>>>
>>>> I have a little curve fitting problem.
>>>>
>>>> I would like to fit a sigmoid curve to my data using the
>>>>
>>> following equation:
>>>
>>>> f(x) = 1/(1 + exp(-(x-c)*b)) (or any other form for that matter)
>>>>
>>>> Where x is the distance/location within the dataframe, c is
>>>>
>>> the shift of the curve across the dataframe and b is the
>>> steepness of the curve.
>>>
>>>> I've been playing with glm() and glm.fit() but without any luck.
>>>>
>>>> for example the most simple example
>>>>
>>>> x = -10:10
>>>> y = 1/(1 + exp(-x))
>>>> glm(y ~ x, family=binomial(link="logit"))
>>>>
>>>> I get a warning:
>>>> non-integer #successes in a binomial glm! in: eval(expr, envir,
>>>> enclos)
>>>>
>>>> and some erratic results
>>>>
>>>> This is the most simple test to see if I could fit a curve
>>>>
>>> to this perfect data so since this didn't work out, bringing
>>> in the extra parameters is a whole other ballgame so could
>>> someone give me a clue?
>>>
>>>> Kind regards,
>>>> Koen
>>>>
>>>>
>>>>
>
--
Dr E.A. Catchpole
Visiting Fellow
Univ of New South Wales at ADFA, Canberra, Australia
_ and University of Kent, Canterbury, England
'v' - www.pems.adfa.edu.au/~ecatchpole
/ \ - fax: +61 2 6268 8786
m m - ph: +61 2 6268 8895
More information about the R-help
mailing list