Update.
I ran a model and then used brms::add_criterion(fit, “loo”, moment_match = T, cores = 4).
This produced the following errors:
Error in checkForRemoteErrors(val) :
4 nodes produced errors; first error: could not find function “bind”
Error: Moment matching failed. Perhaps you did not set ‘save_pars = save_pars(all = TRUE)’ when fitting your model?
For the first error, I coded the bind function for my model as
bind ← function(…) cbind(…)
which I found here: Dirichlet regresion using brms - #3 by Jannik
I also found the suggestion to code bind as
bind ← cbind
from here: bind() fails with long variables names · Issue #1016 · paul-buerkner/brms · GitHub
Both codings produced the error. The function “bind” sits in my global environment so maybe add_criterion can’t find it there?
As for the second error, here is my model specification:
fit ← brms::brm(bind(cat1, cat2, cat3, cat4, cat5) ~ p1+ p2 + p3 + (1|g1) + (1|g2),
data = data, seed = 1234, control = list(max_treedepth = 15, adapt_delta = 0.99),
iter = 8000, chains = 4, cores = 4, family = “dirichlet”, save_pars = save_pars(all =
TRUE)))
It is odd that the error is asking if I set my save_pars to all = TRUE considering this issue was addressed and fixed here: Error with loo_moment_match - #18 by mattwilliamson13
Any other ideas or suggestions?