J. Sebastian Tello
2010-Jul-08 18:17 UTC
[R] Psudeo R^2 (or other effect size) in spatial gls regressions
Dear all,
I have been using the function gls in the package nlme in R to fit some spatial
regressions (as described in Dormann et al.). However, I have been struggling
trying to find a way to calculate a measure of effect size from these models, so
I wanted to know if any of you had an idea on how to do this.
More precisely, I am producing a multiple model with an exponential correlation
structure:
spatial.gls<-gls(Y~X+Z, correlation=corExp(form=~long+lat))
I know that in this kind of models one possible measure of effect size is a
pseudo R^2 value, so I have been calculating it like this:
null.gls<-gls(Y~1)
yN<-length(Y)
lL.B<-logLik(spatial.gls)
lL.0<-logLik(null.gls)
Nagelkerke<-(1-exp((lL.B-lL.0)*(-2/yN)))/(1-exp((lL.0)*(2/yN)))
Nagelkerke[1]
However, the value that is produced is extremely close to 1 (>0.97), very
different from the R^2 produced by a simple linear model model:
no.spatial.lm<-lm(Y~X+Z)
or equivalently by the pseudo R^2 as calculated above of the non spatial gls
no.spatial.gls<-gls(Y~X+Z)
Which is only of about 0.5. So it seems to me that the Pseudo R^2 calculated as
I have reflects the fit of the model including the spatial structure, and not
only the effect of the predictors in the model. Is there a way to calculate an
effect size (e.g. a pseudo R^2) of these “spatial” gls models that only measures
the effect of the predictors in the model?
I'd really appreciate any insights into this.
Very best,
Sebastian
J. Sebastián Tello
Department of Biological Sciences
285 Life Sciences Building
Louisiana State University
Baton Rouge, LA, 70803
(225) 578-4284 (office and lab.)
[[alternative HTML version deleted]]
