pymc-devs / pymc-devs/pymc-examples
Creating Distributions with `CustomDist`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 398
- Forks
- 325
- Avg merge
- 9d 15m
- Merged PRs (30d)
- 1
Description
Notebook proposal
Title: Creating Distributions with CustomDist
Why should this notebook be added to pymc-examples?
This comes up a lot on the discourse, most recently here. New users struggle with the API since it's a bit closer to pytensor than the rest of PyMC. There's also some intricacy when one doesn't go the dist kwarg route. For example, you need to know to actually write in numpy/scipy for the random method, but you cannot do that anywhere else in PyMC!
Suggested categories:
- Level: Intermediate
- Diataxis type: How-to
Related notebooks
Closest existing notebook is the black-box likelihood, but that's even more advanced than what I'm proposing.
References
CustomDist API docs are already quite nice. I just envision something a bit more hand-holding with more pictures.
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
Start by reading the existing black-box likelihood notebook, blackbox_external_likelihood_numpy.html, and the CustomDist API documentation. Use the linked Discourse example to identify the beginner pain points, then create the proposed intermediate how-to notebook with hand-holding examples and pictures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- jupyter-notebook, python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100