Skip to content

Commit

Permalink
start populating references
Browse files Browse the repository at this point in the history
  • Loading branch information
elizavetasemenova committed Nov 21, 2024
1 parent a052d64 commit 7943fdb
Show file tree
Hide file tree
Showing 8 changed files with 1,173 additions and 1,113 deletions.
7 changes: 6 additions & 1 deletion 06_Monte_Carlo.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"source": [
"# The Monte Carlo method\n",
"\n",
"The Monte Carlo method is a computational technique that uses <font color='orange'>random sampling</font> to estimate complex mathematical outcomes or solve problems that might be <font color='orange'>deterministic</font> in nature.\n",
"The Monte Carlo {cite}`metropolis1949monte, robert1999monte` method is a computational technique that uses <font color='orange'>random sampling</font> to estimate complex mathematical outcomes or solve problems that might be <font color='orange'>deterministic</font> in nature.\n",
"\n",
"The name “Monte Carlo” for the Monte Carlo methods has an origin that ties back to the famous Monte Carlo Casino located in Monaco. This name was not chosen because of any direct association with the mathematical principles behind these methods, but rather for its metaphorical connection to randomness and chance, which are central elements in both gambling and Monte Carlo simulations.\n",
"\n",
Expand Down Expand Up @@ -449,6 +449,11 @@
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down
4 changes: 2 additions & 2 deletions 07_MCMC.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"source": [
"## Metropolis-Hastings algorithm\n",
"\n",
"The Metropolis-Hastings algorithm is particularly useful when direct sampling from the distribution is difficult or impossible, but evaluating the probability density function (PDF) up to a constant of proportionality is feasible. It's useful for sampling from <font color='orange'>high-dimensional</font>, complex distributions. The algorithm iteratively generates samples from a target distribution by constructing a Markov chain.\n",
"The Metropolis-Hastings algorithm {cite}`robert2004metropolis` is particularly useful when direct sampling from the distribution is difficult or impossible, but evaluating the probability density function (PDF) up to a constant of proportionality is feasible. It's useful for sampling from <font color='orange'>high-dimensional</font>, complex distributions. The algorithm iteratively generates samples from a target distribution by constructing a Markov chain.\n",
"\n",
"Let $\\pi(x)$ be the target probability density function (pdf) from which we want to sample. The steps of the Metropolis-Hastings algorithm are as follows:\n",
"\n",
Expand Down Expand Up @@ -615,7 +615,7 @@
"source": [
"## Hamiltonian Monte Carlo\n",
"\n",
"Hamiltonian Monte Carlo algorithm introduces gradient information in improving efficiency on the proposals and reduce random walk behavior of the sampling. The gradients help the algorithm to find high probability states. HMC can potentially improve sampling efficiently, but the gradients of the distribution need to be tractable. Additional parameters need to be tuned, which makes its implementation more difficult than other MCMC methods. However, methods have been developed for automatic adaptation of the parameters, such as no-U-turn sampler (NUTS)."
"Hamiltonian Monte Carlo {cite}`betancourt2017conceptual` algorithm introduces gradient information in improving efficiency on the proposals and reduce random walk behavior of the sampling. The gradients help the algorithm to find high probability states. HMC can potentially improve sampling efficiently, but the gradients of the distribution need to be tractable. Additional parameters need to be tuned, which makes its implementation more difficult than other MCMC methods. However, methods have been developed for automatic adaptation of the parameters, such as no-U-turn sampler (NUTS)."
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion 09_intro_to_Numpyro.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"source": [
"# Introduction to NumPyro\n",
"\n",
"[NumPyro](https://num.pyro.ai/en/latest/index.html#) is a probabilistic programming library that combines the flexibility of `numpy` with the probabilistic modeling capabilities of `pyro`, making it an excellent choice for researchers and data scientists. In this introductory tutorial, we'll explore the basics of `numpyro` and how to get started with probabilistic programming in a hands-on manner."
"[NumPyro](https://num.pyro.ai/en/latest/index.html#) {cite}`phan2019composable,bingham2019pyro` is a probabilistic programming library that combines the flexibility of `numpy` with the probabilistic modeling capabilities of `pyro`, making it an excellent choice for researchers and data scientists. In this introductory tutorial, we'll explore the basics of `numpyro` and how to get started with probabilistic programming in a hands-on manner."
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion 09a_JAX_patterns.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"source": [
"# JAX patterns\n",
"\n",
"Since Numpyro uses JAX as a backend, it is important to know how to work with JAX efficiently. JAX is a high-performance numerical computing library designed for machine learning research, which leverages XLA (Accelerated Linear Algebra) for optimizing and compiling numerical computations. This combination enables JAX to efficiently execute large-scale mathematical operations on hardware accelerators, boosting performance and scalability."
"Since Numpyro uses JAX {cite}`jax2018github` as a backend, it is important to know how to work with JAX efficiently. JAX is a high-performance numerical computing library designed for machine learning research, which leverages XLA (Accelerated Linear Algebra) for optimizing and compiling numerical computations. This combination enables JAX to efficiently execute large-scale mathematical operations on hardware accelerators, boosting performance and scalability."
]
},
{
Expand Down
2,196 changes: 1,089 additions & 1,107 deletions 11_Bayesian_workflow.ipynb

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions 999_bibliography.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Bibilography

```{bibliography}
```
3 changes: 2 additions & 1 deletion _toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,5 @@ chapters:
- file: 22_ODEs.ipynb
- file: 23_ID_modelling.ipynb
- file: 24_other.ipynb
- file: 999_acknowledgements.md
- file: 999_acknowledgements.md
- file: 999_bibliography.md
68 changes: 68 additions & 0 deletions assets/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,72 @@ @article{gelman2020bayesian
author={Gelman, Andrew and Vehtari, Aki and Simpson, Daniel and Margossian, Charles C and Carpenter, Bob and Yao, Yuling and Kennedy, Lauren and Gabry, Jonah and B{\"u}rkner, Paul-Christian and Modr{\'a}k, Martin},
journal={arXiv preprint arXiv:2011.01808},
year={2020}
}

@article{metropolis1949monte,
title={The monte carlo method},
author={Metropolis, Nicholas and Ulam, Stanislaw},
journal={Journal of the American statistical association},
volume={44},
number={247},
pages={335--341},
year={1949},
publisher={Taylor \& Francis}
}

@misc{robert1999monte,
title={Monte Carlo Statistical Methods},
author={Robert, CP},
year={1999},
publisher={Springer-Verlag New York}
}

@article{robert2004metropolis,
title={The metropolis—hastings algorithm},
author={Robert, Christian P and Casella, George and Robert, Christian P and Casella, George},
journal={Monte Carlo statistical methods},
pages={267--320},
year={2004},
publisher={Springer}
}

@article{betancourt2017conceptual,
title={A conceptual introduction to Hamiltonian Monte Carlo},
author={Betancourt, Michael},
journal={arXiv preprint arXiv:1701.02434},
year={2017}
}

@article{phan2019composable,
title={Composable Effects for Flexible and Accelerated Probabilistic Programming in NumPyro},
author={Phan, Du and Pradhan, Neeraj and Jankowiak, Martin},
journal={arXiv preprint arXiv:1912.11554},
year={2019}
}

@article{bingham2019pyro,
author = {Eli Bingham and
Jonathan P. Chen and
Martin Jankowiak and
Fritz Obermeyer and
Neeraj Pradhan and
Theofanis Karaletsos and
Rohit Singh and
Paul A. Szerlip and
Paul Horsfall and
Noah D. Goodman},
title = {Pyro: Deep Universal Probabilistic Programming},
journal = {J. Mach. Learn. Res.},
volume = {20},
pages = {28:1--28:6},
year = {2019},
url = {http://jmlr.org/papers/v20/18-403.html}
}

@misc{jax2018github,
author = {James Bradbury and Roy Frostig and Peter Hawkins and Matthew James Johnson and Chris Leary and Dougal Maclaurin and George Necula and Adam Paszke and Jake Vander{P}las and Skye Wanderman-{M}ilne and Qiao Zhang},
title = {{JAX}: composable transformations of {P}ython+{N}um{P}y programs},
url = {http://github.com/jax-ml/jax},
version = {0.3.13},
year = {2018},
}

0 comments on commit 7943fdb

Please sign in to comment.