The typical set and its relevance to Bayesian computation

I’ve had this idea going around in my head for a while:

suppose you have a unimodal distribution. you find a single point inside the set of x such that log(p(x)) > E(lp) - dlp

now, sample from the following piecewise deterministic stochastic process:

choose a direction v at random, step the point forward as x(t) = x(t-1) + v*dt until you step outside the region. then go back to the last spot and choose a new velocity until the next point stays in the region… just continue doing this forever. record every nth step.

this should sample from the distribution “uniform on the set x such that p(x) > exp(mean(lp)-dlp)”

in dimensions more than around 25 or so, this distribution is a very good approximation to p(x). in dimensions higher than say a few hundred it’s as close as makes no difference

if you in addition take your sample and equilibrate it with a post-processing step of diffusive Metropolis Hastings, you get a sample from p(x) after not too much MH even for dimensions like 10. it may not be great for dimensions like 3 but the diffusive MH correction will work even there.

now, zero derivatives are required. the big problem with this sampler is the same as HMC where it can’t sample into or across funnely bits.

I have a very simple version of this written in Julia. anyone want to suggest a good sample problem for this sampler?

Btw I call it the white box sampler. its basically sampling from the distribution of positions for photons bouncing around inside a white-painted box.