MCMCChains.jl
MCMCChains.jl copied to clipboard
There is no easy way to get a subchain with a given set of parameters
At the moment I'm using something like this:
function subchain(ch,secname,vars)
Chains(set_sections(ch,Dict(secname => vars)),secname)
end
This gets me a Chains object that I can pass to plotting and summarizing type functions without having to look at all the parameters in my models. Often I might have hundreds of nuisance parameters but might only want to summarize 5-10 important key parameters in the model.
Is there an intended way to be able to do this that I'm missing in the docs? or should we add something? It feels to me like you should probably be able to just do:
Chains(basechain,[:a,:b,:c,:d]) and get a chain with just those parameters from the basechain or something similar.
Also see discussion here: https://discourse.julialang.org/t/working-with-mcmcchains/99014
This is the default behavior when indexing into a chain, see this code.
You should very easily be able to do
chain[["parameter_1", "parameter_2"]]
Thanks Cameron. After reading the docs multiple times this never really came through as an option. How can we make this more obvious and discoverable? Perhaps especially putting it in some very obvious and early examples?
I'd love a PR on the README! Maybe towards the top of the document?
On Thu, May 18, 2023, at 7:58 PM, Daniel Lakeland wrote:
Thanks Cameron. After reading the docs multiple times this never really came through as an option. How can we make this more obvious and discoverable? Perhaps especially putting it in some very obvious and early examples?
— Reply to this email directly, view it on GitHub https://github.com/TuringLang/MCMCChains.jl/issues/420#issuecomment-1553932386, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADHITSWLHUKRO76VCENED3XG3OVXANCNFSM6AAAAAAYGVOZI4. You are receiving this because you commented.Message ID: @.***>