pymc-devs / pymc-devs/pymc-examples

Creating Distributions with `CustomDist`

Open
#767 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

hackathon proposal
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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.