I’m trying to translate a non-linear mixed-effects model from nlme to brms syntax. I think I got it except for the part that specifies random effects covariance.
Here’s the nlme version:
nlme(y~c1+a*exp(-(x^2/(2*(exp(logsigma)^2)))), data = curdata, fixed = a + c1 + logsigma ~ 1, random = pdDiag(a + c1 + logsigma ~ 1), groups = ~ participant)
And here’s my take on brms syntax:
brm_hg_free_sigma_nlme<-brm(bf(y~c1+a*exp(-(x^2/(2*(exp(logsigma)^2)))), c1~1+(1|participant), logsigma~1+(1|participant), a~1+(1|participant), nl = T), prior = c(prior(student_t(2, 0, 0.5), coef = "Intercept", class = "b", nlpar = "a"), prior(student_t(4, 0, 3), coef = "Intercept", class = "b", nlpar = "c1")), data = curdata, cores = 4, save_all_pars = T, sample_prior = T, iter = 2000, warmup = 1000 )
I see that there’s a cov_ranef parameter but I don’t understand what kind of matrix it is expecting. In vignette(“brms_phylogenetics”), the covariance matrix seems to be computed based on the data, if I understand correctly, while I simply want to set a diagonal one. Is there an easy way to do it?