Hi David, there are couple of ways you can try. I am not sure which way is the best, as we are still experimenting with them.
-
using Normalizing Flow to introduce a low rank correlation, details here: http://docs.pymc.io/notebooks/normalizing_flows_overview.html#Full-Rank-Normal-connectivity
-
using the Grouped Approximation http://docs.pymc.io/api/inference.html#pymc3.variational.opvi.Group
The idea here is to put part of the latent RVs into a FullRank Group, and the rest into a meanfield Group
cc @ferrine