cscherrer / SampleChainsDynamicHMC.jl

MIT License
4 stars 2 forks source link

Include additional statistics in `info` #5

Open sethaxen opened 3 years ago

sethaxen commented 3 years ago

Currently DynamicHMCChain only contains in info what DynamicHMC calls tree_stats, but this is only a subset of the quantities that one might find useful for diagnosing sampling issues. In particular, DynamicHMC.MCMCSteps, which is stored in the meta field, also stores the current step size ϵ and the hamiltonian H. While it doesn't store the already-evaluated current value of the energy, this can be computed from H at minimal cost relative to that of generating a new trajectory.

Are warmup samples returned as well? If so, it would be good to have a boolean flag in the info so warmup samples can be distinguished from post-warmup samples.

So I propose that info be modified to a NamedTuple with entries step_size, energy, and tree_stats, where tree_stats points to an instance of TreeStatisticsNUTS. Or alternatively the structure is flattened to a single NamedTuple.