Uqlab didnot call all chains to do loglikelihood evaluation at the same time?

Hi, everyone!

Thank you for the wonderful UQ package and the latest 2.1 version.

When i was handling with the custom-defined loglikelihood, i put a pause inside the loglikelihood function. So I can see how many times UQlab do the LL evaluation. An interesting thing i notice is that UQlab only do the all chains’ parallel LL evolutions at the initial step. But after that, UQlab call the LL one by one.

For example,

I expect UQlab will call LL 3 times. But actually UQlab call LL 7 times.

And i tried the examples UQlab provided and still same. So I am just curious about this. Is this normal?

Best,
Ningxin

Hi @ny123 ,

Thanks a lot for your question!

I assume that you were running an MCMC solver with an AIES sampler. We use the original implementation of this sampler (Goodman and Weare (2010)), which is not vectorized along the chains. AIES is intended for models that are expensive to calculate, and therefore, there is no need for vectorization. The other samplers available (Metropolis-Hastings algorithm: ‘MH’, Adaptive Metropolis algorithm: ‘AM’, or Hamiltonian Monte Carlo algorithm: ‘HMC’) are vectorized instead.

If you have any further questions, feel free to ask!

Best regards
Adela

1 Like

Thank you @Adela

Yes, i was using MCMC with AIES sampler. Your answer totally solved my confusion.

Have a nice day!

Best,
Ningxin

1 Like