Skip to content

Commit

Permalink
Update glm robust with outliers and add extra dependency template (#249)
Browse files Browse the repository at this point in the history
* bundle of changes

* black

* black

* fix references

* some visual improvements to plots

* activate codeautolink

* fix typo

* fix formatting of conclusions

* try fixing build

* update template and contributing

* try reactivating codeautolink

* improve extra installs template

* address comments

* remove GLM robust changes from PR
  • Loading branch information
OriolAbril authored Dec 10, 2021
1 parent 4d140ba commit 20dcbdb
Show file tree
Hide file tree
Showing 8 changed files with 674 additions and 742 deletions.
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Please let us know if the reviews are unclear or the recommended next step seems
if you would like help in addressing a reviewer's comments,
or if you have been waiting too long to hear back on your PR. -->

+ [ ] Notebook follows style guide https://github.com/pymc-devs/pymc/wiki/PyMC-Jupyter-Notebook-Style-Guide
+ [ ] Notebook follows style guide https://docs.pymc.io/en/latest/contributing/jupyter_style.html
+ [ ] PR description contains a link to the relevant issue: a tracker one for existing notebooks or a proposal one for new notebooks


Expand Down
5 changes: 4 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,13 @@ Therefore, all notebooks will be progressively updated along this path:

```
/ --> General updates -- \
To Do --< >--> Best Practices (--> v4)
To Do --< >--> Best Practices --> v4
\ --> ArviZ -- /
```

See https://github.com/pymc-devs/pymc-examples/wiki/Notebook-updates-overview for a more detailed
description of what each of the statuses mean.

Each pull request should update a single notebook 1-2 positions to the right.
Before starting a work on a pull request look at the tracker issue of the
notebook you are planning to edit to make sure it is not being updated by someone
Expand Down
11 changes: 11 additions & 0 deletions examples/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
".DS_Store",
"*import_posts*",
"**/.ipynb_checkpoints/*",
"extra_installs.md",
"page_footer.md",
]


Expand Down Expand Up @@ -104,13 +106,22 @@
blog_baseurl = "https://examples.pymc.io"
blog_title = "PyMC Examples"
blog_path = "blog"
blog_authors = {
"contributors": ("PyMC Contributors", "https://docs.pymc.io"),
}
blog_default_author = "contributors"
fontawesome_included = True
# post_redirect_refresh = 1
# post_auto_image = 1
# post_auto_excerpt = 2

# MyST config
myst_enable_extensions = ["colon_fence", "deflist", "dollarmath", "amsmath", "substitution"]
myst_substitutions = {
"pip_dependencies": "{{ extra_dependencies }}",
"conda_dependencies": "{{ extra_dependencies }}",
"extra_install_notes": "",
}
jupyter_execute_notebooks = "off"

# bibtex config
Expand Down
38 changes: 38 additions & 0 deletions examples/extra_installs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
:::{attention}
This notebook uses libraries that are not PyMC dependencies
and therefore need to be installed specifically to run this notebook.
Open the dropdown below for extra guidance.
:::

::::::{dropdown} Extra dependencies install instructions
:icon: package-dependencies
In order to run this notebook (either locally or on binder) you won't only
need a working PyMC installation with all optional dependencies,
but also to install some extra dependencies.
For advise on installing PyMC itself, please refer to {ref}`pymc:installation`

You can install these dependencies with your preferred package manager, we provide
as an example the pip and conda commands below.

> $ pip install {{ pip_dependencies }}
Note that if you want (or need) to install the packages from inside the notebook instead
of the command line, you can install
the packages by running a variation of the pip command:

> import sys
>
> !{sys.executable} -m pip install {{ pip_dependencies }}
You should not run `!pip install` as it might install the package in a different
environment and not be available from the Jupyter notebook even if installed.

Another alternative is using conda instead:

