MultivariateNormal parameter confusion


Currently sifting through the documentation, and I’m a little confused about the parameters of MultivariateNormalDiagPlusLowRank.

Typically, multivariate normals with low rank covariances are represented as follows


It looks like that is what this class is doing - but I’m a little confused by the parameter names.

Let me try to guess wha the parameters are

mu = loc
U = scale_perturb_factor
Lambda = scale_perturb_diag
sigma * I = scale_diag

Is that correct?

But then, what is scale_identity_multiplier?

EDIT: The link in question is here . Thanks for clarifying @gfeldman

P.S. The MathJax support in Discourse is pretty awesome - it would be really cool see that enabled here :slight_smile:


It looks to me like sigma is the scale_identity_multiplier. scale_diag lets you specify additional variance for each dimension.

Not sure if you’re looking at Edward or Tensorflow’s documentation here.

What helped me was looking at the dimensions of the parameters in Tensorflow’s documentation (e.g. k for the vector dimension of the random vector and r for low rank).


Looks like this is a TensorFlow question. Thanks for linking @gfeldman!