[R-sig-ME] convergence issues in multivariate mixed-model in lme

David Villegas Ríos chirleu at gmail.com
Thu Jun 25 14:39:50 CEST 2015


Dear list,

This question builds on a question posted some days ago:
https://stat.ethz.ch/pipermail/r-sig-mixed-models/2015q2/023697.html

I'm attempting to fit a multivariate mixed-model. MCMCglmm can do the job
pretty well, but I have strong temporal autocorrelation in my residuals,
which cannot be accounted for in MCMCglmm. So I'm trying in lme.

My dataset includes 274 individuals for which a total of 8 traits were
measured on a monthly basis until they died. The total study period covers
three years, but each individual was only monitored several months within
that period (mean=8 months, this is 8 replicates).

Following the suggestions by Thierry in my previous question, I built this
model:

model=lme(value~trait-1,data=longtwo,random=~trait-1|id,weights=varIdent(form=~1|trait),correlation=corAR1(form=~tim|id/trait))

I'm trying to run it in an increase order of complexity, this is, first I
try with two traits (bivariate model), then three traits, and so on until I
get convergence problems. Ideally, I'd like to include all my 8 traits in
the model, as I was able to do that in MCMCglmm. But I guess this is not
possible.

My objective is to get the variance-covariance matrices at the residual
(within individual) and random (among-individual) levels. I want to fit the
equivalent to "us" structure in MCMCglmm. This is, unstructured (all
covariances are estimated).

My problem: the model only runs with two traits. When I include three, I
get an error. Code:

# runs ok with two traits
datatwo=data[data$trait=="trait1"|data$trait=="trait2",]
mod2=lme(value~trait-1,data=datatwo,random=~trait-1|id,weights=varIdent(form=~1|trait),correlation=corAR1(form=~tim|id/trait))
summary(mod2)

# doesn't converge with these three traits
datathree=data[data$trait=="trait2"|data$trait=="trait3"|data$trait=="trait8",]
mod3=lme(value~trait-1,data=datathree,random=~trait-1|id,weights=varIdent(form=~1|trait),correlation=corAR1(form=~tim|id/trait))

Error in lme.formula(value ~ trait - 1, data = datathree, random = ~trait -
 :
  nlminb problem, convergence error code = 1
  message = iteration limit reached without convergence (10)

Increasing maxIter to 200 does not solve the problem

My questions:
1- Assuming that the model is correctly specified, is this lack of
convergence normal/expected? I was hoping that the model could converge
with 3-4-5 traits assuming that I have a quite large dataset with many
replicates per individual.
2- Assuming that lme cannot do the job (convergence problems), what would
be the best alternative knowing that temporal autocorrelation has to be
accounted for? Thierry suggested INLA, any other option?
3- In case I manage to run the models in lme, how can I extract the
variance-covariance matrices at both levels (residual and random)?

Data is available here:
https://drive.google.com/file/d/0B8zYlm7MEMdfUG1fejdlOHA4ZFk/view?usp=sharing

Thanks a lot!

	[[alternative HTML version deleted]]



More information about the R-sig-mixed-models mailing list