pymc-devs/pymc-examples

Update example notebooks for better rendering

Open

#394 opened on Jul 9, 2022

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Python (322 forks)github user discovery
good first issuehelp wanted

Repository metrics

Stars
 (387 stars)
PR merge metrics
 (PR metrics pending)

Description

NOTE

This issue is reserved for the #DataUmbrellaPyMCSprint

References

List of PyMC Example Notebooks that Need to be Updated

examples/case_studies

KeyError: "Dimensions {'obs'} are unknown to the model and cannot be used to specify a `shape`."

examples/diagnostics_and_criticism

examples/generalized_linear_models

ImportError: This function requires the python library graphviz, along with binaries. The easiest way to install all of this is by running

	conda install -c conda-forge python-graphviz
TypeError: You are calling an Aesara function with PyTensor variables.
Starting with PyMC 5.0, Aesara was replaced by PyTensor (see https://www.pymc.io/blog/pytensor_announcement.html).
Replace your import of aesara.tensor with pytensor.tensor.

examples/howto

examples/survival_analysis

Set-up Instructions

  1. Fork and clone this repository; set upstream remote, etc.
  2. A virtual environment should be set up and the packages in requirements.txt should be installed.
  3. Use a feature branch git checkout -b nb_feature_branch
  4. Reminder: sync the repo

Notes for Updating Notebook

  1. Update First Cell.
  2. For tags, see options in current notebook tags
  3. Update Last Cell.
  4. Optional: Go through Jupyter style guide and make other updates.
  5. For authorship of notebooks, we can search in the "pymc" repo pymc closed pull requests.
  6. Check that all links work in the notebook
  7. Replace mentions of "PyMC3" to "PyMC"
  8. Watermark: Add a Markdown cell for ## Watermark
  9. References can be found in examples/references.bib
  10. REMINDER: Rerun full notebook before submitting a PR or creating the myst file.
  11. Run pre-commit (pre-commit run --all)
  12. Example of description text for PR: https://github.com/pymc-devs/pymc-examples/pull/402

References

Note: pymc-examples#8

* Moved from pymc to pymc-examples repo in December 2020 ([pymc-examples#8](https://github.com/pymc-devs/pymc-examples/pull/8))

Examples of references

Example 1: [ArviZ's naming convention](https://arviz-devs.github.io/arviz/schema/schema.html#sample-stats)

{ref}`ArviZ's naming convention <arviz:schema>`

Example 2: [check this page](https://docs.pymc.io/api/inference.html#module-pymc3.step_methods.hmc.nuts)

{class}`pymc.NUTS`

FAQs

Syncing Repo (via @symeneses)

# update you main branch
git checkout main
git fetch upstream
git rebase upstream/main

# update your branch
git checkout feature
git rebase origin/main

Running pre-commit

(Sandra notes)

  • Stage the notebook (git commit -m 'message')
  • Run pre-commit, this will create the .myst file (pre-commit run --all)
  • git status ==> you will now see a .myst file created
  • Stage the .myst file (git commit -am 'adding myst file')
  • Run pre-commit and tests should now pass (pre-commit run --all)
  • Push changes: git push origin branch_name

There already is a "I will work on this" comment on the issue

If the issue is more than 3 months old, you can ignore that message and comment yourself you plan to work on that issue.

Contributor guide