Using a Multivariate Normal as a prior

I think I’ve answered my own question with some simple experimentation. I can do, e.g.:

with pm.Model() as model:
    var = pm.MvNormal('var', mu=[0., 5.], cov=np.array(([1., 0.5], [0.5, 1.0])), shape=2)
    m = var[0]
    c = var[1]
    model = pm.Normal('model', mu=m*x + c, sd=1., observed=data)
    trace = pm.sample()

and trace['var'] contains an array sampled over both variables.

2 Likes