[R] No answer in anova.nls

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Aug 12 08:33:49 CEST 2008


The reason for no F test showing up is that the additional df is 0 and the 
F value is Inf.  But the underlying problem is that your models are not 
nested and so ANOVA between them is invalid.

I suggest you seek help from a local statistician: your misunderstanding 
and your question about model adequacy are subtle statistical issues and 
not help on R.

On Mon, 11 Aug 2008, Nazareno Andrade wrote:

> Dear R-helpers,
>
> I am trying to check whether a model of the form y(t) = a/(1 +b*t) fits the
> curve of downloads per day of a file in a specific online community better
> than a model of the form y(t) = a*exp(-b*t). For that, I used nls to fit
> both models and I am now trying to compare the fits with anova. The problem
> I find is that anova does not report an F statistic or a p-value when I
> compare these two models.
>
> The data for a file is typically the following:
>> d
>   V1  V2
> 1   1 293
> 2   2 101
> 3   3  63
> 4   4  53
> 5   5  42
> 6   6  19
> 7   7  28
> 8   8  23
> 9   9  18
> 10 10  17
> 11 11  14
> 12 12  18
> 13 13   5
> 14 14   9
> 15 15  10
> 16 15   0
>
> My code:
>
> d <- read.table(url("http://ece.ubc.ca/~nazareno/85247.arrivalRates<http://ece.ubc.ca/%7Enazareno/85247.arrivalRates>
> "))
> plot(d)
> f.exp.nw <- nls(V2 ~ a. * exp(-b. * V1), data = d, list( a. = d$V2[1], b. =
> 0.05))
> f.exp5.nw <- nls(V2 ~ a. / (1+ b. *V1), data = d, list( a. = d$V2[1], b. =
> 2))
> lines(d$V1, predict(f.exp.nw), col = "royalblue")
> lines(d$V1, predict(f.exp5.nw), col = "orange")
>
> anova(f.exp.nw, f.exp5.nw)
>
> However, the output from anova.nls is:
>
> Analysis of Variance Table
>
> Model 1: V2 ~ a. * exp(-b. * V1)
> Model 2: V2 ~ a./(1 + b. * V1)
>  Res.Df Res.Sum Sq Df Sum Sq F value Pr(>F)
> 1     13     4994.9
> 2     13      314.7  0    0.0
>
> and I cannot interpretate the lack of an F value. Looking at the
> implementation of the anova.nls() function, this seems to be related to the
> fact that the residuals' degrees of freedom are the same, but I could not
> find anywhere more information on whether they were required to be
> different. Thus, I'd greatly appreciate if you could spot any mistakes I
> might be doing or a (preferably online) reference for more on this issue.
>
>
> As a side question, it would be great also if someone with more experience
> on this matter could confirm with me that the proper direction for checking
> whether "the y(t) = a/(1 +b*t) form models more precisely the behavior of
> downloads of files in this communtiy" by quantifying for how many files it
> outperforms the exponential model.
>
> thank you very much in advance,
> Nazareno
>
> 	[[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.
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-help mailing list