stan-dev / stan-dev/cmdstanpy

dynamic traceplot for jupyter notebooks

Open
#198 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
Python
Stars
198
Forks
81
PR merge metrics
No merged PRs in 30d

Description

Summary:

It would be super cool to provide a dynamic traceplot of the value of lp__ (total joint log probability for the model) across all chains during warmup and sampling - is this possible?

Description:

showed Andrew Gelman Colab jupyter notebooks (R version) and he asked for this dynamic visualization. we could pull this off the output files similar to the way that the tqdm progress bar monitors standard out. given the current Stan csv format, the first column is the lp__ - the total joint log probability. generally, when lp__ converges, all params have converged, conversely, if any params have not converged, lp__ will not converge either, so this would be good enough

we want to discourage folks from trying to monitor a particular param - there are other more appropriate tools that should be used - so simple feature - just monitor lp__ across chains!

Additional Information:
Current Version:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing how the tqdm progress bar monitors standard output and how Stan CSV output files expose lp__ across chains. Define the notebook-facing behavior for a dynamic lp__ trace during warmup and sampling; done means the visualization updates across chains without monitoring individual parameters.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
data-visualization, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.