How to pool BRMSfit imputed data, Mice not appropriate

I am not familiar with the missRanger package, but as long as its capable of returning its outputs as a list of data.frames (with each data.frame being one imputed dataset), the brm_multiple (Run the same brms model on multiple datasets — brm_multiple • brms) function can be used to run the same model on all imputed datasets.

The combine argument (defaults to TRUE) will merge the results, if set to FALSE, the separate results from each fit can be pooled using the combine_models function (Combine Models fitted with brms — combine_models • brms) - I think this will also work after using lapply, as in your example. See the link provided above and the brms vignette on missing data (Handle Missing Values with brms • brms).

Combining results from multiply imputed Bayesian models is basically simple - draws from the different models are simply pooled, so no need for Rubin’s rules or similar. Be aware that high Rhats may be “false positives”, as discussed in the vignette, due to some differences between the data in the different imputed datasets. If I remember correctly, brms also only uses the first fit in some functions using the fit.

Personally, I’ve previously used brm_multiple with combine = FALSE, checked adequacy of the fit and convergence in each separate dataset, and then pooled the results.

2 Likes