Does STAN already have Riemannian HMC?


#1

I saw Michael Betancourt’s talk yesterday where he seems to be claiming that STAN has a “turnkey” RHMC and explained it’s benefits, so I though that it’s time to give it a shot. However when I started reading the manual it seemed to me(from the introductory chapters) that it’s not quite there yet. Additionally there’s this topic hinting that it’s not yet usable.

Hence my question: will the model be sampled with RHMC sampler or something else if I code it?


#2

Not currently.


#3

I said “is being developed”, not “is available”. In fact a full implementation of RHMC is in the Stan code base, but the automatic differentiation has not yet be generalized to the point where it can be exposed to users.


#4

are u aware of people besides yourself who have used the current implementation? Is something known how well they were able to deal with the current state of affairs?

I am asking as RHMC could be already now interesting to use for those hierarchical models which we want to fit and the model is simple, but the data very sparse. In that case the higher order AD may already work sufficiently well. Of course, until we release it, this would be super experimental and on everyone’s own risk…


#5

@betanalpha, @bgoodri Thanks for the info.


#6

It actually is available in the C++ of stan-dev/stan, but not through any of the interfaces. I doubt there are services-level wrappers, either, so you’d have to follow the tests to try to run it.

The automatic differentiation has been generalized appropriately, just not tested thoroughly enough for us to trust all the multivariate operations.