Include known responses to predict from multivariate model

Hi everybody!
First of all thanks for developing and supporting stan and in particular brms! I am developing a multivariate model, with the idea that most of my responses are biologically correlated. To do so my formula is something like:
formula <- mvbind(trait1, trait2 , trait3) ~ Clim + elevation + (1 | gr(taxa))

fit <- brm(bf(formula) + set_rescor(T), data = train_data, cov_ranef = list(taxa = cv_mat))

Now, I would like to test the value of using set_rescor(T) (including residuals correlations among responses) by testing whether knowing one of the responses (e.g. trait1) will reduce the uncertainty in predictions on the others (trait2 and trait3), on held out data.

I thought that using predict and passing list(trait1=test$trait1) as new_objects would make the trick, but I am not sure it is the right way of going. What’s the proper way to include 1/more known responses to predict other responses in a multivariate model?

I am sorry if it is a fairly naive question, but I couldn’t find much surfing around.
Have a great day,

Please also provide the following information in addition to your question:

  • Operating System: MacOS Mojave or
  • brms Version: 2.8.0

This will unfortunately not work. If you want to use on of these variables in the prediction of the others, you have to use the former as a predictor.

Thanks Paul,
correct me if I am wrong, that means that if I want to do that I need to build a new model with trait1 as an additional predictor, right? I thought in concept that marginalizing the model on trait1 would somehow constrain the “space” in which trait2 and 3 could be predicted.
I apologize for the confusion in my head :)

Thanks again, and thank you so much for developing and supporting brms!

yes you need to fit a new model.

you are not wrong mathematically but this is just not how the brms internals work.

Ah ok, understood! Thanks!