AdvancedMH.jl
AdvancedMH.jl copied to clipboard
Array of proposals versus proposals of arrays
It is confusing that Proposals such as StaticProposal accept arrays of proposals and one can also specify arrays of Proposals in the MetropolisHastings sampler. Would it be sufficient to only support arrays of proposals (and similar for tuples etc.)?
Yeah, that's a weird quirk of AdvancedMH's overly-permissive proposal system. If I had to pick one of these syntaxes I would prefer to do as you suggest and make Proposal require either a function or a distribution rather than allow arrays. My reasoning for this is that I absolutely love this syntax:
props = (a=StaticProposal(Normal(0,1)), b=StaticProposal(InverseGamma(2,3)))