Skip to content

Restore MCMCChains for MCMC diagnostics and plotting #2898

Open

Description

@yebai

MCMCChains still needs better native support for DynamicPPL.VarNamedTuples, which emerged from the recent refactoring of DynamicPPL’s tracing and VarInfo machinery. That is, however, a fairly contained integration issue: the diagnostics and plotting machinery remains useful and is still relied on elsewhere in the ecosystem.

See, e.g., TuringLang/MCMCChains.jl#511 (comment) for related discussion.

For some background on how VarName and VarNamedTuple evolved, see the VarNamedTuple work in TuringLang/DynamicPPL.jl#1150, TuringLang/DynamicPPL.jl#1180, TuringLang/DynamicPPL.jl#1181, TuringLang/DynamicPPL.jl#1182, and TuringLang/DynamicPPL.jl#1183, along with the earlier VarNamedVector work in TuringLang/DynamicPPL.jl#1098.

The underlying design discussion goes back to the early days of Turing. The need to identify subsets of model variables for inference was already noticed in the 2016 interface discussion at #55, and by 2017 VarName and VarInfo were established enough that their place in the public interface was being reconsidered in #226. That lineage later led to an RFC proposing structured VarName indexing rather than strings in TuringLang/DynamicPPL.jl#49, implemented in TuringLang/DynamicPPL.jl#50; see also TuringLang/DynamicPPL.jl#528, #2423, and TuringLang/DynamicPPL.jl#416.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions