Facilitating DAGs
Nobody has claimed this yet.
- Dominant language
- R
- Stars
- 442
- Forks
- 93
- Avg merge
- 3h 11m
- Merged PRs (30d)
- 1
Description
I'm not sure that this should actually go into bayesplot but I figure the people who would be interested and able to do something like this would read bayesplot issues.
I think it would be good if we could draw Directed Acyclic Graphs (DAGs) for models that can be represented by DAGs. We can't do that just from posterior draws or even from Stan code (in general), but I hope we could render a DAG that a user expressed (or maybe generate them from syntax in brms / rstanarm / other packages).
The ggdag package is nice but is focused on identification of causal effects rather than a description of the generative process. It doesn't seem to have a great way of representing parameters, but maybe that could be added with a PR. PyMC3 recently added something like this, although I don't like some things about the formatting. I think WinBUGS established a convention of using rectangles for observables and ovals for unobservables. Also, I'm not sure I like the foo ~ Distribution being part of the node label. Maybe we could use different colors for each node and put the distributional assumptions into the key?
Anyway, if people have other ideas, we can discuss them here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file, test, entry point, input syntax, or API is specified. Start by reviewing the linked ggdag package and PyMC3 example, then clarify the proposed input representation and rendering conventions; done is not defined until the project agrees on scope and design.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- data-visualization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100