> $ conda install {{ conda_dependencies }}
when installing scientific python packages with conda,
we recommend using [conda forge](https://conda-forge.org/index.html)

{{ extra_install_notes }}
::::::
1,146 changes: 492 additions & 654 deletions examples/generalized_linear_models/GLM-robust-with-outlier-detection.ipynb

Large diffs are not rendered by default.

7 changes: 3 additions & 4 deletions examples/getting_started.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,9 @@
"source": [
"## Installation\n",
"\n",
"----\n",
"**Note:** These instructions are out of date, and no longer correct. Please see the [Installation instructions](https://github.com/pymc-devs/pymc3#Installation) on the [GitHub site for PyMC3](https://github.com/pymc-devs/pymc3).\n",
"\n",
"----\n",
":::{caution}\n",
"These instructions are out of date, and no longer correct. Please see the [Installation instructions](https://github.com/pymc-devs/pymc3#Installation) on the [GitHub site for PyMC3](https://github.com/pymc-devs/pymc3).\n",
":::\n",
"\n",
"Running PyMC3 requires a working Python interpreter, either version 2.7 (or more recent) or 3.5 (or more recent); we recommend that new users install version 3.5. A complete Python installation for Mac OSX, Linux and Windows can most easily be obtained by downloading and installing the free [`Anaconda Python Distribution`](https://store.continuum.io/cshop/anaconda/) by ContinuumIO. \n",
"\n",
Expand Down
201 changes: 122 additions & 79 deletions examples/references.bib
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
@misc{carpenter2016hierarchical,
title={Hierarchical partial pooling for repeated binary trials},
author={Carpenter, Bob and Gabry, J and Goodrich, B},
year={2016},
publisher={Technical report. Retrieved from https://mc-stan. org/users/docum entat ion~…}
}

@article{efron1975data,
title={Data analysis using Stein's estimator and its generalizations},
author={Efron, Bradley and Morris, Carl},
journal={Journal of the American Statistical Association},
volume={70},
number={350},
pages={311--319},
year={1975},
publisher={Taylor \& Francis}
}

@book{gelman2006data,
title={Data analysis using regression and multilevel/hierarchical models},
author={Gelman, Andrew and Hill, Jennifer},
Expand All @@ -16,6 +34,25 @@ @article{gelman2006multilevel
publisher={Taylor \& Francis}
}

@article{gelman2008scaling,
title={Scaling regression inputs by dividing by two standard deviations},
author={Gelman, Andrew},
journal={Statistics in medicine},
volume={27},
number={15},
pages={2865--2873},
year={2008},
publisher={Wiley Online Library},
doi={10.1002/sim.3107}
}

@book{gelman2013bayesian,
title={Bayesian Data Analysis},
publisher={Chapman and Hall/CRC},
author={Gelman, Andrew and Carlin, John B. and Stern, Hal S. and Dunson, David B. and Vehtari, Aki and Rubin, Donald B.},
year={2013}
}

@article{goldberg2001eigentaste,
author = {Ken Goldberg and Theresa Roeder and Chris Perkins},
title = {Eigentaste: A Constant Time Collaborative Filtering Algorithm},
Expand All @@ -37,19 +74,47 @@ @misc{harper2015movielens
url={https://doi.org/10.1145/2827872}
}

@article{koren2009matrixfactorization,
author={Koren, Yehuda and Bell, Robert and Volinsky, Chris},
journal={Computer},
title={Matrix Factorization Techniques for Recommender Systems},
year={2009},
volume={42},
number={8},
pages={30--37},
@misc{hogg2010data,
title={Data analysis recipes: Fitting a model to data},
author={David W. Hogg and Jo Bovy and Dustin Lang},
year={2010},
eprint={1008.4686},
archivePrefix={arXiv},
primaryClass={astro-ph.IM}
}

@book{ivezić2014astroMLtext,
author = {Željko Ivezić and Andrew J. Connolly and Jacob T. VanderPlas and Alexander Gray},
doi = {10.1515/9781400848911},
title = {Statistics, Data Mining, and Machine Learning in Astronomy: A Practical Python Guide for the Analysis of Survey Data},
year = {2014},
publisher = {Princeton University Press},
ISBN = {9781400848911}
}

@book{james2021statisticallearning,
title={An Introduction to Statistical Learning},
author={James, Gareth ad Witten, Daniela and Hastie, Trevor and Tibshirani, Robert},
year={2021},
publisher={Springer},
doi={https://doi.org/10.1007/978-1-0716-1418-1},
issn={1431-875X},
isbn={978-1-0716-1420-4}
}

@article{koren2009matrixfactorization,
author={Koren, Yehuda and Bell, Robert and Volinsky, Chris},
journal={Computer},
title={Matrix Factorization Techniques for Recommender Systems},
year={2009},
volume={42},
number={8},
pages={30--37},
doi={10.1109/MC.2009.263}
}

@misc{kingma2014autoencoding,
title={Auto-Encoding Variational Bayes},
title={Auto-Encoding Variational Bayes},
author={Diederik P Kingma and Max Welling},
year={2014},
eprint={1312.6114},
Expand All @@ -58,61 +123,14 @@ @misc{kingma2014autoencoding
}

@misc{kucukelbir2015automatic,
title={Automatic Variational Inference in Stan},
title={Automatic Variational Inference in Stan},
author={Alp Kucukelbir and Rajesh Ranganath and Andrew Gelman and David M. Blei},
year={2015},
eprint={1506.03431},
archivePrefix={arXiv},
primaryClass={stat.ML}
}

@book{mcelreath2018statistical,
title={Statistical rethinking: A Bayesian course with examples in R and Stan},
author={McElreath, Richard},
year={2018},
publisher={Chapman and Hall/CRC}
}

@misc{mnih2013playing,
title={Playing Atari with Deep Reinforcement Learning},
author={Volodymyr Mnih and Koray Kavukcuoglu and David Silver and Alex Graves and Ioannis Antonoglou and Daan Wierstra and Martin Riedmiller},
year={2013},
eprint={1312.5602},
archivePrefix={arXiv},
primaryClass={cs.LG}
}

@article{silver2016masteringgo,
title={Mastering the game of Go with deep neural networks and tree search},
author={D. Silver, A. Huang, C. Maddison et al.},
journal={Nature},
volume={529},
pages={484--489},
year={2016},
url={https://doi.org/10.1038/nature16961}
}

@book{james2021statisticallearning,
title={An Introduction to Statistical Learning},
author={James, Gareth ad Witten, Daniela and Hastie, Trevor and Tibshirani, Robert},
year={2021},
publisher={Springer},
doi={https://doi.org/10.1007/978-1-0716-1418-1},
issn={1431-875X},
isbn={978-1-0716-1420-4}
}

@book{wilkinson2005grammar,
title={The Grammar of Graphics},
author={Wilkinson, Leland},
year={2005},
publisher={Springer},
doi={https://doi.org/10.1007/0-387-28695-0},
issn={1431-8784},
isbn={978-0-387-24544-7}
}


@article{lewandowski2009generating,
title={Generating random correlation matrices based on vines and extended onion method},
author={Lewandowski, Daniel and Kurowicka, Dorota and Joe, Harry},
Expand All @@ -124,6 +142,13 @@ @article{lewandowski2009generating
publisher={Elsevier}
}

@book{mcelreath2018statistical,
title={Statistical rethinking: A Bayesian course with examples in R and Stan},
author={McElreath, Richard},
year={2018},
publisher={Chapman and Hall/CRC}
}

@inproceedings{mnih2008advances,
title={Probabilistic Matrix Factorization},
author={Mnih, Andriy and Salakhutdinov, Russ R},
Expand All @@ -135,6 +160,15 @@ @inproceedings{mnih2008advances
year={2008}
}

@misc{mnih2013playing,
title={Playing Atari with Deep Reinforcement Learning},
author={Volodymyr Mnih and Koray Kavukcuoglu and David Silver and Alex Graves and Ioannis Antonoglou and Daan Wierstra and Martin Riedmiller},
year={2013},
eprint={1312.5602},
archivePrefix={arXiv},
primaryClass={cs.LG}
}

@article{nowlan1992simplifying,
title={Simplifying Neural Networks By Soft Weight-Sharing},
author={Nowlan, Steven J and Hinton, Geoffrey E},
Expand All @@ -146,6 +180,7 @@ @article{nowlan1992simplifying
publisher={MIT Press}
}


@inproceedings{salakhutdinov2008bayesian,
title={Bayesian Probabilistic Matrix Factorization Using Markov Chain Monte Carlo},
author={Salakhutdinov, Ruslan and Mnih, Andriy},
Expand All @@ -155,35 +190,43 @@ @inproceedings{salakhutdinov2008bayesian
volume={25}
}

@article{silver2016masteringgo,
title={Mastering the game of Go with deep neural networks and tree search},
author={D. Silver, A. Huang, C. Maddison et al.},
journal={Nature},
volume={529},
pages={484--489},
year={2016},
url={https://doi.org/10.1038/nature16961}
}

@misc{szegedy2014going,
title={Going Deeper with Convolutions},
title={Going Deeper with Convolutions},
author={Christian Szegedy and Wei Liu and Yangqing Jia and Pierre Sermanet and Scott Reed and Dragomir Anguelov and Dumitru Erhan and Vincent Vanhoucke and Andrew Rabinovich},
year={2014},
eprint={1409.4842},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{carpenter2016hierarchical,
title={Hierarchical partial pooling for repeated binary trials},
author={Carpenter, Bob and Gabry, J and Goodrich, B},
year={2016},
publisher={Technical report. Retrieved from https://mc-stan. org/users/docum entat ion~…}
}

@book{gelman2013bayesian,
title={Bayesian Data Analysis},
publisher={Chapman and Hall/CRC},
author={Gelman, Andrew and Carlin, John B. and Stern, Hal S. and Dunson, David B. and Vehtari, Aki and Rubin, Donald B.},
year={2013}

@INPROCEEDINGS{vanderplas2012astroML,
author={{Vanderplas}, J.T. and {Connolly}, A.J.
and {Ivezi{\'c}}, {\v Z}. and {Gray}, A.},
booktitle={Conference on Intelligent Data Understanding (CIDU)},
title={Introduction to astroML: Machine learning for astrophysics},
month={oct.},
pages={47 -54},
doi={10.1109/CIDU.2012.6382200},
year={2012}
}
@article{efron1975data,
title={Data analysis using Stein's estimator and its generalizations},
author={Efron, Bradley and Morris, Carl},
journal={Journal of the American Statistical Association},
volume={70},
number={350},
pages={311--319},
year={1975},
publisher={Taylor \& Francis}

@book{wilkinson2005grammar,
title={The Grammar of Graphics},
author={Wilkinson, Leland},
year={2005},
publisher={Springer},
doi={https://doi.org/10.1007/0-387-28695-0},
issn={1431-8784},
isbn={978-0-387-24544-7}
}
Loading

0 comments on commit 20dcbdb

Please sign in to comment.