Hi, I have a nonlinear model with residuals that are negatively autocorrelated at short distances. I can find no spatial correlation structures in nlme that can easily handle negative autocorrelation as most have bounds on parameter values so that correlation is from 0 to 1. First, is there something I am missing? I tried to roll my own by calculating a correlation matrix with some negative values off the diagonal and then setting the correlation structure as follows within the function gnls: correlation=corSymm(corr9x[lower.tri(corr9x)]) where corr9x is the n x n matrix of correlations that I set up based upon distances between points in the data set. Some of these correlations are positive and some are negative. They are based on a Moran's I correlogram that I calculated from the residuals returned from a gnls model fit with NO spatial correlation employed. I get the following error: Initial values for corSymm do not define a positive-definite correlation structure I am unsure if the matrix is rejected out of hand because it contains negative values or if there is something I can do to coerce it. I have checked the lower triangle matrix returned and it matches what I intended. Any input is appreciated. Seth Myers -- View this message in context: http://r.789695.n4.nabble.com/negative-correlation-with-corSymm-in-nlme-or-another-way-tp4666357.html Sent from the R help mailing list archive at Nabble.com.
Kevin Wright
2013-May-06 18:51 UTC
[R] negative correlation with corSymm in nlme or another way?
1. Next time you might try emailing the mixed-effects mailing list.
2. Maybe I'm missing some detail about your example, but have you
considered corAR1()? Here is an example with negative correlation:
library(agridat)
dat <- kempton.competition
# Fixed genotype effects, random rep effects,
# Autocorrelation of neighboring plots within the same rep
require("nlme")
m1 <- lme(yield ~ -1+gen, random=~1|rep, data=dat,
corr=corAR1(form=~col|rep))
print(m1)
Correlation Structure: AR(1)
Formula: ~col | rep
Parameter estimate(s):
Phi
-0.2203263
# Lag 1 autocorrelation is negative--evidence of competition
plot(ACF(m1), alpha=.05, grid=TRUE)
Kevin Wright
On Sun, May 5, 2013 at 1:12 PM, Seth <sjmyers@syr.edu> wrote:
> Hi,
>
> I have a nonlinear model with residuals that are negatively autocorrelated
> at short distances.
>
> I can find no spatial correlation structures in nlme that can easily handle
> negative autocorrelation as most have bounds on parameter values so that
> correlation is from 0 to 1.
>
> First, is there something I am missing?
>
> I tried to roll my own by calculating a correlation matrix with some
> negative values off the diagonal and then setting the correlation structure
> as follows within the function gnls:
>
> correlation=corSymm(corr9x[lower.tri(corr9x)])
>
> where corr9x is the n x n matrix of correlations that I set up based upon
> distances between points in the data set. Some of these correlations are
> positive and some are negative. They are based on a Moran's I
correlogram
> that I calculated from the residuals returned from a gnls model fit with NO
> spatial correlation employed.
>
> I get the following error:
>
> Initial values for corSymm do not define a positive-definite correlation
> structure
>
> I am unsure if the matrix is rejected out of hand because it contains
> negative values or if there is something I can do to coerce it. I have
> checked the lower triangle matrix returned and it matches what I intended.
>
> Any input is appreciated.
>
> Seth Myers
>
>
>
>
>
>
>
> --
> View this message in context:
>
http://r.789695.n4.nabble.com/negative-correlation-with-corSymm-in-nlme-or-another-way-tp4666357.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help@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.
>
--
Kevin Wright
[[alternative HTML version deleted]]