Hello all,
I am quite new to brms and I apologise in advance for any elementary mistakes. I have a multivariate model with four dependent variables (DVs), some factors and a bunch of human participants. The DVs are different rating scales (from 1-5) based on evaluating a set of images. I also have a factorial design, such that the images fall into different categories. Below is an example model (it takes hours to build hence why I have not included a reproducible version). I only include one factor below for simplicity. I have a varying intercept for ‘item’ = the image (or stimulus) and a varying intercept and slope for participant. The model is here:
brm(mvbind(DV1, DV2, DV3, DV4) ~ 1 + factor +
(1 + factor |a|participant) +
(1|item),
data = data, family = cumulative(“probit”),
prior = priors,
iter = 6000, warmup = 1000, cores = 4, chains = 4,
control = list(adapt_delta = 0.99, max_treedepth = 15),
init_r = 0.1)
After running the model, I get the following error (error 1). Although when I look at the model, the R-Hat values seem fine.
I can see that this has been posted before: https://github.com/paul-buerkner/brms/issues/865
But, as a Brms newbie, I am not sure how to proceed. Any help would be appreciated.
Error 1.
Warning messages:
1: The largest R-hat is NA, indicating chains have not mixed.
Running the chains for more iterations may help. See
http://mc-stan.org/misc/warnings.html#r-hat
2: Bulk Effective Samples Size (ESS) is too low, indicating posterior means and medians may be unreliable.
Running the chains for more iterations may help. See
http://mc-stan.org/misc/warnings.html#bulk-ess
3: Tail Effective Samples Size (ESS) is too low, indicating posterior variances and tail quantiles may be unreliable.
Running the chains for more iterations may help. See
http://mc-stan.org/misc/warnings.html#tail-ess
The second issues concerns using reloo=TRUE. After using ‘add_criterion(model_name, “loo”)’ to the model above, there are a few observations with high pareto_k values. If I follow the printed advice and use reloo=TRUE, it runs for a bit and then returns error 2:
Error 2.
[1] “Error in sampler$call_sampler(args_list[[i]]) : Initialization failed.”
The desired updates require recompiling the model
Compiling the C++ model
recompiling to avoid crashing R session
Start sampling
error occurred during calling the sampler; sampling not done
Error: The model does not contain posterior samples.
On other models that I’ve run in the past, reloo=TRUE has worked fine. Therefore, any thoughts or advice on how to proceed would be appreciated.
Regards,
Rich
A few further things to note.
-
With test data and simpler models, I can run models fine (without errors) and reloo=TRUE also works without error. So, it seems Brms is working ok on my machine.
-
I am running brms 2.13.1 on MacOS 10.14.6