I am trying for some time now to use the pymc3 and the hmc sampler in order to create a posterior sample of some model parameters.
My model takes a bunch of imput parameters, all of them initialized via pm.Uniform(…).
The problem is, they have different ranges (expected sigma of 0.01 for parameter A vs. 5.0 for parameter B).
I can provide a guess of the parameter covariance matrix
What is the proper way to initialize the sampler in this case? How do I make the sampler move in both dimensions according to its scaling?
At the moment i try something like this:
step = pm.HamiltonianMC(scaling = Cov[::-1,::-1], is_cov = False, . . . )
(I discovered that it inverts the variable order during initialization, thus the [::-1,::-1])
I would really appreciate if someone could help me out and tell me, what the proper way is to do something like that.