Skip to content

questions about anova

3 messages · Carlos Henrique Grohmann, Spencer Graves, Roger Bivand

#
Hello all,

I have two questions about anova (one is probably VERY basic...)

1 - when one asks for a summary of a trend surface created with surf.ls, he/she
gets:
Analysis of Variance Table
 Model: surf.ls(np = 3, x = gradiente$east, y = gradiente$north, z =
gradiente$num1)
             Sum Sq    Df      Mean Sq  F value     Pr(>F)
Regression 215.7182     9 23.968693976 2686.508 < 2.22e-16
Deviation  480.1218 53814  0.008921876
Total      695.8401 53823
Multiple R-Squared: 0.31,       Adjusted R-squared: 0.3099
AIC: (df = 53814) -146390.9
Fitted:
     Min       1Q   Median       3Q      Max
0.007852 0.075619 0.100498 0.139042 0.338186
Residuals:
     Min       1Q   Median       3Q      Max
-0.29758 -0.04418 -0.01411  0.02536  0.51484
So, what's the meaning of the "Pr(>F)?



2 - I have six trend surfaces, and I like to make a anova for the significance
of increasing the degree of polynomial (like in Davis, 1986, p.422, Statistics
and data analysis in geology).

is there a way I can do it automatically or should I do it manually?


Thanks all.
#
"Pr(>F)" = probability of obtaining by chance alone an "F value" 
at least as large as what was computed.  If this probability is small 
(as in this case), it is not credible to believe the null hypothesis.  
That is typically taken as evidence that there is a "statistically 
significant" trend surface.  However, it could also mean that some other 
assumption, such as independent observations, is violated.  I don't know 
"surf.ls", but from my cursory review of the documentation, it may 
assume independence, which may not be realistic in this case. 

      I'm not familiar with Davis, but to test increasing orders of 
trend surfaces, consider the following: 

 > data(topo, package="MASS")
 > topo.kr <- surf.ls(2, topo)
 > topo.kr3 <- surf.ls(3, topo)
 > anova(topo.kr, topo.kr3)
Analysis of Variance Table

Model 1: surf.ls(np = 2, x = topo)
Model 2: surf.ls(np = 3, x = topo)
  Res.Df Res.Sum Sq Df Sum Sq F value    Pr(>F)
1     46      39958                           
2     42      21577  4  18381  8.9447 2.558e-05
 > p.23 <- anova(topo.kr, topo.kr3)[2, "Pr(>F)"]
Analysis of Variance Table

Model 1: surf.ls(np = 2, x = topo)
Model 2: surf.ls(np = 3, x = topo)
  Res.Df Res.Sum Sq Df Sum Sq F value    Pr(>F)
1     46      39958                           
2     42      21577  4  18381  8.9447 2.558e-05
 > p.23
[1] 2.558186e-05

      You can put this in a "for" loop to fit and evaluate increasing 
orders of surfaces and put that inside a function.  If you need help 
with that, please consult the substantial documentation provided with R 
or downloadable from "www.r-project.org" or in other references such as 
Venables and Ripley (2002) Modern Applied Statistics with S, 4th ed. 
(Springer). 

      Hope this helps.  spencer graves
Carlos Henrique Grohmann wrote:

            
#
On Sat, 28 Feb 2004, Carlos Henrique Grohmann wrote:

            
About surf.ls() in the spatial package, and documented in Venables & 
Ripley Modern Applied Statistics with S ...
Roughly here that, if the model assumptions are met, that the reduction of 
sum of squares from total to deviation could have occurred at random, and 
that the reduction represented by the cubic trend surface does make a 
difference. Note that the observations are probably not independent, so 
the assumptions may not be met, and with the number of observations you 
have here, almost anything will appear to be significant.
See the example in help(anova.trls):

anova(topo0, topo1, topo2, topo3, topo4)

which compares the trend surfaces from 0 to 4th order. There are concerns 
about trying to fit higher-order surfaces because of co-linearity.